[Flang][Driver] Add support for option -f[no-]split-machine-functions in flang (#216637)
Added support for the `-fsplit-machine-functions` flag in the
Flang driver.
- The Flang driver forwards `-fsplit-machine-functions` to `-fc1` and
the negative flag `-fno-split-machine-functions` is used at the driver
level only.
- Flang `-fc1` driver sets `TargetOptions.EnableMachineFunctionSplitter`,
which causes LLVM's MachineFunctionSplitterPass to be added to the
codegen pipeline
[offload] Split strictness for threads and blocks (#211400)
This commit splits the strictness for the number of threads and blocks. This will be needed to support `dims` modifier in OpenMP 6.1.
[flang] Do not branch to a FORMAT statement from an assigned GO TO
Label analysis already classifies which labeled statements may be named by
a statement that branches. Record the positions of those statements in the
semantics context and consult it when lowering records the targets of an
assigned GO TO, so that a FORMAT statement is not given a target block.
A GO TO whose variable holds only a format label now reaches the run-time
error instead of branching into the FORMAT statement.
The label analysis is built once and shared: AnalyzeLabels() runs the
constraint checks first and records the branch targets only if they pass,
since a program with fatal errors is not lowered.
Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
msun: Fix a typo in a source code comment
- s/uneccessarily/unnecessarily/
Obtained from: NetBSD
(cherry picked from commit cd4aae2fa9d35015248c445752e23800e75e8517)
msun: Fix a typo in a source code comment
- s/uneccessarily/unnecessarily/
Obtained from: NetBSD
(cherry picked from commit cd4aae2fa9d35015248c445752e23800e75e8517)