@@ -167,7 +167,11 @@ def hip_Group : OptionGroup<"<HIP group>">, Group<f_Group>,
167
167
168
168
def m_Group : OptionGroup<"<m group>">, Group<CompileOnly_Group>,
169
169
DocName<"Target-dependent compilation options">,
170
+ #ifdef ENABLE_CLASSIC_FLANG
171
+ Visibility<[ClangOption, CLOption, FlangOption]>;
172
+ #else
170
173
Visibility<[ClangOption, CLOption]>;
174
+ #endif
171
175
172
176
// Feature groups - these take command line options that correspond directly to
173
177
// target specific features and can be translated directly from command line
@@ -199,10 +203,18 @@ def m_wasm_Features_Group : OptionGroup<"<wasm features group>">,
199
203
def m_wasm_Features_Driver_Group : OptionGroup<"<wasm driver features group>">,
200
204
Group<m_Group>, DocName<"WebAssembly Driver">;
201
205
def m_x86_Features_Group : OptionGroup<"<x86 features group>">,
206
+ #ifdef ENABLE_CLASSIC_FLANG
207
+ Group<m_Group>, Visibility<[ClangOption, CLOption, FlangOption]>,
208
+ #else
202
209
Group<m_Group>, Visibility<[ClangOption, CLOption]>,
210
+ #endif
203
211
DocName<"X86">;
204
212
def m_x86_AVX10_Features_Group : OptionGroup<"<x86 AVX10 features group>">,
213
+ #ifdef ENABLE_CLASSIC_FLANG
214
+ Group<m_Group>, Visibility<[ClangOption, CLOption, FlangOption]>,
215
+ #else
205
216
Group<m_Group>, Visibility<[ClangOption, CLOption]>,
217
+ #endif
206
218
DocName<"X86 AVX10">;
207
219
def m_riscv_Features_Group : OptionGroup<"<riscv features group>">,
208
220
Group<m_Group>, DocName<"RISC-V">;
@@ -768,10 +780,22 @@ def _DASH_DASH : Option<["--"], "", KIND_REMAINING_ARGS>,
768
780
Flags<[NoXarchOption]>, Visibility<[ClangOption, CLOption, DXCOption]>;
769
781
def A : JoinedOrSeparate<["-"], "A">, Flags<[RenderJoined]>,
770
782
Group<gfortran_Group>;
771
- def B : JoinedOrSeparate<["-"], "B">, MetaVarName<"<prefix>">,
772
783
#ifdef ENABLE_CLASSIC_FLANG
784
+ def B : JoinedOrSeparate<["-"], "B">, MetaVarName<"<prefix>">,
773
785
Visibility<[ClangOption, FlangOption]>,
774
- #endif
786
+ HelpText<"Search $prefix$file for executables, libraries, and data files. "
787
+ "If $prefix is a directory, search $prefix/$file">;
788
+ def gcc_install_dir_EQ : Joined<["--"], "gcc-install-dir=">,
789
+ Visibility<[ClangOption, FlangOption]>,
790
+ HelpText<"Use GCC installation in the specified directory. The directory ends with path components like 'lib{,32,64}/gcc{,-cross}/$triple/$version'. "
791
+ "Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation">;
792
+ def gcc_toolchain : Joined<["--"], "gcc-toolchain=">, Flags<[NoXarchOption]>,
793
+ Visibility<[ClangOption, FlangOption]>,
794
+ HelpText<
795
+ "Specify a directory where Clang can find 'include' and 'lib{,32,64}/gcc{,-cross}/$triple/$version'. "
796
+ "Clang will use the GCC installation with the largest version">;
797
+ #else
798
+ def B : JoinedOrSeparate<["-"], "B">, MetaVarName<"<prefix>">,
775
799
HelpText<"Search $prefix$file for executables, libraries, and data files. "
776
800
"If $prefix is a directory, search $prefix/$file">;
777
801
def gcc_install_dir_EQ : Joined<["--"], "gcc-install-dir=">,
@@ -780,6 +804,7 @@ def gcc_install_dir_EQ : Joined<["--"], "gcc-install-dir=">,
780
804
def gcc_toolchain : Joined<["--"], "gcc-toolchain=">, Flags<[NoXarchOption]>,
781
805
HelpText<"Specify a directory where Clang can find 'include' and 'lib{,32,64}/gcc{,-cross}/$triple/$version'. "
782
806
"Clang will use the GCC installation with the largest version">;
807
+ #endif
783
808
def gcc_triple_EQ : Joined<["--"], "gcc-triple=">,
784
809
HelpText<"Search for the GCC installation with the specified triple.">;
785
810
def CC : Flag<["-"], "CC">, Visibility<[ClangOption, CC1Option]>,
@@ -3255,7 +3280,11 @@ defm diagnostics_show_line_numbers : BoolFOption<"diagnostics-show-line-numbers"
3255
3280
def fno_stack_protector : Flag<["-"], "fno-stack-protector">, Group<f_Group>,
3256
3281
HelpText<"Disable the use of stack protectors">;
3257
3282
def fno_strict_aliasing : Flag<["-"], "fno-strict-aliasing">, Group<f_Group>,
3283
+ #ifdef ENABLE_CLASSIC_FLANG
3284
+ Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>,
3285
+ #else
3258
3286
Visibility<[ClangOption, CLOption, DXCOption]>,
3287
+ #endif
3259
3288
HelpText<"Disable optimizations based on strict aliasing rules">;
3260
3289
def fstruct_path_tbaa : Flag<["-"], "fstruct-path-tbaa">, Group<f_Group>;
3261
3290
def fno_struct_path_tbaa : Flag<["-"], "fno-struct-path-tbaa">, Group<f_Group>;
@@ -3859,10 +3888,17 @@ def ftrap_function_EQ : Joined<["-"], "ftrap-function=">, Group<f_Group>,
3859
3888
Visibility<[ClangOption, CC1Option]>,
3860
3889
HelpText<"Issue call to specified function rather than a trap instruction">,
3861
3890
MarshallingInfoString<CodeGenOpts<"TrapFuncName">>;
3891
+ #ifdef ENABLE_CLASSIC_FLANG
3892
+ def funroll_loops : Flag<["-"], "funroll-loops">, Group<f_Group>,
3893
+ HelpText<"Turn on loop unroller">, Visibility<[ClangOption, CC1Option, FlangOption]>;
3894
+ def fno_unroll_loops : Flag<["-"], "fno-unroll-loops">, Group<f_Group>,
3895
+ HelpText<"Turn off loop unroller">, Visibility<[ClangOption, CC1Option, FlangOption]>;
3896
+ #else
3862
3897
def funroll_loops : Flag<["-"], "funroll-loops">, Group<f_Group>,
3863
3898
HelpText<"Turn on loop unroller">, Visibility<[ClangOption, CC1Option]>;
3864
3899
def fno_unroll_loops : Flag<["-"], "fno-unroll-loops">, Group<f_Group>,
3865
3900
HelpText<"Turn off loop unroller">, Visibility<[ClangOption, CC1Option]>;
3901
+ #endif
3866
3902
defm reroll_loops : BoolFOption<"reroll-loops",
3867
3903
CodeGenOpts<"RerollLoops">, DefaultFalse,
3868
3904
PosFlag<SetTrue, [], [ClangOption, CC1Option], "Turn on loop reroller">,
@@ -4458,17 +4494,29 @@ def mwatchsimulator_version_min_EQ : Joined<["-"], "mwatchsimulator-version-min=
4458
4494
def march_EQ : Joined<["-"], "march=">, Group<m_Group>,
4459
4495
Flags<[TargetSpecific]>, Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>,
4460
4496
HelpText<"For a list of available architectures for the target use '-mcpu=help'">;
4497
+ #ifdef ENABLE_CLASSIC_FLANG
4498
+ def masm_EQ : Joined<["-"], "masm=">, Group<m_Group>, Visibility<[ClangOption, FlangOption]>;
4499
+ #else
4461
4500
def masm_EQ : Joined<["-"], "masm=">, Group<m_Group>;
4501
+ #endif
4462
4502
def inline_asm_EQ : Joined<["-"], "inline-asm=">, Group<m_Group>,
4463
4503
Visibility<[ClangOption, CC1Option]>,
4464
4504
Values<"att,intel">,
4465
4505
NormalizedValuesScope<"CodeGenOptions">, NormalizedValues<["IAD_ATT", "IAD_Intel"]>,
4466
4506
MarshallingInfoEnum<CodeGenOpts<"InlineAsmDialect">, "IAD_ATT">;
4467
4507
def mcmodel_EQ : Joined<["-"], "mcmodel=">, Group<m_Group>,
4508
+ #ifdef ENABLE_CLASSIC_FLANG
4509
+ Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>,
4510
+ #else
4468
4511
Visibility<[ClangOption, CC1Option]>,
4512
+ #endif
4469
4513
MarshallingInfoString<TargetOpts<"CodeModel">, [{"default"}]>;
4470
4514
def mlarge_data_threshold_EQ : Joined<["-"], "mlarge-data-threshold=">, Group<m_Group>,
4515
+ #ifdef ENABLE_CLASSIC_FLANG
4516
+ Flags<[TargetSpecific]>, Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>,
4517
+ #else
4471
4518
Flags<[TargetSpecific]>, Visibility<[ClangOption, CC1Option]>,
4519
+ #endif
4472
4520
MarshallingInfoInt<TargetOpts<"LargeDataThreshold">, "0">;
4473
4521
def mtls_size_EQ : Joined<["-"], "mtls-size=">, Group<m_Group>,
4474
4522
Visibility<[ClangOption, CC1Option]>,
@@ -5033,12 +5081,21 @@ def msoft_float : Flag<["-"], "msoft-float">, Group<m_Group>,
5033
5081
def mno_fmv : Flag<["-"], "mno-fmv">, Group<f_clang_Group>,
5034
5082
Visibility<[ClangOption, CC1Option]>,
5035
5083
HelpText<"Disable function multiversioning">;
5084
+ #ifdef ENABLE_CLASSIC_FLANG
5085
+ def moutline_atomics : Flag<["-"], "moutline-atomics">, Group<f_clang_Group>,
5086
+ Visibility<[ClangOption, CC1Option, FlangOption]>,
5087
+ HelpText<"Generate local calls to out-of-line atomic operations">;
5088
+ def mno_outline_atomics : Flag<["-"], "mno-outline-atomics">, Group<f_clang_Group>,
5089
+ Visibility<[ClangOption, CC1Option, FlangOption]>,
5090
+ HelpText<"Don't generate local calls to out-of-line atomic operations">;
5091
+ #else
5036
5092
def moutline_atomics : Flag<["-"], "moutline-atomics">, Group<f_clang_Group>,
5037
5093
Visibility<[ClangOption, CC1Option]>,
5038
5094
HelpText<"Generate local calls to out-of-line atomic operations">;
5039
5095
def mno_outline_atomics : Flag<["-"], "mno-outline-atomics">, Group<f_clang_Group>,
5040
5096
Visibility<[ClangOption, CC1Option]>,
5041
5097
HelpText<"Don't generate local calls to out-of-line atomic operations">;
5098
+ #endif
5042
5099
def mno_implicit_float : Flag<["-"], "mno-implicit-float">, Group<m_Group>,
5043
5100
HelpText<"Don't generate implicit floating point or vector instructions">;
5044
5101
def mimplicit_float : Flag<["-"], "mimplicit-float">, Group<m_Group>;
@@ -5369,7 +5426,11 @@ def print_prog_name_EQ : Joined<["-", "--"], "print-prog-name=">,
5369
5426
Visibility<[ClangOption, CLOption]>;
5370
5427
def print_resource_dir : Flag<["-", "--"], "print-resource-dir">,
5371
5428
HelpText<"Print the resource directory pathname">,
5429
+ #ifdef ENABLE_CLASSIC_FLANG
5430
+ Visibility<[ClangOption, CLOption, FlangOption]>;
5431
+ #else
5372
5432
Visibility<[ClangOption, CLOption]>;
5433
+ #endif
5373
5434
def print_search_dirs : Flag<["-", "--"], "print-search-dirs">,
5374
5435
HelpText<"Print the paths used for finding libraries and programs">,
5375
5436
Visibility<[ClangOption, CLOption]>;
@@ -5406,11 +5467,19 @@ def rdynamic : Flag<["-"], "rdynamic">, Group<Link_Group>,
5406
5467
Visibility<[ClangOption, FlangOption]>;
5407
5468
def resource_dir : Separate<["-"], "resource-dir">,
5408
5469
Flags<[NoXarchOption, HelpHidden]>,
5470
+ #ifdef ENABLE_CLASSIC_FLANG
5471
+ Visibility<[ClangOption, CC1Option, CLOption, DXCOption, FlangOption, FC1Option]>,
5472
+ #else
5409
5473
Visibility<[ClangOption, CC1Option, CLOption, DXCOption]>,
5474
+ #endif
5410
5475
HelpText<"The directory which holds the compiler resource files">,
5411
5476
MarshallingInfoString<HeaderSearchOpts<"ResourceDir">>;
5412
5477
def resource_dir_EQ : Joined<["-"], "resource-dir=">, Flags<[NoXarchOption]>,
5478
+ #ifdef ENABLE_CLASSIC_FLANG
5479
+ Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>,
5480
+ #else
5413
5481
Visibility<[ClangOption, CLOption, DXCOption]>,
5482
+ #endif
5414
5483
Alias<resource_dir>;
5415
5484
def rpath : Separate<["-"], "rpath">, Flags<[LinkerInput]>, Group<Link_Group>,
5416
5485
Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>;
0 commit comments