[flang-commits] [clang] [flang] [flang][OpenMP] Add -f[no]-openmp-simd (PR #150269)
Kajetan Puchalski via flang-commits
flang-commits at lists.llvm.org
Thu Jul 24 11:11:13 PDT 2025
================
@@ -3706,14 +3706,19 @@ def fopenmp_relocatable_target : Flag<["-"], "fopenmp-relocatable-target">,
def fnoopenmp_relocatable_target : Flag<["-"], "fnoopenmp-relocatable-target">,
Group<f_Group>, Flags<[NoArgumentUnused, HelpHidden]>,
Visibility<[ClangOption, CC1Option]>;
-def fopenmp_simd : Flag<["-"], "fopenmp-simd">, Group<f_Group>,
- Flags<[NoArgumentUnused]>, Visibility<[ClangOption, CC1Option]>,
- HelpText<"Emit OpenMP code only for SIMD-based constructs.">;
+def fopenmp_simd : Flag<["-"], "fopenmp-simd">,
+ Group<f_Group>,
+ Flags<[NoArgumentUnused]>,
+ Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>,
+ HelpText<"Emit OpenMP code only for SIMD-based constructs.">;
def fopenmp_enable_irbuilder : Flag<["-"], "fopenmp-enable-irbuilder">, Group<f_Group>,
Flags<[NoArgumentUnused, HelpHidden]>, Visibility<[ClangOption, CC1Option]>,
HelpText<"Use the experimental OpenMP-IR-Builder codegen path.">;
-def fno_openmp_simd : Flag<["-"], "fno-openmp-simd">, Group<f_Group>,
- Flags<[NoArgumentUnused]>, Visibility<[ClangOption, CC1Option]>;
+def fno_openmp_simd
+ : Flag<["-"], "fno-openmp-simd">,
+ Group<f_Group>,
+ Flags<[NoArgumentUnused]>,
+ Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>;
----------------
mrkajetanp wrote:
Oh no worries at all, I was very confused by this until I started comparing the assembly emitted by clang and gfortran. If the flag is passed on its own, then no. 1 is true, just as if the flag was not passed at all. As in:
* `flang -fopenmp foo.f90` - All OpenMP
* `flang -fno-openmp foo.f90` - No OpenMP
* `flang -fopenmp-simd foo.f90` - Only SIMD
* `flang -fno-openmp-simd foo.f90` - No OpenMP
* `flang -fopenmp -fopenmp-simd foo.f90` - All OpenMP
* `flang -fopenmp -fno-openmp-simd foo.f90` - All OpenMP
* `flang -fno-openmp -fno-openmp-simd foo.f90` - No OpenMP
https://github.com/llvm/llvm-project/pull/150269
More information about the flang-commits
mailing list