@@ -167,7 +167,11 @@ def hip_Group : OptionGroup<"<HIP group>">, Group<f_Group>,
167167
168168def m_Group : OptionGroup<"<m group>">, Group<CompileOnly_Group>,
169169 DocName<"Target-dependent compilation options">,
170+ #ifdef ENABLE_CLASSIC_FLANG
171+ Visibility<[ClangOption, CLOption, FlangOption]>;
172+ #else
170173 Visibility<[ClangOption, CLOption]>;
174+ #endif
171175
172176// Feature groups - these take command line options that correspond directly to
173177// target specific features and can be translated directly from command line
@@ -199,10 +203,18 @@ def m_wasm_Features_Group : OptionGroup<"<wasm features group>">,
199203def m_wasm_Features_Driver_Group : OptionGroup<"<wasm driver features group>">,
200204 Group<m_Group>, DocName<"WebAssembly Driver">;
201205def m_x86_Features_Group : OptionGroup<"<x86 features group>">,
206+ #ifdef ENABLE_CLASSIC_FLANG
207+ Group<m_Group>, Visibility<[ClangOption, CLOption, FlangOption]>,
208+ #else
202209 Group<m_Group>, Visibility<[ClangOption, CLOption]>,
210+ #endif
203211 DocName<"X86">;
204212def 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
205216 Group<m_Group>, Visibility<[ClangOption, CLOption]>,
217+ #endif
206218 DocName<"X86 AVX10">;
207219def m_riscv_Features_Group : OptionGroup<"<riscv features group>">,
208220 Group<m_Group>, DocName<"RISC-V">;
@@ -768,10 +780,22 @@ def _DASH_DASH : Option<["--"], "", KIND_REMAINING_ARGS>,
768780 Flags<[NoXarchOption]>, Visibility<[ClangOption, CLOption, DXCOption]>;
769781def A : JoinedOrSeparate<["-"], "A">, Flags<[RenderJoined]>,
770782 Group<gfortran_Group>;
771- def B : JoinedOrSeparate<["-"], "B">, MetaVarName<"<prefix>">,
772783#ifdef ENABLE_CLASSIC_FLANG
784+ def B : JoinedOrSeparate<["-"], "B">, MetaVarName<"<prefix>">,
773785 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>">,
775799 HelpText<"Search $prefix$file for executables, libraries, and data files. "
776800 "If $prefix is a directory, search $prefix/$file">;
777801def gcc_install_dir_EQ : Joined<["--"], "gcc-install-dir=">,
@@ -780,6 +804,7 @@ def gcc_install_dir_EQ : Joined<["--"], "gcc-install-dir=">,
780804def gcc_toolchain : Joined<["--"], "gcc-toolchain=">, Flags<[NoXarchOption]>,
781805 HelpText<"Specify a directory where Clang can find 'include' and 'lib{,32,64}/gcc{,-cross}/$triple/$version'. "
782806 "Clang will use the GCC installation with the largest version">;
807+ #endif
783808def gcc_triple_EQ : Joined<["--"], "gcc-triple=">,
784809 HelpText<"Search for the GCC installation with the specified triple.">;
785810def CC : Flag<["-"], "CC">, Visibility<[ClangOption, CC1Option]>,
@@ -3255,7 +3280,11 @@ defm diagnostics_show_line_numbers : BoolFOption<"diagnostics-show-line-numbers"
32553280def fno_stack_protector : Flag<["-"], "fno-stack-protector">, Group<f_Group>,
32563281 HelpText<"Disable the use of stack protectors">;
32573282def fno_strict_aliasing : Flag<["-"], "fno-strict-aliasing">, Group<f_Group>,
3283+ #ifdef ENABLE_CLASSIC_FLANG
3284+ Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>,
3285+ #else
32583286 Visibility<[ClangOption, CLOption, DXCOption]>,
3287+ #endif
32593288 HelpText<"Disable optimizations based on strict aliasing rules">;
32603289def fstruct_path_tbaa : Flag<["-"], "fstruct-path-tbaa">, Group<f_Group>;
32613290def 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>,
38593888 Visibility<[ClangOption, CC1Option]>,
38603889 HelpText<"Issue call to specified function rather than a trap instruction">,
38613890 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
38623897def funroll_loops : Flag<["-"], "funroll-loops">, Group<f_Group>,
38633898 HelpText<"Turn on loop unroller">, Visibility<[ClangOption, CC1Option]>;
38643899def fno_unroll_loops : Flag<["-"], "fno-unroll-loops">, Group<f_Group>,
38653900 HelpText<"Turn off loop unroller">, Visibility<[ClangOption, CC1Option]>;
3901+ #endif
38663902defm reroll_loops : BoolFOption<"reroll-loops",
38673903 CodeGenOpts<"RerollLoops">, DefaultFalse,
38683904 PosFlag<SetTrue, [], [ClangOption, CC1Option], "Turn on loop reroller">,
@@ -4458,17 +4494,29 @@ def mwatchsimulator_version_min_EQ : Joined<["-"], "mwatchsimulator-version-min=
44584494def march_EQ : Joined<["-"], "march=">, Group<m_Group>,
44594495 Flags<[TargetSpecific]>, Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>,
44604496 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
44614500def masm_EQ : Joined<["-"], "masm=">, Group<m_Group>;
4501+ #endif
44624502def inline_asm_EQ : Joined<["-"], "inline-asm=">, Group<m_Group>,
44634503 Visibility<[ClangOption, CC1Option]>,
44644504 Values<"att,intel">,
44654505 NormalizedValuesScope<"CodeGenOptions">, NormalizedValues<["IAD_ATT", "IAD_Intel"]>,
44664506 MarshallingInfoEnum<CodeGenOpts<"InlineAsmDialect">, "IAD_ATT">;
44674507def mcmodel_EQ : Joined<["-"], "mcmodel=">, Group<m_Group>,
4508+ #ifdef ENABLE_CLASSIC_FLANG
4509+ Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>,
4510+ #else
44684511 Visibility<[ClangOption, CC1Option]>,
4512+ #endif
44694513 MarshallingInfoString<TargetOpts<"CodeModel">, [{"default"}]>;
44704514def 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
44714518 Flags<[TargetSpecific]>, Visibility<[ClangOption, CC1Option]>,
4519+ #endif
44724520 MarshallingInfoInt<TargetOpts<"LargeDataThreshold">, "0">;
44734521def mtls_size_EQ : Joined<["-"], "mtls-size=">, Group<m_Group>,
44744522 Visibility<[ClangOption, CC1Option]>,
@@ -5033,12 +5081,21 @@ def msoft_float : Flag<["-"], "msoft-float">, Group<m_Group>,
50335081def mno_fmv : Flag<["-"], "mno-fmv">, Group<f_clang_Group>,
50345082 Visibility<[ClangOption, CC1Option]>,
50355083 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
50365092def moutline_atomics : Flag<["-"], "moutline-atomics">, Group<f_clang_Group>,
50375093 Visibility<[ClangOption, CC1Option]>,
50385094 HelpText<"Generate local calls to out-of-line atomic operations">;
50395095def mno_outline_atomics : Flag<["-"], "mno-outline-atomics">, Group<f_clang_Group>,
50405096 Visibility<[ClangOption, CC1Option]>,
50415097 HelpText<"Don't generate local calls to out-of-line atomic operations">;
5098+ #endif
50425099def mno_implicit_float : Flag<["-"], "mno-implicit-float">, Group<m_Group>,
50435100 HelpText<"Don't generate implicit floating point or vector instructions">;
50445101def mimplicit_float : Flag<["-"], "mimplicit-float">, Group<m_Group>;
@@ -5369,7 +5426,11 @@ def print_prog_name_EQ : Joined<["-", "--"], "print-prog-name=">,
53695426 Visibility<[ClangOption, CLOption]>;
53705427def print_resource_dir : Flag<["-", "--"], "print-resource-dir">,
53715428 HelpText<"Print the resource directory pathname">,
5429+ #ifdef ENABLE_CLASSIC_FLANG
5430+ Visibility<[ClangOption, CLOption, FlangOption]>;
5431+ #else
53725432 Visibility<[ClangOption, CLOption]>;
5433+ #endif
53735434def print_search_dirs : Flag<["-", "--"], "print-search-dirs">,
53745435 HelpText<"Print the paths used for finding libraries and programs">,
53755436 Visibility<[ClangOption, CLOption]>;
@@ -5406,11 +5467,19 @@ def rdynamic : Flag<["-"], "rdynamic">, Group<Link_Group>,
54065467 Visibility<[ClangOption, FlangOption]>;
54075468def resource_dir : Separate<["-"], "resource-dir">,
54085469 Flags<[NoXarchOption, HelpHidden]>,
5470+ #ifdef ENABLE_CLASSIC_FLANG
5471+ Visibility<[ClangOption, CC1Option, CLOption, DXCOption, FlangOption, FC1Option]>,
5472+ #else
54095473 Visibility<[ClangOption, CC1Option, CLOption, DXCOption]>,
5474+ #endif
54105475 HelpText<"The directory which holds the compiler resource files">,
54115476 MarshallingInfoString<HeaderSearchOpts<"ResourceDir">>;
54125477def resource_dir_EQ : Joined<["-"], "resource-dir=">, Flags<[NoXarchOption]>,
5478+ #ifdef ENABLE_CLASSIC_FLANG
5479+ Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>,
5480+ #else
54135481 Visibility<[ClangOption, CLOption, DXCOption]>,
5482+ #endif
54145483 Alias<resource_dir>;
54155484def rpath : Separate<["-"], "rpath">, Flags<[LinkerInput]>, Group<Link_Group>,
54165485 Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>;
0 commit comments