@@ -2145,18 +2145,24 @@ def fopenmp_EQ : Joined<["-"], "fopenmp=">, Group<f_Group>;
2145
2145
def fopenmp_use_tls : Flag<["-"], "fopenmp-use-tls">, Group<f_Group>,
2146
2146
Flags<[NoArgumentUnused, HelpHidden]>;
2147
2147
def fnoopenmp_use_tls : Flag<["-"], "fnoopenmp-use-tls">, Group<f_Group>,
2148
- Flags<[CC1Option, NoArgumentUnused, HelpHidden]>;
2148
+ Flags<[CC1Option, NoArgumentUnused, HelpHidden]>,
2149
+ MarshallingInfoNegativeFlag<LangOpts<"OpenMPUseTLS">, !strconcat("(bool)", fopenmp.KeyPath)>,
2150
+ ShouldParseIf<fopenmp.KeyPath>;
2149
2151
def fopenmp_targets_EQ : CommaJoined<["-"], "fopenmp-targets=">, Flags<[NoXarchOption, CC1Option]>,
2150
2152
HelpText<"Specify comma-separated list of triples OpenMP offloading targets to be supported">;
2151
2153
def fopenmp_relocatable_target : Flag<["-"], "fopenmp-relocatable-target">,
2152
2154
Group<f_Group>, Flags<[CC1Option, NoArgumentUnused, HelpHidden]>;
2153
2155
def fnoopenmp_relocatable_target : Flag<["-"], "fnoopenmp-relocatable-target">,
2154
2156
Group<f_Group>, Flags<[CC1Option, NoArgumentUnused, HelpHidden]>;
2155
- def fopenmp_simd : Flag<["-"], "fopenmp-simd">, Group<f_Group>, Flags<[CC1Option, NoArgumentUnused]>,
2156
- HelpText<"Emit OpenMP code only for SIMD-based constructs.">;
2157
+ defm openmp_simd : BoolFOption<"openmp-simd",
2158
+ LangOpts<"OpenMPSimd">, DefaultFalse,
2159
+ PosFlag<SetTrue, [], "Emit OpenMP code only for SIMD-based constructs.">,
2160
+ NegFlag<SetFalse>, BothFlags<[CC1Option, NoArgumentUnused]>>,
2161
+ ShouldParseIf<!strconcat("!", fopenmp.KeyPath)>;
2157
2162
def fopenmp_enable_irbuilder : Flag<["-"], "fopenmp-enable-irbuilder">, Group<f_Group>, Flags<[CC1Option, NoArgumentUnused, HelpHidden]>,
2158
- HelpText<"Use the experimental OpenMP-IR-Builder codegen path.">;
2159
- def fno_openmp_simd : Flag<["-"], "fno-openmp-simd">, Group<f_Group>, Flags<[CC1Option, NoArgumentUnused]>;
2163
+ HelpText<"Use the experimental OpenMP-IR-Builder codegen path.">,
2164
+ MarshallingInfoFlag<LangOpts<"OpenMPIRBuilder">>,
2165
+ ShouldParseIf<fopenmp.KeyPath>;
2160
2166
def fopenmp_cuda_mode : Flag<["-"], "fopenmp-cuda-mode">, Group<f_Group>,
2161
2167
Flags<[CC1Option, NoArgumentUnused, HelpHidden]>;
2162
2168
def fno_openmp_cuda_mode : Flag<["-"], "fno-openmp-cuda-mode">, Group<f_Group>,
@@ -5367,9 +5373,12 @@ def fno_cuda_host_device_constexpr : Flag<["-"], "fno-cuda-host-device-constexpr
5367
5373
//===----------------------------------------------------------------------===//
5368
5374
5369
5375
def fopenmp_is_device : Flag<["-"], "fopenmp-is-device">,
5370
- HelpText<"Generate code only for an OpenMP target device.">;
5376
+ HelpText<"Generate code only for an OpenMP target device.">,
5377
+ MarshallingInfoFlag<LangOpts<"OpenMPIsDevice">>,
5378
+ ShouldParseIf<fopenmp.KeyPath>;
5371
5379
def fopenmp_host_ir_file_path : Separate<["-"], "fopenmp-host-ir-file-path">,
5372
- HelpText<"Path to the IR file produced by the frontend for the host.">;
5380
+ HelpText<"Path to the IR file produced by the frontend for the host.">,
5381
+ MarshallingInfoString<LangOpts<"OMPHostIRFile">>;
5373
5382
5374
5383
//===----------------------------------------------------------------------===//
5375
5384
// SYCL Options
0 commit comments