Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|*                                                                            *|
3
|* Option Parsing Definitions                                                 *|
4
|*                                                                            *|
5
|* Automatically generated file, do not edit!                                 *|
6
|*                                                                            *|
7
\*===----------------------------------------------------------------------===*/
8
 
9
/////////
10
// Prefixes
11
 
12
#ifdef PREFIX
13
#define COMMA ,
14
PREFIX(prefix_0, {llvm::StringLiteral("")})
15
PREFIX(prefix_1, {llvm::StringLiteral("-") COMMA llvm::StringLiteral("")})
16
PREFIX(prefix_4, {llvm::StringLiteral("-") COMMA llvm::StringLiteral("--") COMMA llvm::StringLiteral("")})
17
PREFIX(prefix_3, {llvm::StringLiteral("--") COMMA llvm::StringLiteral("")})
18
PREFIX(prefix_5, {llvm::StringLiteral("--") COMMA llvm::StringLiteral("/") COMMA llvm::StringLiteral("-") COMMA llvm::StringLiteral("")})
19
PREFIX(prefix_2, {llvm::StringLiteral("/") COMMA llvm::StringLiteral("-") COMMA llvm::StringLiteral("")})
20
PREFIX(prefix_6, {llvm::StringLiteral("/") COMMA llvm::StringLiteral("-") COMMA llvm::StringLiteral("--") COMMA llvm::StringLiteral("")})
21
#undef COMMA
22
#endif // PREFIX
23
 
24
/////////
25
// Prefix Union
26
 
27
#ifdef PREFIX_UNION
28
#define COMMA ,
29
PREFIX_UNION({
30
llvm::StringLiteral("-") COMMA llvm::StringLiteral("--") COMMA llvm::StringLiteral("/") COMMA llvm::StringLiteral("")})
31
#undef COMMA
32
#endif // PREFIX_UNION
33
 
34
/////////
35
// ValuesCode
36
 
37
#ifdef OPTTABLE_VALUES_CODE
38
#define VALUES_CODE analyzer_checker_Values
39
 
40
    static constexpr const char VALUES_CODE [] =
41
    #define GET_CHECKERS
42
    #define CHECKER(FULLNAME, CLASS, HT, DOC_URI, IS_HIDDEN)  FULLNAME ","
43
    #include "clang/StaticAnalyzer/Checkers/Checkers.inc"
44
    #undef GET_CHECKERS
45
    #define GET_PACKAGES
46
    #define PACKAGE(FULLNAME)  FULLNAME ","
47
    #include "clang/StaticAnalyzer/Checkers/Checkers.inc"
48
    #undef GET_PACKAGES
49
    ;
50
 
51
#undef VALUES_CODE
52
#define VALUES_CODE std_EQ_Values
53
 
54
    static constexpr const char VALUES_CODE [] =
55
    #define LANGSTANDARD(id, name, lang, desc, features) name ","
56
    #define LANGSTANDARD_ALIAS(id, alias) alias ","
57
    #include "clang/Basic/LangStandards.def"
58
    ;
59
 
60
#undef VALUES_CODE
61
#endif
62
/////////
63
// Groups
64
 
65
#ifdef OPTION
66
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<action group>", Action_Group, Group, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
67
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<CompileOnly group>", CompileOnly_Group, Group, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
68
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<g group>", DebugInfo_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
69
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<W/R group>", Diag_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
70
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<I group>", I_Group, Group, IncludePath_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
71
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<I/i group>", IncludePath_Group, Group, Preprocessor_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
72
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<T/e/s/t/u group>", Link_Group, Group, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
73
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<LongDouble group>", LongDouble_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
74
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<M group>", M_Group, Group, Preprocessor_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
75
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<O group>", O_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
76
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<Preprocessor group>", Preprocessor_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
77
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<R group>", R_Group, Group, Diag_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
78
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<R (with value) group>", R_value_Group, Group, R_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
79
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<Static analyzer group>", StaticAnalyzer_Group, Group, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
80
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<T group>", T_Group, Group, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
81
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<W group>", W_Group, Group, Diag_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
82
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<W (with value) group>", W_value_Group, Group, W_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
83
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "</M group>", _SLASH_M_Group, Group, cl_compile_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
84
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "</volatile group>", _SLASH_volatile_Group, Group, cl_compile_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
85
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang-cl options>", cl_Group, Group, INVALID, INVALID, nullptr, 0, 0,
86
       "CL.EXE COMPATIBILITY OPTIONS", nullptr, nullptr)
87
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang-cl compile-only options>", cl_compile_Group, Group, cl_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
88
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang-cl ignored options>", cl_ignored_Group, Group, cl_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
89
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang i group>", clang_i_Group, Group, i_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
90
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang ignored f group>", clang_ignored_f_Group, Group, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
91
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang_ignored_gcc_optimization_f_Group>", clang_ignored_gcc_optimization_f_Group, Group, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
92
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang legacy flags>", clang_ignored_legacy_options_Group, Group, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
93
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang ignored m group>", clang_ignored_m_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
94
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<d group>", d_Group, Group, Preprocessor_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
95
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang-dxc options>", dxc_Group, Group, INVALID, INVALID, nullptr, 0, 0,
96
       "dxc compatibility options", nullptr, nullptr)
97
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<f group>", f_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
98
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<f (clang-only) group>", f_clang_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
99
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<gN group>", gN_Group, Group, g_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
100
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<gTune group>", gTune_Group, Group, g_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
101
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<g group>", g_Group, Group, DebugInfo_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
102
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<g flags group>", g_flags_Group, Group, DebugInfo_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
103
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<gfortran group>", gfortran_Group, Group, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
104
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<ggdbN group>", ggdbN_Group, Group, gN_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
105
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<i group>", i_Group, Group, IncludePath_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
106
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang internal options>", internal_Group, Group, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
107
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang debug/development internal options>", internal_debug_Group, Group, internal_Group, INVALID, nullptr, 0, 0,
108
       "DEBUG/DEVELOPMENT OPTIONS", nullptr, nullptr)
109
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<clang driver internal options>", internal_driver_Group, Group, internal_Group, INVALID, nullptr, 0, 0,
110
       "DRIVER OPTIONS", nullptr, nullptr)
111
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<m group>", m_Group, Group, CompileOnly_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
112
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<aarch64 features group>", m_aarch64_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
113
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<amdgpu features group>", m_amdgpu_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
114
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<arm features group>", m_arm_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
115
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<hexagon features group>", m_hexagon_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
116
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<hexagon features group>", m_hexagon_Features_HVX_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
117
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<m libc group>", m_libc_Group, Group, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
118
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<m68k features group>", m_m68k_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
119
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<mips features group>", m_mips_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
120
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<ppc features group>", m_ppc_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
121
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<riscv features group>", m_riscv_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
122
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<sparc features group>", m_sparc_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
123
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<wasm driver features group>", m_wasm_Features_Driver_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
124
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<wasm features group>", m_wasm_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
125
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<x86 features group>", m_x86_Features_Group, Group, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
126
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<opencl group>", opencl_Group, Group, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
127
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<pedantic group>", pedantic_Group, Group, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
128
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<reserved libs group>", reserved_lib_Group, Group, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
129
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<SYCL group>", sycl_Group, Group, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
130
OPTION(llvm::ArrayRef<llvm::StringLiteral>(), "<u group>", u_Group, Group, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
131
 
132
//////////
133
// Options
134
 
135
OPTION(prefix_0, llvm::StringLiteral("<input>"), INPUT, Input, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
136
OPTION(prefix_0, llvm::StringLiteral("<unknown>"), UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
137
OPTION(prefix_1, llvm::StringLiteral("###"), _HASH_HASH_HASH, Flag, INVALID, INVALID, nullptr, NoXarchOption | CoreOption | FlangOption, 0,
138
       "Print (but do not run) the commands to run for this compilation", nullptr, nullptr)
139
OPTION(prefix_2, llvm::StringLiteral("?"), _SLASH_QUESTION, Flag, cl_Group, help, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
140
       "Display available options", nullptr, nullptr)
141
OPTION(prefix_1, llvm::StringLiteral("A-"), A_DASH, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
142
OPTION(prefix_1, llvm::StringLiteral("add-plugin"), add_plugin, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
143
       "Use the named plugin action in addition to the default action", "<name>", nullptr)
144
OPTION(prefix_2, llvm::StringLiteral("AI"), _SLASH_AI, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
145
OPTION(prefix_3, llvm::StringLiteral("all-warnings"), _all_warnings, Flag, INVALID, Wall, nullptr, 0, 0, nullptr, nullptr, nullptr)
146
OPTION(prefix_1, llvm::StringLiteral("all_load"), all__load, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
147
OPTION(prefix_1, llvm::StringLiteral("allowable_client"), allowable__client, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
148
OPTION(prefix_3, llvm::StringLiteral("amdgpu-arch-tool="), amdgpu_arch_tool_EQ, Joined, i_Group, INVALID, nullptr, 0, 0,
149
       "Tool used for detecting AMD GPU arch in the system.", nullptr, nullptr)
150
OPTION(prefix_1, llvm::StringLiteral("analyze-function="), analyze_function_EQ, Joined, INVALID, analyze_function, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
151
OPTION(prefix_1, llvm::StringLiteral("analyze-function"), analyze_function, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
152
       "Run analysis on specific function (for C++ include parameters in name)", nullptr, nullptr)
153
OPTION(prefix_2, llvm::StringLiteral("analyze-"), _SLASH_analyze_, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
154
OPTION(prefix_1, llvm::StringLiteral("analyzer-checker-help-alpha"), analyzer_checker_help_alpha, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
155
       "Display the list of in development analyzer checkers. These are NOT considered safe, they are unstable and will emit incorrect reports. Enable ONLY FOR DEVELOPMENT purposes", nullptr, nullptr)
156
OPTION(prefix_1, llvm::StringLiteral("analyzer-checker-help-developer"), analyzer_checker_help_developer, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
157
       "Display the list of developer-only checkers such as modeling and debug checkers", nullptr, nullptr)
158
OPTION(prefix_1, llvm::StringLiteral("analyzer-checker-help"), analyzer_checker_help, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
159
       "Display the list of analyzer checkers that are available", nullptr, nullptr)
160
OPTION(prefix_1, llvm::StringLiteral("analyzer-checker-option-help-alpha"), analyzer_checker_option_help_alpha, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
161
       "Display the list of in development checker and package options. These are NOT considered safe, they are unstable and will emit incorrect reports. Enable ONLY FOR DEVELOPMENT purposes", nullptr, nullptr)
162
OPTION(prefix_1, llvm::StringLiteral("analyzer-checker-option-help-developer"), analyzer_checker_option_help_developer, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
163
       "Display the list of checker and package options meant for development purposes only", nullptr, nullptr)
164
OPTION(prefix_1, llvm::StringLiteral("analyzer-checker-option-help"), analyzer_checker_option_help, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
165
       "Display the list of checker and package options", nullptr, nullptr)
166
OPTION(prefix_1, llvm::StringLiteral("analyzer-checker="), analyzer_checker_EQ, Joined, INVALID, analyzer_checker, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
167
OPTION(prefix_1, llvm::StringLiteral("analyzer-checker"), analyzer_checker, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
168
       "Choose analyzer checkers to enable", nullptr, analyzer_checker_Values)
169
OPTION(prefix_1, llvm::StringLiteral("analyzer-config-compatibility-mode="), analyzer_config_compatibility_mode_EQ, Joined, INVALID, analyzer_config_compatibility_mode, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
170
OPTION(prefix_1, llvm::StringLiteral("analyzer-config-compatibility-mode"), analyzer_config_compatibility_mode, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
171
       "Don't emit errors on invalid analyzer-config inputs", nullptr, "true,false")
172
OPTION(prefix_1, llvm::StringLiteral("analyzer-config-help"), analyzer_config_help, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
173
       "Display the list of -analyzer-config options. These are meant for development purposes only!", nullptr, nullptr)
174
OPTION(prefix_1, llvm::StringLiteral("analyzer-config"), analyzer_config, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
175
       "Choose analyzer options to enable", nullptr, nullptr)
176
OPTION(prefix_1, llvm::StringLiteral("analyzer-constraints="), analyzer_constraints_EQ, Joined, INVALID, analyzer_constraints, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
177
OPTION(prefix_1, llvm::StringLiteral("analyzer-constraints"), analyzer_constraints, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
178
       "Source Code Analysis - Symbolic Constraint Engines", nullptr, nullptr)
179
OPTION(prefix_1, llvm::StringLiteral("analyzer-disable-all-checks"), analyzer_disable_all_checks, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
180
       "Disable all static analyzer checks", nullptr, nullptr)
181
OPTION(prefix_1, llvm::StringLiteral("analyzer-disable-checker="), analyzer_disable_checker_EQ, Joined, INVALID, analyzer_disable_checker, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
182
OPTION(prefix_1, llvm::StringLiteral("analyzer-disable-checker"), analyzer_disable_checker, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
183
       "Choose analyzer checkers to disable", nullptr, nullptr)
184
OPTION(prefix_1, llvm::StringLiteral("analyzer-disable-retry-exhausted"), analyzer_disable_retry_exhausted, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
185
       "Do not re-analyze paths leading to exhausted nodes with a different strategy (may decrease code coverage)", nullptr, nullptr)
186
OPTION(prefix_1, llvm::StringLiteral("analyzer-display-progress"), analyzer_display_progress, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
187
       "Emit verbose output about the analyzer's progress", nullptr, nullptr)
188
OPTION(prefix_1, llvm::StringLiteral("analyzer-dump-egraph="), analyzer_dump_egraph_EQ, Joined, INVALID, analyzer_dump_egraph, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
189
OPTION(prefix_1, llvm::StringLiteral("analyzer-dump-egraph"), analyzer_dump_egraph, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
190
       "Dump exploded graph to the specified file", nullptr, nullptr)
191
OPTION(prefix_1, llvm::StringLiteral("analyzer-inline-max-stack-depth="), analyzer_inline_max_stack_depth_EQ, Joined, INVALID, analyzer_inline_max_stack_depth, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
192
OPTION(prefix_1, llvm::StringLiteral("analyzer-inline-max-stack-depth"), analyzer_inline_max_stack_depth, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
193
       "Bound on stack depth while inlining (4 by default)", nullptr, nullptr)
194
OPTION(prefix_1, llvm::StringLiteral("analyzer-inlining-mode="), analyzer_inlining_mode_EQ, Joined, INVALID, analyzer_inlining_mode, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
195
OPTION(prefix_1, llvm::StringLiteral("analyzer-inlining-mode"), analyzer_inlining_mode, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
196
       "Specify the function selection heuristic used during inlining", nullptr, nullptr)
197
OPTION(prefix_1, llvm::StringLiteral("analyzer-list-enabled-checkers"), analyzer_list_enabled_checkers, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
198
       "Display the list of enabled analyzer checkers", nullptr, nullptr)
199
OPTION(prefix_1, llvm::StringLiteral("analyzer-max-loop"), analyzer_max_loop, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
200
       "The maximum number of times the analyzer will go through a loop", nullptr, nullptr)
201
OPTION(prefix_3, llvm::StringLiteral("analyzer-no-default-checks"), _analyzer_no_default_checks, Flag, INVALID, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
202
OPTION(prefix_1, llvm::StringLiteral("analyzer-opt-analyze-headers"), analyzer_opt_analyze_headers, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
203
       "Force the static analyzer to analyze functions defined in header files", nullptr, nullptr)
204
OPTION(prefix_1, llvm::StringLiteral("analyzer-output="), analyzer_output_EQ, Joined, INVALID, analyzer_output, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
205
OPTION(prefix_3, llvm::StringLiteral("analyzer-output"), _analyzer_output, JoinedOrSeparate, INVALID, INVALID, nullptr, NoXarchOption, 0,
206
       "Static analyzer report output format (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text).", nullptr, nullptr)
207
OPTION(prefix_1, llvm::StringLiteral("analyzer-output"), analyzer_output, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
208
       "Source Code Analysis - Output Options", nullptr, nullptr)
209
OPTION(prefix_1, llvm::StringLiteral("analyzer-purge="), analyzer_purge_EQ, Joined, INVALID, analyzer_purge, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
210
OPTION(prefix_1, llvm::StringLiteral("analyzer-purge"), analyzer_purge, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
211
       "Source Code Analysis - Dead Symbol Removal Frequency", nullptr, nullptr)
212
OPTION(prefix_1, llvm::StringLiteral("analyzer-stats"), analyzer_stats, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
213
       "Print internal analyzer statistics.", nullptr, nullptr)
214
OPTION(prefix_1, llvm::StringLiteral("analyzer-viz-egraph-graphviz"), analyzer_viz_egraph_graphviz, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
215
       "Display exploded graph using GraphViz", nullptr, nullptr)
216
OPTION(prefix_1, llvm::StringLiteral("analyzer-werror"), analyzer_werror, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
217
       "Emit analyzer results as errors rather than warnings", nullptr, nullptr)
218
OPTION(prefix_3, llvm::StringLiteral("analyze"), _analyze, Flag, INVALID, INVALID, nullptr, NoXarchOption | CoreOption, 0,
219
       "Run the static analyzer", nullptr, nullptr)
220
OPTION(prefix_1, llvm::StringLiteral("analyze"), analyze, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
221
       "Run static analysis engine", nullptr, nullptr)
222
OPTION(prefix_4, llvm::StringLiteral("ansi"), ansi, Flag, CompileOnly_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
223
OPTION(prefix_2, llvm::StringLiteral("arch:"), _SLASH_arch, Joined, cl_compile_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
224
       "Set architecture for code generation", nullptr, nullptr)
225
OPTION(prefix_1, llvm::StringLiteral("arch_errors_fatal"), arch__errors__fatal, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
226
OPTION(prefix_1, llvm::StringLiteral("arch_only"), arch__only, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
227
OPTION(prefix_1, llvm::StringLiteral("arch"), arch, Separate, INVALID, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
228
OPTION(prefix_1, llvm::StringLiteral("arcmt-action="), arcmt_action_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
229
       "The ARC migration action to take", nullptr, "check,modify,migrate")
230
OPTION(prefix_1, llvm::StringLiteral("arcmt-migrate-emit-errors"), arcmt_migrate_emit_arc_errors, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
231
       "Emit ARC errors even if the migrator can fix them", nullptr, nullptr)
232
OPTION(prefix_1, llvm::StringLiteral("arcmt-migrate-report-output"), arcmt_migrate_report_output, Separate, INVALID, INVALID, nullptr, CC1Option, 0,
233
       "Output path for the plist report", nullptr, nullptr)
234
OPTION(prefix_2, llvm::StringLiteral("arm64EC"), _SLASH_arm64EC, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
235
       "Set build target to arm64ec", nullptr, nullptr)
236
OPTION(prefix_1, llvm::StringLiteral("as-secure-log-file"), as_secure_log_file, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
237
       "Emit .secure_log_unique directives to this filename.", nullptr, nullptr)
238
OPTION(prefix_3, llvm::StringLiteral("assemble"), _assemble, Flag, INVALID, S, nullptr, 0, 0, nullptr, nullptr, nullptr)
239
OPTION(prefix_3, llvm::StringLiteral("assert="), _assert_EQ, Joined, INVALID, A, nullptr, 0, 0, nullptr, nullptr, nullptr)
240
OPTION(prefix_3, llvm::StringLiteral("assert"), _assert, Separate, INVALID, A, nullptr, 0, 0, nullptr, nullptr, nullptr)
241
OPTION(prefix_1, llvm::StringLiteral("ast-dump-all="), ast_dump_all_EQ, Joined, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
242
       "Build ASTs and then debug dump them in the specified format, forcing deserialization. Supported formats include: default, json", nullptr, nullptr)
243
OPTION(prefix_1, llvm::StringLiteral("ast-dump-all"), ast_dump_all, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
244
       "Build ASTs and then debug dump them, forcing deserialization", nullptr, nullptr)
245
OPTION(prefix_1, llvm::StringLiteral("ast-dump-decl-types"), ast_dump_decl_types, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
246
       "Include declaration types in AST dumps", nullptr, nullptr)
247
OPTION(prefix_1, llvm::StringLiteral("ast-dump-filter="), ast_dump_filter_EQ, Joined, INVALID, ast_dump_filter, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
248
OPTION(prefix_1, llvm::StringLiteral("ast-dump-filter"), ast_dump_filter, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
249
       "Use with -ast-dump or -ast-print to dump/print only AST declaration nodes having a certain substring in a qualified name. Use -ast-list to list all filterable declaration node names.", "<dump_filter>", nullptr)
250
OPTION(prefix_1, llvm::StringLiteral("ast-dump-lookups"), ast_dump_lookups, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
251
       "Build ASTs and then debug dump their name lookup tables", nullptr, nullptr)
252
OPTION(prefix_1, llvm::StringLiteral("ast-dump="), ast_dump_EQ, Joined, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
253
       "Build ASTs and then debug dump them in the specified format. Supported formats include: default, json", nullptr, nullptr)
254
OPTION(prefix_1, llvm::StringLiteral("ast-dump"), ast_dump, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
255
       "Build ASTs and then debug dump them", nullptr, nullptr)
256
OPTION(prefix_1, llvm::StringLiteral("ast-list"), ast_list, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
257
       "Build ASTs and print the list of declaration node qualified names", nullptr, nullptr)
258
OPTION(prefix_1, llvm::StringLiteral("ast-merge"), ast_merge, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
259
       "Merge the given AST file into the translation unit being compiled.", "<ast file>", nullptr)
260
OPTION(prefix_1, llvm::StringLiteral("ast-print"), ast_print, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
261
       "Build ASTs and then pretty-print them", nullptr, nullptr)
262
OPTION(prefix_1, llvm::StringLiteral("ast-view"), ast_view, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
263
       "Build ASTs and view them with GraphViz", nullptr, nullptr)
264
OPTION(prefix_3, llvm::StringLiteral("autocomplete="), autocomplete, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
265
OPTION(prefix_1, llvm::StringLiteral("aux-target-cpu"), aux_target_cpu, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
266
       "Target a specific auxiliary cpu type", nullptr, nullptr)
267
OPTION(prefix_1, llvm::StringLiteral("aux-target-feature"), aux_target_feature, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
268
       "Target specific auxiliary attributes", nullptr, nullptr)
269
OPTION(prefix_1, llvm::StringLiteral("aux-triple"), aux_triple, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
270
       "Auxiliary target triple.", nullptr, nullptr)
271
OPTION(prefix_2, llvm::StringLiteral("await:"), _SLASH_await_COLON, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
272
OPTION(prefix_2, llvm::StringLiteral("await"), _SLASH_await, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
273
OPTION(prefix_1, llvm::StringLiteral("A"), A, JoinedOrSeparate, gfortran_Group, INVALID, nullptr, RenderJoined, 0, nullptr, nullptr, nullptr)
274
OPTION(prefix_2, llvm::StringLiteral("bigobj"), _SLASH_bigobj, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
275
OPTION(prefix_1, llvm::StringLiteral("bind_at_load"), bind__at__load, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
276
OPTION(prefix_3, llvm::StringLiteral("bootclasspath="), _bootclasspath_EQ, Joined, INVALID, fbootclasspath_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
277
OPTION(prefix_3, llvm::StringLiteral("bootclasspath"), _bootclasspath, Separate, INVALID, fbootclasspath_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
278
OPTION(prefix_2, llvm::StringLiteral("Brepro-"), _SLASH_Brepro_, Flag, cl_Group, mincremental_linker_compatible, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
279
       "Write current time into COFF output (default)", nullptr, nullptr)
280
OPTION(prefix_2, llvm::StringLiteral("Brepro"), _SLASH_Brepro, Flag, cl_Group, mno_incremental_linker_compatible, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
281
       "Do not write current time into COFF output (breaks link.exe /incremental)", nullptr, nullptr)
282
OPTION(prefix_2, llvm::StringLiteral("Bt+"), _SLASH_Bt_plus, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
283
OPTION(prefix_2, llvm::StringLiteral("Bt"), _SLASH_Bt, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
284
OPTION(prefix_1, llvm::StringLiteral("building-pch-with-obj"), building_pch_with_obj, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
285
       "This compilation is part of building a PCH with corresponding object file.", nullptr, nullptr)
286
OPTION(prefix_1, llvm::StringLiteral("bundle_loader"), bundle__loader, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
287
OPTION(prefix_1, llvm::StringLiteral("bundle"), bundle, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
288
OPTION(prefix_1, llvm::StringLiteral("B"), B, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0,
289
       "Search $prefix$file for executables, libraries, and data files. If $prefix is a directory, search $prefix/$file", "<prefix>", nullptr)
290
OPTION(prefix_1, llvm::StringLiteral("b"), b, JoinedOrSeparate, Link_Group, INVALID, nullptr, LinkerInput, 0,
291
       "Pass -b <arg> to the linker on AIX", "<arg>", nullptr)
292
OPTION(prefix_1, llvm::StringLiteral("c-isystem"), c_isystem, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
293
       "Add directory to the C SYSTEM include search path", "<directory>", nullptr)
294
OPTION(prefix_1, llvm::StringLiteral("canonical-prefixes"), canonical_prefixes, Flag, INVALID, INVALID, nullptr, HelpHidden | CoreOption, 0,
295
       "Use absolute paths for invoking subcommands (default)", nullptr, nullptr)
296
OPTION(prefix_1, llvm::StringLiteral("cc1as"), cc1as, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
297
OPTION(prefix_1, llvm::StringLiteral("cc1"), cc1, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
298
OPTION(prefix_1, llvm::StringLiteral("ccc-arcmt-check"), ccc_arcmt_check, Flag, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, 0,
299
       "Check for ARC migration issues that need manual handling", nullptr, nullptr)
300
OPTION(prefix_1, llvm::StringLiteral("ccc-arcmt-migrate"), ccc_arcmt_migrate, Separate, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, 0,
301
       "Apply modifications and produces temporary files that conform to ARC", nullptr, nullptr)
302
OPTION(prefix_1, llvm::StringLiteral("ccc-arcmt-modify"), ccc_arcmt_modify, Flag, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, 0,
303
       "Apply modifications to files to conform to ARC", nullptr, nullptr)
304
OPTION(prefix_1, llvm::StringLiteral("ccc-gcc-name"), ccc_gcc_name, Separate, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, 0,
305
       "Name for native GCC compiler", "<gcc-path>", nullptr)
306
OPTION(prefix_1, llvm::StringLiteral("ccc-install-dir"), ccc_install_dir, Separate, internal_debug_Group, INVALID, nullptr, NoXarchOption | HelpHidden | CoreOption, 0,
307
       "Simulate installation in the given directory", nullptr, nullptr)
308
OPTION(prefix_1, llvm::StringLiteral("ccc-objcmt-migrate"), ccc_objcmt_migrate, Separate, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, 0,
309
       "Apply modifications and produces temporary files to migrate to modern ObjC syntax", nullptr, nullptr)
310
OPTION(prefix_1, llvm::StringLiteral("ccc-print-bindings"), ccc_print_bindings, Flag, internal_debug_Group, INVALID, nullptr, NoXarchOption | HelpHidden | CoreOption, 0,
311
       "Show bindings of tools to actions", nullptr, nullptr)
312
OPTION(prefix_1, llvm::StringLiteral("ccc-print-phases"), ccc_print_phases, Flag, internal_debug_Group, INVALID, nullptr, NoXarchOption | HelpHidden | CoreOption, 0,
313
       "Dump list of actions to perform", nullptr, nullptr)
314
OPTION(prefix_1, llvm::StringLiteral("ccc-"), ccc_, Joined, internal_Group, INVALID, nullptr, Unsupported | HelpHidden, 0, nullptr, nullptr, nullptr)
315
OPTION(prefix_1, llvm::StringLiteral("CC"), CC, Flag, Preprocessor_Group, INVALID, nullptr, CC1Option, 0,
316
       "Include comments from within macros in preprocessed output", nullptr, nullptr)
317
OPTION(prefix_1, llvm::StringLiteral("cfg-add-implicit-dtors"), analysis_CFGAddImplicitDtors, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
318
       "Add C++ implicit destructors to CFGs for all analyses", nullptr, nullptr)
319
OPTION(prefix_1, llvm::StringLiteral("cfguard-no-checks"), cfguard_no_checks, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
320
       "Emit Windows Control Flow Guard tables only (no checks)", nullptr, nullptr)
321
OPTION(prefix_1, llvm::StringLiteral("cfguard"), cfguard, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
322
       "Emit Windows Control Flow Guard tables and checks", nullptr, nullptr)
323
OPTION(prefix_2, llvm::StringLiteral("cgthreads"), _SLASH_cgthreads, Joined, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption | HelpHidden, 0, nullptr, nullptr, nullptr)
324
OPTION(prefix_1, llvm::StringLiteral("chain-include"), chain_include, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
325
       "Include and chain a header file after turning it into PCH", "<file>", nullptr)
326
OPTION(prefix_1, llvm::StringLiteral("cl-denorms-are-zero"), cl_denorms_are_zero, Flag, opencl_Group, INVALID, nullptr, 0, 0,
327
       "OpenCL only. Allow denormals to be flushed to zero.", nullptr, nullptr)
328
OPTION(prefix_1, llvm::StringLiteral("cl-ext="), cl_ext_EQ, CommaJoined, opencl_Group, INVALID, nullptr, CC1Option, 0,
329
       "OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.", nullptr, nullptr)
330
OPTION(prefix_1, llvm::StringLiteral("cl-fast-relaxed-math"), cl_fast_relaxed_math, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
331
       "OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.", nullptr, nullptr)
332
OPTION(prefix_1, llvm::StringLiteral("cl-finite-math-only"), cl_finite_math_only, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
333
       "OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.", nullptr, nullptr)
334
OPTION(prefix_1, llvm::StringLiteral("cl-fp32-correctly-rounded-divide-sqrt"), cl_fp32_correctly_rounded_divide_sqrt, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
335
       "OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.", nullptr, nullptr)
336
OPTION(prefix_1, llvm::StringLiteral("cl-kernel-arg-info"), cl_kernel_arg_info, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
337
       "OpenCL only. Generate kernel argument metadata.", nullptr, nullptr)
338
OPTION(prefix_1, llvm::StringLiteral("cl-mad-enable"), cl_mad_enable, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
339
       "OpenCL only. Allow use of less precise MAD computations in the generated binary.", nullptr, nullptr)
340
OPTION(prefix_1, llvm::StringLiteral("cl-no-signed-zeros"), cl_no_signed_zeros, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
341
       "OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.", nullptr, nullptr)
342
OPTION(prefix_1, llvm::StringLiteral("cl-no-stdinc"), cl_no_stdinc, Flag, opencl_Group, INVALID, nullptr, 0, 0,
343
       "OpenCL only. Disables all standard includes containing non-native compiler types and functions.", nullptr, nullptr)
344
OPTION(prefix_1, llvm::StringLiteral("cl-opt-disable"), cl_opt_disable, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
345
       "OpenCL only. This option disables all optimizations. By default optimizations are enabled.", nullptr, nullptr)
346
OPTION(prefix_1, llvm::StringLiteral("cl-single-precision-constant"), cl_single_precision_constant, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
347
       "OpenCL only. Treat double precision floating-point constant as single precision constant.", nullptr, nullptr)
348
OPTION(prefix_1, llvm::StringLiteral("cl-std="), cl_std_EQ, Joined, opencl_Group, INVALID, nullptr, CC1Option, 0,
349
       "OpenCL language standard to compile for.", nullptr, "cl,CL,cl1.0,CL1.0,cl1.1,CL1.1,cl1.2,CL1.2,cl2.0,CL2.0,cl3.0,CL3.0,clc++,CLC++,clc++1.0,CLC++1.0,clc++2021,CLC++2021")
350
OPTION(prefix_1, llvm::StringLiteral("cl-strict-aliasing"), cl_strict_aliasing, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
351
       "OpenCL only. This option is added for compatibility with OpenCL 1.0.", nullptr, nullptr)
352
OPTION(prefix_1, llvm::StringLiteral("cl-uniform-work-group-size"), cl_uniform_work_group_size, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
353
       "OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel", nullptr, nullptr)
354
OPTION(prefix_1, llvm::StringLiteral("cl-unsafe-math-optimizations"), cl_unsafe_math_optimizations, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
355
       "OpenCL only. Allow unsafe floating-point optimizations.  Also implies -cl-no-signed-zeros and -cl-mad-enable.", nullptr, nullptr)
356
OPTION(prefix_2, llvm::StringLiteral("clang:"), _SLASH_clang, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
357
       "Pass <arg> to the clang driver", "<arg>", nullptr)
358
OPTION(prefix_3, llvm::StringLiteral("CLASSPATH="), _CLASSPATH_EQ, Joined, INVALID, fclasspath_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
359
OPTION(prefix_3, llvm::StringLiteral("classpath="), _classpath_EQ, Joined, INVALID, fclasspath_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
360
OPTION(prefix_3, llvm::StringLiteral("CLASSPATH"), _CLASSPATH, Separate, INVALID, fclasspath_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
361
OPTION(prefix_3, llvm::StringLiteral("classpath"), _classpath, Separate, INVALID, fclasspath_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
362
OPTION(prefix_1, llvm::StringLiteral("clear-ast-before-backend"), clear_ast_before_backend, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
363
       "Clear the Clang AST before running backend code generation", nullptr, nullptr)
364
OPTION(prefix_1, llvm::StringLiteral("client_name"), client__name, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
365
OPTION(prefix_2, llvm::StringLiteral("clr"), _SLASH_clr, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
366
OPTION(prefix_1, llvm::StringLiteral("code-completion-at="), code_completion_at_EQ, Joined, INVALID, code_completion_at, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
367
OPTION(prefix_1, llvm::StringLiteral("code-completion-at"), code_completion_at, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
368
       "Dump code-completion information at a location", "<file>:<line>:<column>", nullptr)
369
OPTION(prefix_1, llvm::StringLiteral("code-completion-brief-comments"), code_completion_brief_comments, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
370
       "Include brief documentation comments in code-completion results.", nullptr, nullptr)
371
OPTION(prefix_1, llvm::StringLiteral("code-completion-macros"), code_completion_macros, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
372
       "Include macros in code-completion results", nullptr, nullptr)
373
OPTION(prefix_1, llvm::StringLiteral("code-completion-patterns"), code_completion_patterns, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
374
       "Include code patterns in code-completion results", nullptr, nullptr)
375
OPTION(prefix_1, llvm::StringLiteral("code-completion-with-fixits"), code_completion_with_fixits, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
376
       "Include code completion results which require small fix-its.", nullptr, nullptr)
377
OPTION(prefix_4, llvm::StringLiteral("combine"), combine, Flag, INVALID, INVALID, nullptr, NoXarchOption | Unsupported, 0, nullptr, nullptr, nullptr)
378
OPTION(prefix_3, llvm::StringLiteral("comments-in-macros"), _comments_in_macros, Flag, INVALID, CC, nullptr, 0, 0, nullptr, nullptr, nullptr)
379
OPTION(prefix_3, llvm::StringLiteral("comments"), _comments, Flag, INVALID, C, nullptr, 0, 0, nullptr, nullptr, nullptr)
380
OPTION(prefix_1, llvm::StringLiteral("compatibility_version"), compatibility__version, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
381
OPTION(prefix_1, llvm::StringLiteral("compiler-options-dump"), compiler_options_dump, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
382
       "Dump the compiler configuration options", nullptr, nullptr)
383
OPTION(prefix_3, llvm::StringLiteral("compile"), _compile, Flag, INVALID, c, nullptr, 0, 0, nullptr, nullptr, nullptr)
384
OPTION(prefix_4, llvm::StringLiteral("compress-debug-sections="), compress_debug_sections_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
385
       "DWARF debug sections compression type", nullptr, "none,zlib,zstd")
386
OPTION(prefix_4, llvm::StringLiteral("compress-debug-sections"), compress_debug_sections, Flag, INVALID, compress_debug_sections_EQ, "zlib\0", CC1Option | CC1AsOption | NoDriverOption, 0, nullptr, nullptr, nullptr)
387
OPTION(prefix_3, llvm::StringLiteral("config-system-dir="), config_system_dir_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption | CoreOption | HelpHidden, 0,
388
       "System directory for configuration files", nullptr, nullptr)
389
OPTION(prefix_3, llvm::StringLiteral("config-user-dir="), config_user_dir_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption | CoreOption | HelpHidden, 0,
390
       "User directory for configuration files", nullptr, nullptr)
391
OPTION(prefix_3, llvm::StringLiteral("config="), config, Joined, INVALID, INVALID, nullptr, NoXarchOption | CoreOption, 0,
392
       "Specify configuration file", "<file>", nullptr)
393
OPTION(prefix_3, llvm::StringLiteral("config"), anonymous_48, Separate, INVALID, config, nullptr, 0, 0, nullptr, nullptr, nullptr)
394
OPTION(prefix_3, llvm::StringLiteral("constant-cfstrings"), _constant_cfstrings, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
395
OPTION(prefix_2, llvm::StringLiteral("constexpr:"), _SLASH_constexpr, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
396
OPTION(prefix_1, llvm::StringLiteral("coverage-data-file="), coverage_data_file_EQ, Joined, INVALID, coverage_data_file, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
397
OPTION(prefix_1, llvm::StringLiteral("coverage-data-file"), coverage_data_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
398
       "Emit coverage data to this filename.", nullptr, nullptr)
399
OPTION(prefix_1, llvm::StringLiteral("coverage-notes-file="), coverage_notes_file_EQ, Joined, INVALID, coverage_notes_file, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
400
OPTION(prefix_1, llvm::StringLiteral("coverage-notes-file"), coverage_notes_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
401
       "Emit coverage notes to this filename.", nullptr, nullptr)
402
OPTION(prefix_1, llvm::StringLiteral("coverage-version="), coverage_version_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
403
       "Four-byte version string for gcov files.", nullptr, nullptr)
404
OPTION(prefix_4, llvm::StringLiteral("coverage"), coverage, Flag, Link_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
405
OPTION(prefix_1, llvm::StringLiteral("cpp-precomp"), cpp_precomp, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
406
OPTION(prefix_1, llvm::StringLiteral("cpp"), cpp, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
407
       "Enable predefined and command line preprocessor macros", nullptr, nullptr)
408
OPTION(prefix_3, llvm::StringLiteral("cuda-compile-host-device"), cuda_compile_host_device, Flag, INVALID, offload_host_device, nullptr, 0, 0,
409
       "Compile CUDA code for both host and device (default). Has no effect on non-CUDA compilations.", nullptr, nullptr)
410
OPTION(prefix_3, llvm::StringLiteral("cuda-device-only"), cuda_device_only, Flag, INVALID, offload_device_only, nullptr, 0, 0,
411
       "Compile CUDA code for device only", nullptr, nullptr)
412
OPTION(prefix_3, llvm::StringLiteral("cuda-feature="), cuda_feature_EQ, Joined, INVALID, INVALID, nullptr, 0, 0,
413
       "Manually specify the CUDA feature to use", nullptr, nullptr)
414
OPTION(prefix_3, llvm::StringLiteral("cuda-gpu-arch="), cuda_gpu_arch_EQ, Joined, INVALID, offload_arch_EQ, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
415
OPTION(prefix_3, llvm::StringLiteral("cuda-host-only"), cuda_host_only, Flag, INVALID, offload_host_only, nullptr, 0, 0,
416
       "Compile CUDA code for host only. Has no effect on non-CUDA compilations.", nullptr, nullptr)
417
OPTION(prefix_3, llvm::StringLiteral("cuda-include-ptx="), cuda_include_ptx_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption, 0,
418
       "Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.", nullptr, nullptr)
419
OPTION(prefix_3, llvm::StringLiteral("cuda-noopt-device-debug"), cuda_noopt_device_debug, Flag, INVALID, INVALID, nullptr, 0, 0,
420
       "Enable device-side debug info generation. Disables ptxas optimizations.", nullptr, nullptr)
421
OPTION(prefix_3, llvm::StringLiteral("cuda-path-ignore-env"), cuda_path_ignore_env, Flag, i_Group, INVALID, nullptr, 0, 0,
422
       "Ignore environment variables to detect CUDA installation", nullptr, nullptr)
423
OPTION(prefix_3, llvm::StringLiteral("cuda-path="), cuda_path_EQ, Joined, i_Group, INVALID, nullptr, 0, 0,
424
       "CUDA installation path", nullptr, nullptr)
425
OPTION(prefix_1, llvm::StringLiteral("cuid="), cuid_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0,
426
       "An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.", nullptr, nullptr)
427
OPTION(prefix_1, llvm::StringLiteral("current_version"), current__version, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
428
OPTION(prefix_1, llvm::StringLiteral("cxx-isystem"), cxx_isystem, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
429
       "Add directory to the C++ SYSTEM include search path", "<directory>", nullptr)
430
OPTION(prefix_1, llvm::StringLiteral("C"), C, Flag, Preprocessor_Group, INVALID, nullptr, CC1Option, 0,
431
       "Include comments in preprocessed output", nullptr, nullptr)
432
OPTION(prefix_2, llvm::StringLiteral("C"), _SLASH_C, Flag, cl_Group, C, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
433
       "Do not discard comments when preprocessing", nullptr, nullptr)
434
OPTION(prefix_1, llvm::StringLiteral("c"), c, Flag, Action_Group, INVALID, nullptr, NoXarchOption | FlangOption, 0,
435
       "Only run preprocess, compile, and assemble steps", nullptr, nullptr)
436
OPTION(prefix_2, llvm::StringLiteral("c"), _SLASH_c, Flag, cl_Group, c, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
437
       "Compile only", nullptr, nullptr)
438
OPTION(prefix_2, llvm::StringLiteral("d1PP"), _SLASH_d1PP, Flag, cl_Group, dD, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
439
       "Retain macro definitions in /E mode", nullptr, nullptr)
440
OPTION(prefix_2, llvm::StringLiteral("d1reportAllClassLayout"), _SLASH_d1reportAllClassLayout, Flag, cl_Group, Xclang, "-fdump-record-layouts\0", CLOption | NoXarchOption | CLDXCOption, 0,
441
       "Dump record layout information", nullptr, nullptr)
442
OPTION(prefix_2, llvm::StringLiteral("d1"), _SLASH_d1, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
443
OPTION(prefix_2, llvm::StringLiteral("d2FastFail"), _SLASH_d2FastFail, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
444
OPTION(prefix_2, llvm::StringLiteral("d2Zi+"), _SLASH_d2Zi_PLUS, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
445
OPTION(prefix_2, llvm::StringLiteral("d2"), _SLASH_d2, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
446
OPTION(prefix_1, llvm::StringLiteral("darwin-target-variant-sdk-version="), darwin_target_variant_sdk_version_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
447
       "The version of darwin target variant SDK used for compilation", nullptr, nullptr)
448
OPTION(prefix_1, llvm::StringLiteral("darwin-target-variant-triple"), darwin_target_variant_triple, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption, 0,
449
       "Specify the darwin target variant triple", nullptr, nullptr)
450
OPTION(prefix_1, llvm::StringLiteral("darwin-target-variant"), darwin_target_variant, Separate, INVALID, INVALID, nullptr, NoXarchOption | CoreOption, 0,
451
       "Generate code for an additional runtime variant of the deployment target", nullptr, nullptr)
452
OPTION(prefix_1, llvm::StringLiteral("dA"), dA, Flag, INVALID, fverbose_asm, nullptr, 0, 0, nullptr, nullptr, nullptr)
453
OPTION(prefix_1, llvm::StringLiteral("dD"), dD, Flag, d_Group, INVALID, nullptr, CC1Option, 0,
454
       "Print macro definitions in -E mode in addition to normal output", nullptr, nullptr)
455
OPTION(prefix_1, llvm::StringLiteral("dead_strip"), dead__strip, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
456
OPTION(prefix_1, llvm::StringLiteral("debug-forward-template-params"), debug_forward_template_params, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
457
       "Emit complete descriptions of template parameters in forward declarations", nullptr, nullptr)
458
OPTION(prefix_1, llvm::StringLiteral("debug-info-kind="), debug_info_kind_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0, nullptr, nullptr, nullptr)
459
OPTION(prefix_1, llvm::StringLiteral("debug-info-macro"), debug_info_macro, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
460
       "Emit macro debug information", nullptr, nullptr)
461
OPTION(prefix_3, llvm::StringLiteral("debug="), _debug_EQ, Joined, INVALID, g_Flag, nullptr, 0, 0, nullptr, nullptr, nullptr)
462
OPTION(prefix_1, llvm::StringLiteral("debugger-tuning="), debugger_tuning_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0, nullptr, nullptr, "gdb,lldb,sce,dbx")
463
OPTION(prefix_3, llvm::StringLiteral("debug"), _debug, Flag, INVALID, g_Flag, nullptr, 0, 0, nullptr, nullptr, nullptr)
464
OPTION(prefix_1, llvm::StringLiteral("default-function-attr"), default_function_attr, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
465
       "Apply given attribute to all functions", nullptr, nullptr)
466
OPTION(prefix_3, llvm::StringLiteral("define-macro="), _define_macro_EQ, Joined, INVALID, D, nullptr, 0, 0, nullptr, nullptr, nullptr)
467
OPTION(prefix_3, llvm::StringLiteral("define-macro"), _define_macro, Separate, INVALID, D, nullptr, 0, 0, nullptr, nullptr, nullptr)
468
OPTION(prefix_1, llvm::StringLiteral("defsym"), defsym, Separate, INVALID, INVALID, nullptr, CC1AsOption | NoDriverOption, 0,
469
       "Define a value for a symbol", nullptr, nullptr)
470
OPTION(prefix_3, llvm::StringLiteral("dependencies"), _dependencies, Flag, INVALID, M, nullptr, 0, 0, nullptr, nullptr, nullptr)
471
OPTION(prefix_1, llvm::StringLiteral("dependency-dot"), dependency_dot, Separate, INVALID, INVALID, nullptr, CC1Option, 0,
472
       "Filename to write DOT-formatted header dependencies to", nullptr, nullptr)
473
OPTION(prefix_1, llvm::StringLiteral("dependency-file"), dependency_file, Separate, INVALID, INVALID, nullptr, CC1Option, 0,
474
       "Filename (or -) to write dependency output to", nullptr, nullptr)
475
OPTION(prefix_3, llvm::StringLiteral("dependent-lib="), dependent_lib, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
476
       "Add dependent library", nullptr, nullptr)
477
OPTION(prefix_1, llvm::StringLiteral("detailed-preprocessing-record"), detailed_preprocessing_record, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
478
       "include a detailed record of preprocessing actions", nullptr, nullptr)
479
OPTION(prefix_1, llvm::StringLiteral("diagnostic-log-file"), diagnostic_log_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
480
       "Filename (or -) to log diagnostics to", nullptr, nullptr)
481
OPTION(prefix_2, llvm::StringLiteral("diagnostics:caret"), _SLASH_diagnostics_caret, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
482
       "Enable caret and column diagnostics (default)", nullptr, nullptr)
483
OPTION(prefix_2, llvm::StringLiteral("diagnostics:classic"), _SLASH_diagnostics_classic, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
484
       "Disable column and caret diagnostics", nullptr, nullptr)
485
OPTION(prefix_2, llvm::StringLiteral("diagnostics:column"), _SLASH_diagnostics_column, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
486
       "Disable caret diagnostics but keep column info", nullptr, nullptr)
487
OPTION(prefix_2, llvm::StringLiteral("diasdkdir"), _SLASH_diasdkdir, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
488
       "Path to the DIA SDK", "<dir>", nullptr)
489
OPTION(prefix_1, llvm::StringLiteral("disable-free"), disable_free, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
490
       "Disable freeing of memory on exit", nullptr, nullptr)
491
OPTION(prefix_1, llvm::StringLiteral("disable-lifetime-markers"), disable_lifetimemarkers, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
492
       "Disable lifetime-markers emission even when optimizations are enabled", nullptr, nullptr)
493
OPTION(prefix_1, llvm::StringLiteral("disable-llvm-optzns"), disable_llvm_optzns, Flag, INVALID, disable_llvm_passes, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
494
OPTION(prefix_1, llvm::StringLiteral("disable-llvm-passes"), disable_llvm_passes, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
495
       "Use together with -emit-llvm to get pristine LLVM IR from the frontend by not running any LLVM passes at all", nullptr, nullptr)
496
OPTION(prefix_1, llvm::StringLiteral("disable-llvm-verifier"), disable_llvm_verifier, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
497
       "Don't run the LLVM IR verifier pass", nullptr, nullptr)
498
OPTION(prefix_1, llvm::StringLiteral("disable-O0-optnone"), disable_O0_optnone, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
499
       "Disable adding the optnone attribute to functions at O0", nullptr, nullptr)
500
OPTION(prefix_1, llvm::StringLiteral("disable-objc-default-synthesize-properties"), disable_objc_default_synthesize_properties, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
501
       "disable the default synthesis of Objective-C properties", nullptr, nullptr)
502
OPTION(prefix_1, llvm::StringLiteral("disable-pragma-debug-crash"), disable_pragma_debug_crash, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
503
       "Disable any #pragma clang __debug that can lead to crashing behavior. This is meant for testing.", nullptr, nullptr)
504
OPTION(prefix_1, llvm::StringLiteral("disable-red-zone"), disable_red_zone, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
505
       "Do not emit code that uses the red zone.", nullptr, nullptr)
506
OPTION(prefix_1, llvm::StringLiteral("discard-value-names"), discard_value_names, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
507
       "Discard value names in LLVM IR", nullptr, nullptr)
508
OPTION(prefix_1, llvm::StringLiteral("dI"), dI, Flag, d_Group, INVALID, nullptr, CC1Option, 0,
509
       "Print include directives in -E mode in addition to normal output", nullptr, nullptr)
510
OPTION(prefix_1, llvm::StringLiteral("dM"), dM, Flag, d_Group, INVALID, nullptr, CC1Option, 0,
511
       "Print macro definitions in -E mode instead of normal output", nullptr, nullptr)
512
OPTION(prefix_2, llvm::StringLiteral("doc"), _SLASH_doc, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
513
OPTION(prefix_3, llvm::StringLiteral("driver-mode="), driver_mode, Joined, internal_driver_Group, INVALID, nullptr, CoreOption | NoXarchOption | HelpHidden, 0,
514
       "Set the driver mode to either 'gcc', 'g++', 'cpp', or 'cl'", nullptr, nullptr)
515
OPTION(prefix_1, llvm::StringLiteral("dsym-dir"), dsym_dir, JoinedOrSeparate, INVALID, INVALID, nullptr, NoXarchOption | RenderAsInput, 0,
516
       "Directory to output dSYM's (if any) to", "<dir>", nullptr)
517
OPTION(prefix_1, llvm::StringLiteral("dump-coverage-mapping"), dump_coverage_mapping, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
518
       "Dump the coverage mapping records, for testing", nullptr, nullptr)
519
OPTION(prefix_1, llvm::StringLiteral("dump-deserialized-decls"), dump_deserialized_pch_decls, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
520
       "Dump declarations that are deserialized from PCH, for testing", nullptr, nullptr)
521
OPTION(prefix_1, llvm::StringLiteral("dump-raw-tokens"), dump_raw_tokens, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
522
       "Lex file in raw mode and dump raw tokens", nullptr, nullptr)
523
OPTION(prefix_1, llvm::StringLiteral("dump-tokens"), dump_tokens, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
524
       "Run preprocessor, dump internal rep of tokens", nullptr, nullptr)
525
OPTION(prefix_1, llvm::StringLiteral("dumpmachine"), dumpmachine, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
526
OPTION(prefix_1, llvm::StringLiteral("dumpspecs"), dumpspecs, Flag, INVALID, INVALID, nullptr, Unsupported, 0, nullptr, nullptr, nullptr)
527
OPTION(prefix_1, llvm::StringLiteral("dumpversion"), dumpversion, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
528
OPTION(prefix_1, llvm::StringLiteral("dwarf-debug-flags"), dwarf_debug_flags, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
529
       "The string to embed in the Dwarf debug flags record.", nullptr, nullptr)
530
OPTION(prefix_1, llvm::StringLiteral("dwarf-debug-producer"), dwarf_debug_producer, Separate, INVALID, INVALID, nullptr, CC1AsOption | NoDriverOption, 0,
531
       "The string to embed in the Dwarf debug AT_producer record.", nullptr, nullptr)
532
OPTION(prefix_1, llvm::StringLiteral("dwarf-explicit-import"), dwarf_explicit_import, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
533
       "Generate explicit import from anonymous namespace to containing scope", nullptr, nullptr)
534
OPTION(prefix_1, llvm::StringLiteral("dwarf-ext-refs"), dwarf_ext_refs, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
535
       "Generate debug info with external references to clang modules or precompiled headers", nullptr, nullptr)
536
OPTION(prefix_1, llvm::StringLiteral("dwarf-version="), dwarf_version_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0, nullptr, nullptr, nullptr)
537
OPTION(prefix_3, llvm::StringLiteral("dyld-prefix="), _dyld_prefix_EQ, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
538
OPTION(prefix_3, llvm::StringLiteral("dyld-prefix"), _dyld_prefix, Separate, INVALID, _dyld_prefix_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
539
OPTION(prefix_1, llvm::StringLiteral("dylib_file"), dylib__file, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
540
OPTION(prefix_1, llvm::StringLiteral("dylinker_install_name"), dylinker__install__name, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
541
OPTION(prefix_1, llvm::StringLiteral("dylinker"), dylinker, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
542
OPTION(prefix_1, llvm::StringLiteral("dynamiclib"), dynamiclib, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
543
OPTION(prefix_1, llvm::StringLiteral("dynamic"), dynamic, Flag, INVALID, INVALID, nullptr, NoArgumentUnused, 0, nullptr, nullptr, nullptr)
544
OPTION(prefix_5, llvm::StringLiteral("D"), dxc_D, JoinedOrSeparate, dxc_Group, D, nullptr, DXCOption | NoXarchOption | DXCOption, 0, nullptr, nullptr, nullptr)
545
OPTION(prefix_1, llvm::StringLiteral("D"), D, JoinedOrSeparate, Preprocessor_Group, INVALID, nullptr, CC1Option | FlangOption | FC1Option, 0,
546
       "Define <macro> to <value> (or 1 if <value> omitted)", "<macro>=<value>", nullptr)
547
OPTION(prefix_2, llvm::StringLiteral("D"), _SLASH_D, JoinedOrSeparate, cl_Group, D, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
548
       "Define macro", "<macro[=value]>", nullptr)
549
OPTION(prefix_1, llvm::StringLiteral("d"), d_Flag, Flag, d_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
550
OPTION(prefix_1, llvm::StringLiteral("d"), d_Joined, Joined, d_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
551
OPTION(prefix_1, llvm::StringLiteral("EB"), EB, Flag, INVALID, mbig_endian, nullptr, 0, 0, nullptr, nullptr, nullptr)
552
OPTION(prefix_1, llvm::StringLiteral("ehcontguard"), ehcontguard, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
553
       "Emit Windows EH Continuation Guard tables", nullptr, nullptr)
554
OPTION(prefix_2, llvm::StringLiteral("EH"), _SLASH_EH, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
555
       "Set exception handling model", nullptr, nullptr)
556
OPTION(prefix_1, llvm::StringLiteral("EL"), EL, Flag, INVALID, mlittle_endian, nullptr, 0, 0, nullptr, nullptr, nullptr)
557
OPTION(prefix_1, llvm::StringLiteral("emit-ast"), emit_ast, Flag, INVALID, INVALID, nullptr, CoreOption, 0,
558
       "Emit Clang AST files for source inputs", nullptr, nullptr)
559
OPTION(prefix_1, llvm::StringLiteral("emit-codegen-only"), emit_codegen_only, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
560
       "Generate machine code, but discard output", nullptr, nullptr)
561
OPTION(prefix_1, llvm::StringLiteral("emit-fir"), emit_fir, Flag, INVALID, emit_mlir, nullptr, FC1Option | FlangOnlyOption, 0, nullptr, nullptr, nullptr)
562
OPTION(prefix_1, llvm::StringLiteral("emit-header-unit"), emit_header_unit, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
563
       "Generate C++20 header units from header files", nullptr, nullptr)
564
OPTION(prefix_1, llvm::StringLiteral("emit-html"), emit_html, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
565
       "Output input source as HTML", nullptr, nullptr)
566
OPTION(prefix_1, llvm::StringLiteral("emit-interface-stubs"), emit_interface_stubs, Flag, Action_Group, INVALID, nullptr, CC1Option, 0,
567
       "Generate Interface Stub Files.", nullptr, nullptr)
568
OPTION(prefix_1, llvm::StringLiteral("emit-llvm-bc"), emit_llvm_bc, Flag, Action_Group, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
569
       "Build ASTs then convert to LLVM, emit .bc file", nullptr, nullptr)
570
OPTION(prefix_1, llvm::StringLiteral("emit-llvm-only"), emit_llvm_only, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
571
       "Build ASTs and convert to LLVM, discarding output", nullptr, nullptr)
572
OPTION(prefix_1, llvm::StringLiteral("emit-llvm-uselists"), emit_llvm_uselists, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
573
       "Preserve order of LLVM use-lists when serializing", nullptr, nullptr)
574
OPTION(prefix_1, llvm::StringLiteral("emit-llvm"), emit_llvm, Flag, Action_Group, INVALID, nullptr, CC1Option | FC1Option | FlangOption, 0,
575
       "Use the LLVM representation for assembler and object files", nullptr, nullptr)
576
OPTION(prefix_1, llvm::StringLiteral("emit-merged-ifs"), emit_merged_ifs, Flag, Action_Group, INVALID, nullptr, CC1Option, 0,
577
       "Generate Interface Stub Files, emit merged text not binary.", nullptr, nullptr)
578
OPTION(prefix_1, llvm::StringLiteral("emit-mlir"), emit_mlir, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
579
       "Build the parse tree, then lower it to MLIR", nullptr, nullptr)
580
OPTION(prefix_1, llvm::StringLiteral("emit-module-interface"), emit_module_interface, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
581
       "Generate pre-compiled module file from a C++ module interface", nullptr, nullptr)
582
OPTION(prefix_1, llvm::StringLiteral("emit-module"), emit_module, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
583
       "Generate pre-compiled module file from a module map", nullptr, nullptr)
584
OPTION(prefix_1, llvm::StringLiteral("emit-obj"), emit_obj, Flag, Action_Group, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
585
       "Emit native object files", nullptr, nullptr)
586
OPTION(prefix_1, llvm::StringLiteral("emit-pch"), emit_pch, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
587
       "Generate pre-compiled header file", nullptr, nullptr)
588
OPTION(prefix_2, llvm::StringLiteral("emit-pristine-llvm"), emit_pristine_llvm, Flag, dxc_Group, INVALID, nullptr, DXCOption | NoXarchOption | DXCOption, 0,
589
       "Emit pristine LLVM IR from the frontend by not running any LLVM passes at all.Same as -S + -emit-llvm + -disable-llvm-passes.", nullptr, nullptr)
590
OPTION(prefix_3, llvm::StringLiteral("emit-static-lib"), emit_static_lib, Flag, INVALID, INVALID, nullptr, 0, 0,
591
       "Enable linker job to emit a static library.", nullptr, nullptr)
592
OPTION(prefix_2, llvm::StringLiteral("enable-16bit-types"), enable_16bit_types, Flag, dxc_Group, fnative_half_type, nullptr, DXCOption | NoXarchOption | DXCOption, 0,
593
       "Enable 16-bit types and disable min precision types.Available in HLSL 2018 and shader model 6.2.", nullptr, nullptr)
594
OPTION(prefix_1, llvm::StringLiteral("enable-noundef-analysis"), enable_noundef_analysis, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
595
       "Enable analyzing function argument and return types for mandatory definedness", nullptr, nullptr)
596
OPTION(prefix_1, llvm::StringLiteral("enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang"), enable_trivial_var_init_zero, Flag, clang_ignored_legacy_options_Group, INVALID, nullptr, CC1Option | CoreOption | NoArgumentUnused | Ignored, 0, nullptr, nullptr, nullptr)
597
OPTION(prefix_3, llvm::StringLiteral("encoding="), _encoding_EQ, Joined, INVALID, fencoding_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
598
OPTION(prefix_3, llvm::StringLiteral("encoding"), _encoding, Separate, INVALID, fencoding_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
599
OPTION(prefix_3, llvm::StringLiteral("end-no-unused-arguments"), end_no_unused_arguments, Flag, INVALID, INVALID, nullptr, CoreOption, 0,
600
       "Start emitting warnings for unused driver arguments", nullptr, nullptr)
601
OPTION(prefix_3, llvm::StringLiteral("entry"), _entry, Flag, INVALID, e, nullptr, 0, 0, nullptr, nullptr, nullptr)
602
OPTION(prefix_1, llvm::StringLiteral("Eonly"), Eonly, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
603
       "Just run preprocessor, no output (for timings)", nullptr, nullptr)
604
OPTION(prefix_2, llvm::StringLiteral("EP"), _SLASH_EP, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
605
       "Disable linemarker output and preprocess to stdout", nullptr, nullptr)
606
OPTION(prefix_1, llvm::StringLiteral("error-on-deserialized-decl="), error_on_deserialized_pch_decl_EQ, Joined, INVALID, error_on_deserialized_pch_decl, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
607
OPTION(prefix_1, llvm::StringLiteral("error-on-deserialized-decl"), error_on_deserialized_pch_decl, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
608
       "Emit error if a specific declaration is deserialized from PCH, for testing", nullptr, nullptr)
609
OPTION(prefix_2, llvm::StringLiteral("errorReport"), _SLASH_errorReport, Joined, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption | HelpHidden, 0, nullptr, nullptr, nullptr)
610
OPTION(prefix_1, llvm::StringLiteral("exception-model="), exception_model_EQ, Joined, INVALID, exception_model, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
611
OPTION(prefix_1, llvm::StringLiteral("exception-model"), exception_model, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
612
       "The exception model", nullptr, "dwarf,sjlj,seh,wasm")
613
OPTION(prefix_2, llvm::StringLiteral("execution-charset:"), _SLASH_execution_charset, Joined, cl_compile_Group, fexec_charset_EQ, nullptr, CLOption | NoXarchOption, 0,
614
       "Set runtime encoding, supports only UTF-8", nullptr, nullptr)
615
OPTION(prefix_2, llvm::StringLiteral("experimental:"), _SLASH_experimental, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
616
OPTION(prefix_1, llvm::StringLiteral("exported_symbols_list"), exported__symbols__list, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
617
OPTION(prefix_2, llvm::StringLiteral("exportHeader"), _SLASH_exportHeader, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
618
OPTION(prefix_3, llvm::StringLiteral("extdirs="), _extdirs_EQ, Joined, INVALID, fextdirs_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
619
OPTION(prefix_3, llvm::StringLiteral("extdirs"), _extdirs, Separate, INVALID, fextdirs_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
620
OPTION(prefix_2, llvm::StringLiteral("external:env:"), _SLASH_external_env, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
621
       "Add dirs in env var <var> to include search path with warnings suppressed", "<var>", nullptr)
622
OPTION(prefix_2, llvm::StringLiteral("external:I"), _SLASH_external_COLON_I, JoinedOrSeparate, cl_Group, isystem, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
623
       "Add directory to include search path with warnings suppressed", "<dir>", nullptr)
624
OPTION(prefix_2, llvm::StringLiteral("external:W0"), _SLASH_external_W0, Flag, cl_Group, Wno_system_headers, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
625
       "Ignore warnings from system headers (default)", nullptr, nullptr)
626
OPTION(prefix_2, llvm::StringLiteral("external:W1"), _SLASH_external_W1, Flag, cl_Group, Wsystem_headers, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
627
       "Enable -Wsystem-headers", nullptr, nullptr)
628
OPTION(prefix_2, llvm::StringLiteral("external:W2"), _SLASH_external_W2, Flag, cl_Group, Wsystem_headers, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
629
       "Enable -Wsystem-headers", nullptr, nullptr)
630
OPTION(prefix_2, llvm::StringLiteral("external:W3"), _SLASH_external_W3, Flag, cl_Group, Wsystem_headers, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
631
       "Enable -Wsystem-headers", nullptr, nullptr)
632
OPTION(prefix_2, llvm::StringLiteral("external:W4"), _SLASH_external_W4, Flag, cl_Group, Wsystem_headers, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
633
       "Enable -Wsystem-headers", nullptr, nullptr)
634
OPTION(prefix_2, llvm::StringLiteral("external:"), _SLASH_external, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
635
OPTION(prefix_3, llvm::StringLiteral("extra-warnings"), _extra_warnings, Flag, INVALID, W_Joined, nullptr, 0, 0, nullptr, nullptr, nullptr)
636
OPTION(prefix_3, llvm::StringLiteral("extract-api-ignores="), extract_api_ignores_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0,
637
       "File containing a new line separated list of API symbols to ignore when extracting API information.", nullptr, nullptr)
638
OPTION(prefix_1, llvm::StringLiteral("extract-api"), extract_api, Flag, Action_Group, INVALID, nullptr, CC1Option, 0,
639
       "Extract API information", nullptr, nullptr)
640
OPTION(prefix_5, llvm::StringLiteral("E"), dxc_entrypoint, JoinedOrSeparate, dxc_Group, INVALID, nullptr, DXCOption | NoXarchOption | DXCOption, 0,
641
       "Entry point name", nullptr, nullptr)
642
OPTION(prefix_1, llvm::StringLiteral("E"), E, Flag, Action_Group, INVALID, nullptr, NoXarchOption | CC1Option | FlangOption | FC1Option, 0,
643
       "Only run the preprocessor", nullptr, nullptr)
644
OPTION(prefix_2, llvm::StringLiteral("E"), _SLASH_E, Flag, cl_Group, E, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
645
       "Preprocess to stdout", nullptr, nullptr)
646
OPTION(prefix_1, llvm::StringLiteral("e"), e, JoinedOrSeparate, Link_Group, INVALID, nullptr, LinkerInput, 0, nullptr, nullptr, nullptr)
647
OPTION(prefix_1, llvm::StringLiteral("faapcs-bitfield-load"), ForceAAPCSBitfieldLoad, Flag, m_arm_Features_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
648
       "Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).", nullptr, nullptr)
649
OPTION(prefix_1, llvm::StringLiteral("faapcs-bitfield-width"), faapcs_bitfield_width, Flag, m_arm_Features_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
650
       "Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).", nullptr, nullptr)
651
OPTION(prefix_1, llvm::StringLiteral("faccess-control"), faccess_control, Flag, f_Group, INVALID, nullptr, 0, 0,
652
       "", nullptr, nullptr)
653
OPTION(prefix_1, llvm::StringLiteral("faddress-space-map-mangling="), faddress_space_map_mangling_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
654
       "Set the mode for address space map based mangling; OpenCL testing purposes only", nullptr, "target,no,yes")
655
OPTION(prefix_1, llvm::StringLiteral("faddrsig"), faddrsig, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
656
       "Emit an address-significance table", nullptr, nullptr)
657
OPTION(prefix_1, llvm::StringLiteral("faggressive-function-elimination"), faggressive_function_elimination, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
658
OPTION(prefix_1, llvm::StringLiteral("falign-commons"), falign_commons, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
659
OPTION(prefix_1, llvm::StringLiteral("falign-functions="), falign_functions_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
660
OPTION(prefix_1, llvm::StringLiteral("falign-functions"), falign_functions, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
661
OPTION(prefix_1, llvm::StringLiteral("falign-jumps="), falign_jumps_EQ, Joined, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
662
OPTION(prefix_1, llvm::StringLiteral("falign-jumps"), falign_jumps, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
663
OPTION(prefix_1, llvm::StringLiteral("falign-labels="), falign_labels_EQ, Joined, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
664
OPTION(prefix_1, llvm::StringLiteral("falign-labels"), falign_labels, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
665
OPTION(prefix_1, llvm::StringLiteral("falign-loops="), falign_loops_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
666
       "N must be a power of two. Align loops to the boundary", "<N>", nullptr)
667
OPTION(prefix_1, llvm::StringLiteral("falign-loops"), falign_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
668
OPTION(prefix_1, llvm::StringLiteral("faligned-alloc-unavailable"), aligned_alloc_unavailable, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
669
       "Aligned allocation/deallocation functions are unavailable", nullptr, nullptr)
670
OPTION(prefix_1, llvm::StringLiteral("faligned-allocation"), faligned_allocation, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
671
       "Enable C++17 aligned allocation functions", nullptr, nullptr)
672
OPTION(prefix_1, llvm::StringLiteral("faligned-new="), faligned_new_EQ, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
673
OPTION(prefix_1, llvm::StringLiteral("faligned-new"), anonymous_894, Flag, INVALID, faligned_allocation, nullptr, 0, 0, nullptr, nullptr, nullptr)
674
OPTION(prefix_1, llvm::StringLiteral("fall-intrinsics"), fall_intrinsics, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
675
OPTION(prefix_1, llvm::StringLiteral("fallow-editor-placeholders"), fallow_editor_placeholders, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
676
       "Treat editor placeholders as valid source code", nullptr, nullptr)
677
OPTION(prefix_1, llvm::StringLiteral("fallow-pch-with-compiler-errors"), fallow_pch_with_errors, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
678
       "Accept a PCH file that was created with compiler errors", nullptr, nullptr)
679
OPTION(prefix_1, llvm::StringLiteral("fallow-pch-with-different-modules-cache-path"), fallow_pch_with_different_modules_cache_path, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
680
       "Accept a PCH file that was created with a different modules cache path", nullptr, nullptr)
681
OPTION(prefix_1, llvm::StringLiteral("fallow-pcm-with-compiler-errors"), fallow_pcm_with_errors, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
682
       "Accept a PCM file that was created with compiler errors", nullptr, nullptr)
683
OPTION(prefix_1, llvm::StringLiteral("fallow-unsupported"), fallow_unsupported, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
684
OPTION(prefix_1, llvm::StringLiteral("falternative-parameter-statement"), falternative_parameter_statement, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
685
       "Enable the old style PARAMETER statement", nullptr, nullptr)
686
OPTION(prefix_1, llvm::StringLiteral("faltivec-src-compat="), altivec_src_compat, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
687
       "Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.", nullptr, "mixed,gcc,xl")
688
OPTION(prefix_1, llvm::StringLiteral("faltivec"), faltivec, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
689
OPTION(prefix_1, llvm::StringLiteral("fanalyzed-objects-for-unparse"), fanalyzed_objects_for_unparse, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
690
       "", nullptr, nullptr)
691
OPTION(prefix_1, llvm::StringLiteral("fansi-escape-codes"), fansi_escape_codes, Flag, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
692
       "Use ANSI escape codes for diagnostics", nullptr, nullptr)
693
OPTION(prefix_1, llvm::StringLiteral("fapple-kext"), fapple_kext, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
694
       "Use Apple's kernel extensions ABI", nullptr, nullptr)
695
OPTION(prefix_1, llvm::StringLiteral("fapple-link-rtlib"), fapple_link_rtlib, Flag, f_Group, INVALID, nullptr, 0, 0,
696
       "Force linking the clang builtins runtime library", nullptr, nullptr)
697
OPTION(prefix_1, llvm::StringLiteral("fapple-pragma-pack"), fapple_pragma_pack, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
698
       "Enable Apple gcc-compatible #pragma pack handling", nullptr, nullptr)
699
OPTION(prefix_1, llvm::StringLiteral("fapplication-extension"), fapplication_extension, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
700
       "Restrict code to those available for App Extensions", nullptr, nullptr)
701
OPTION(prefix_1, llvm::StringLiteral("fapply-global-visibility-to-externs"), fapply_global_visibility_to_externs, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
702
       "Apply global symbol visibility to external declarations without an explicit visibility", nullptr, nullptr)
703
OPTION(prefix_1, llvm::StringLiteral("fapprox-func"), fapprox_func, Flag, f_Group, INVALID, nullptr, CC1Option | FC1Option | FlangOption, 0,
704
       "Allow certain math function calls to be replaced with an approximately equivalent calculation", nullptr, nullptr)
705
OPTION(prefix_1, llvm::StringLiteral("fasm-blocks"), fasm_blocks, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
706
       "", nullptr, nullptr)
707
OPTION(prefix_1, llvm::StringLiteral("fasm"), fasm, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
708
OPTION(prefix_1, llvm::StringLiteral("fassociative-math"), fassociative_math, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
709
OPTION(prefix_1, llvm::StringLiteral("fassume-sane-operator-new"), fassume_sane_operator_new, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
710
OPTION(prefix_1, llvm::StringLiteral("fastcp"), fastcp, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
711
OPTION(prefix_1, llvm::StringLiteral("fastf"), fastf, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
712
OPTION(prefix_1, llvm::StringLiteral("fast"), fast, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
713
OPTION(prefix_1, llvm::StringLiteral("fasync-exceptions"), fasync_exceptions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
714
       "Enable EH Asynchronous exceptions", nullptr, nullptr)
715
OPTION(prefix_1, llvm::StringLiteral("fasynchronous-unwind-tables"), fasynchronous_unwind_tables, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
716
OPTION(prefix_1, llvm::StringLiteral("fauto-profile-accurate"), fauto_profile_accurate, Flag, f_Group, fprofile_sample_accurate, nullptr, 0, 0, nullptr, nullptr, nullptr)
717
OPTION(prefix_1, llvm::StringLiteral("fauto-profile="), fauto_profile_EQ, Joined, INVALID, fprofile_sample_use_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
718
OPTION(prefix_1, llvm::StringLiteral("fauto-profile"), fauto_profile, Flag, f_Group, fprofile_sample_use, nullptr, 0, 0, nullptr, nullptr, nullptr)
719
OPTION(prefix_1, llvm::StringLiteral("fautolink"), fautolink, Flag, f_Group, INVALID, nullptr, 0, 0,
720
       "", nullptr, nullptr)
721
OPTION(prefix_1, llvm::StringLiteral("fautomatic"), fautomatic, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
722
OPTION(prefix_2, llvm::StringLiteral("favor"), _SLASH_favor, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
723
OPTION(prefix_2, llvm::StringLiteral("FA"), _SLASH_FA, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
724
       "Output assembly code file during compilation", nullptr, nullptr)
725
OPTION(prefix_2, llvm::StringLiteral("Fa"), _SLASH_Fa, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
726
       "Set assembly output file name (with /FA)", "<file or dir/>", nullptr)
727
OPTION(prefix_1, llvm::StringLiteral("fbackslash"), fbackslash, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
728
       "Specify that backslash in string introduces an escape character", nullptr, nullptr)
729
OPTION(prefix_1, llvm::StringLiteral("fbacktrace"), fbacktrace, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
730
OPTION(prefix_1, llvm::StringLiteral("fbasic-block-sections="), fbasic_block_sections_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CC1AsOption, 0,
731
       "Place each function's basic blocks in unique sections (ELF Only)", nullptr, "all,labels,none,list=")
732
OPTION(prefix_1, llvm::StringLiteral("fbinutils-version="), fbinutils_version_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
733
       "Produced object files can use all ELF features supported by this binutils version and newer. If -fno-integrated-as is specified, the generated assembly will consider GNU as support. 'none' means that all ELF features can be used, regardless of binutils support. Defaults to 2.26.", "<major.minor>", nullptr)
734
OPTION(prefix_1, llvm::StringLiteral("fblas-matmul-limit="), fblas_matmul_limit_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
735
OPTION(prefix_1, llvm::StringLiteral("fblocks-runtime-optional"), fblocks_runtime_optional, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
736
       "Weakly link in the blocks runtime", nullptr, nullptr)
737
OPTION(prefix_1, llvm::StringLiteral("fblocks"), fblocks, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
738
       "Enable the 'blocks' language feature", nullptr, nullptr)
739
OPTION(prefix_1, llvm::StringLiteral("fbootclasspath="), fbootclasspath_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
740
OPTION(prefix_1, llvm::StringLiteral("fborland-extensions"), fborland_extensions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
741
       "Accept non-standard constructs supported by the Borland compiler", nullptr, nullptr)
742
OPTION(prefix_1, llvm::StringLiteral("fbounds-check"), fbounds_check, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
743
OPTION(prefix_1, llvm::StringLiteral("fbracket-depth="), fbracket_depth_EQ, Joined, f_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
744
OPTION(prefix_1, llvm::StringLiteral("fbracket-depth"), fbracket_depth, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
745
       "Maximum nesting level for parentheses, brackets, and braces", nullptr, nullptr)
746
OPTION(prefix_1, llvm::StringLiteral("fbranch-count-reg"), fbranch_count_reg, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
747
OPTION(prefix_1, llvm::StringLiteral("fbuild-session-file="), fbuild_session_file, Joined, i_Group, INVALID, nullptr, 0, 0,
748
       "Use the last modification time of <file> as the build session timestamp", "<file>", nullptr)
749
OPTION(prefix_1, llvm::StringLiteral("fbuild-session-timestamp="), fbuild_session_timestamp, Joined, i_Group, INVALID, nullptr, CC1Option, 0,
750
       "Time when the current build session started", "<time since Epoch in seconds>", nullptr)
751
OPTION(prefix_1, llvm::StringLiteral("fbuiltin-module-map"), fbuiltin_module_map, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0,
752
       "Load the clang builtins module map file.", nullptr, nullptr)
753
OPTION(prefix_1, llvm::StringLiteral("fbuiltin"), fbuiltin, Flag, f_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
754
OPTION(prefix_1, llvm::StringLiteral("fc++-abi="), fcxx_abi_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option, 0,
755
       "C++ ABI to use. This will override the target C++ ABI.", nullptr, nullptr)
756
OPTION(prefix_1, llvm::StringLiteral("fc++-static-destructors"), fcxx_static_destructors, Flag, f_Group, INVALID, nullptr, 0, 0,
757
       "", nullptr, nullptr)
758
OPTION(prefix_1, llvm::StringLiteral("fcall-saved-x10"), fcall_saved_x10, Flag, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
759
       "Make the x10 register call-saved (AArch64 only)", nullptr, nullptr)
760
OPTION(prefix_1, llvm::StringLiteral("fcall-saved-x11"), fcall_saved_x11, Flag, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
761
       "Make the x11 register call-saved (AArch64 only)", nullptr, nullptr)
762
OPTION(prefix_1, llvm::StringLiteral("fcall-saved-x12"), fcall_saved_x12, Flag, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
763
       "Make the x12 register call-saved (AArch64 only)", nullptr, nullptr)
764
OPTION(prefix_1, llvm::StringLiteral("fcall-saved-x13"), fcall_saved_x13, Flag, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
765
       "Make the x13 register call-saved (AArch64 only)", nullptr, nullptr)
766
OPTION(prefix_1, llvm::StringLiteral("fcall-saved-x14"), fcall_saved_x14, Flag, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
767
       "Make the x14 register call-saved (AArch64 only)", nullptr, nullptr)
768
OPTION(prefix_1, llvm::StringLiteral("fcall-saved-x15"), fcall_saved_x15, Flag, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
769
       "Make the x15 register call-saved (AArch64 only)", nullptr, nullptr)
770
OPTION(prefix_1, llvm::StringLiteral("fcall-saved-x18"), fcall_saved_x18, Flag, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
771
       "Make the x18 register call-saved (AArch64 only)", nullptr, nullptr)
772
OPTION(prefix_1, llvm::StringLiteral("fcall-saved-x8"), fcall_saved_x8, Flag, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
773
       "Make the x8 register call-saved (AArch64 only)", nullptr, nullptr)
774
OPTION(prefix_1, llvm::StringLiteral("fcall-saved-x9"), fcall_saved_x9, Flag, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
775
       "Make the x9 register call-saved (AArch64 only)", nullptr, nullptr)
776
OPTION(prefix_1, llvm::StringLiteral("fcaller-saves"), fcaller_saves, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
777
OPTION(prefix_1, llvm::StringLiteral("fcaret-diagnostics-max-lines"), fcaret_diagnostics_max_lines, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
778
       "Set the maximum number of source lines to show in a caret diagnostic", "<N>", nullptr)
779
OPTION(prefix_1, llvm::StringLiteral("fcaret-diagnostics"), fcaret_diagnostics, Flag, f_Group, INVALID, nullptr, 0, 0,
780
       "", nullptr, nullptr)
781
OPTION(prefix_1, llvm::StringLiteral("fcf-protection="), fcf_protection_EQ, Joined, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
782
       "Instrument control-flow architecture protection", nullptr, "return,branch,full,none")
783
OPTION(prefix_1, llvm::StringLiteral("fcf-protection"), fcf_protection, Flag, f_Group, fcf_protection_EQ, "full\0", CoreOption | CC1Option, 0,
784
       "Enable cf-protection in 'full' mode", nullptr, nullptr)
785
OPTION(prefix_1, llvm::StringLiteral("fcf-runtime-abi="), fcf_runtime_abi_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, "unspecified,standalone,objc,swift,swift-5.0,swift-4.2,swift-4.1")
786
OPTION(prefix_2, llvm::StringLiteral("fcgl"), fcgl, Flag, dxc_Group, emit_pristine_llvm, nullptr, DXCOption | NoXarchOption | DXCOption, 0, nullptr, nullptr, nullptr)
787
OPTION(prefix_1, llvm::StringLiteral("fchar8_t"), fchar8__t, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
788
       "Enable C++ builtin type char8_t", nullptr, nullptr)
789
OPTION(prefix_1, llvm::StringLiteral("fcheck-array-temporaries"), fcheck_array_temporaries, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
790
OPTION(prefix_1, llvm::StringLiteral("fcheck-new"), ffcheck_new, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
791
OPTION(prefix_1, llvm::StringLiteral("fcheck="), fcheck_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
792
OPTION(prefix_1, llvm::StringLiteral("fclang-abi-compat="), fclang_abi_compat_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option, 0,
793
       "Attempt to match the ABI of Clang <version>", "<version>", "<major>.<minor>,latest")
794
OPTION(prefix_1, llvm::StringLiteral("fclasspath="), fclasspath_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
795
OPTION(prefix_1, llvm::StringLiteral("fcoarray="), fcoarray_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
796
OPTION(prefix_1, llvm::StringLiteral("fcolor-diagnostics"), fcolor_diagnostics, Flag, f_Group, INVALID, nullptr, CoreOption | CC1Option | FlangOption | FC1Option, 0,
797
       "Enable colors in diagnostics", nullptr, nullptr)
798
OPTION(prefix_1, llvm::StringLiteral("fcomment-block-commands="), fcomment_block_commands, CommaJoined, f_clang_Group, INVALID, nullptr, CC1Option, 0,
799
       "Treat each comma separated argument in <arg> as a documentation comment block command", "<arg>", nullptr)
800
OPTION(prefix_1, llvm::StringLiteral("fcommon"), fcommon, Flag, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
801
       "Place uninitialized global variables in a common block", nullptr, nullptr)
802
OPTION(prefix_1, llvm::StringLiteral("fcompatibility-qualified-id-block-type-checking"), fcompatibility_qualified_id_block_param_type_checking, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
803
       "Allow using blocks with parameters of more specific type than the type system guarantees when a parameter is qualified id", nullptr, nullptr)
804
OPTION(prefix_1, llvm::StringLiteral("fcompile-resource="), fcompile_resource_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
805
OPTION(prefix_1, llvm::StringLiteral("fcomplete-member-pointers"), fcomplete_member_pointers, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
806
       "Require member pointer base types to be complete if they would be significant under the Microsoft ABI", nullptr, nullptr)
807
OPTION(prefix_1, llvm::StringLiteral("fconst-strings"), fconst_strings, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
808
       "Use a const qualified type for string literals in C and ObjC", nullptr, nullptr)
809
OPTION(prefix_1, llvm::StringLiteral("fconstant-cfstrings"), fconstant_cfstrings, Flag, f_Group, INVALID, nullptr, 0, 0,
810
       "", nullptr, nullptr)
811
OPTION(prefix_1, llvm::StringLiteral("fconstant-string-class="), fconstant_string_class_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
812
OPTION(prefix_1, llvm::StringLiteral("fconstant-string-class"), fconstant_string_class, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
813
       "Specify the class to use for constant Objective-C string objects.", "<class name>", nullptr)
814
OPTION(prefix_1, llvm::StringLiteral("fconstexpr-backtrace-limit="), fconstexpr_backtrace_limit_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
815
OPTION(prefix_1, llvm::StringLiteral("fconstexpr-backtrace-limit"), fconstexpr_backtrace_limit, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
816
       "Set the maximum number of entries to print in a constexpr evaluation backtrace (0 = no limit).", "<N>", nullptr)
817
OPTION(prefix_1, llvm::StringLiteral("fconstexpr-depth="), fconstexpr_depth_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
818
OPTION(prefix_1, llvm::StringLiteral("fconstexpr-depth"), fconstexpr_depth, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
819
       "Maximum depth of recursive constexpr function calls", nullptr, nullptr)
820
OPTION(prefix_1, llvm::StringLiteral("fconstexpr-steps="), fconstexpr_steps_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
821
OPTION(prefix_1, llvm::StringLiteral("fconstexpr-steps"), fconstexpr_steps, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
822
       "Maximum number of steps in constexpr function evaluation", nullptr, nullptr)
823
OPTION(prefix_1, llvm::StringLiteral("fconvergent-functions"), fconvergent_functions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
824
       "Assume functions may be convergent", nullptr, nullptr)
825
OPTION(prefix_1, llvm::StringLiteral("fconvert="), fconvert_EQ, Joined, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
826
       "Set endian conversion of data for unformatted files", nullptr, nullptr)
827
OPTION(prefix_1, llvm::StringLiteral("fcoro-aligned-allocation"), fcoro_aligned_allocation, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
828
       "Prefer aligned allocation for C++ Coroutines", nullptr, nullptr)
829
OPTION(prefix_1, llvm::StringLiteral("fcoroutines-ts"), fcoroutines_ts, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
830
       "Enable support for the C++ Coroutines TS", nullptr, nullptr)
831
OPTION(prefix_1, llvm::StringLiteral("fcoverage-compilation-dir="), fcoverage_compilation_dir_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CC1AsOption | CoreOption, 0,
832
       "The compilation directory to embed in the coverage mapping.", nullptr, nullptr)
833
OPTION(prefix_1, llvm::StringLiteral("fcoverage-mapping"), fcoverage_mapping, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
834
       "Generate coverage mapping to enable code coverage analysis", nullptr, nullptr)
835
OPTION(prefix_1, llvm::StringLiteral("fcoverage-prefix-map="), fcoverage_prefix_map_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
836
       "remap file source paths in coverage mapping", nullptr, nullptr)
837
OPTION(prefix_1, llvm::StringLiteral("fcrash-diagnostics-dir="), fcrash_diagnostics_dir, Joined, f_clang_Group, INVALID, nullptr, NoArgumentUnused | CoreOption, 0,
838
       "Put crash-report files in <dir>", "<dir>", nullptr)
839
OPTION(prefix_1, llvm::StringLiteral("fcrash-diagnostics="), fcrash_diagnostics_EQ, Joined, f_clang_Group, INVALID, nullptr, NoArgumentUnused | CoreOption, 0,
840
       "Set level of crash diagnostic reporting, (option: off, compiler, all)", nullptr, nullptr)
841
OPTION(prefix_1, llvm::StringLiteral("fcrash-diagnostics"), fcrash_diagnostics, Flag, f_clang_Group, fcrash_diagnostics_EQ, "compiler\0", NoArgumentUnused | CoreOption, 0,
842
       "Enable crash diagnostic reporting (default)", nullptr, nullptr)
843
OPTION(prefix_1, llvm::StringLiteral("fcray-pointer"), fcray_pointer, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
844
OPTION(prefix_1, llvm::StringLiteral("fcreate-profile"), fcreate_profile, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
845
OPTION(prefix_1, llvm::StringLiteral("fcs-profile-generate="), fcs_profile_generate_EQ, Joined, f_Group, INVALID, nullptr, CoreOption, 0,
846
       "Generate instrumented code to collect context sensitive execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)", "<directory>", nullptr)
847
OPTION(prefix_1, llvm::StringLiteral("fcs-profile-generate"), fcs_profile_generate, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
848
       "Generate instrumented code to collect context sensitive execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)", nullptr, nullptr)
849
OPTION(prefix_1, llvm::StringLiteral("fctor-dtor-return-this"), fctor_dtor_return_this, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
850
       "Change the C++ ABI to returning `this` pointer from constructors and non-deleting destructors. (No effect on Microsoft ABI)", nullptr, nullptr)
851
OPTION(prefix_1, llvm::StringLiteral("fcuda-allow-variadic-functions"), fcuda_allow_variadic_functions, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
852
       "Allow variadic functions in CUDA device code.", nullptr, nullptr)
853
OPTION(prefix_1, llvm::StringLiteral("fcuda-approx-transcendentals"), fcuda_approx_transcendentals, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
854
       "Use approximate transcendental functions", nullptr, nullptr)
855
OPTION(prefix_1, llvm::StringLiteral("fcuda-flush-denormals-to-zero"), fcuda_flush_denormals_to_zero, Flag, INVALID, fgpu_flush_denormals_to_zero, nullptr, 0, 0, nullptr, nullptr, nullptr)
856
OPTION(prefix_1, llvm::StringLiteral("fcuda-include-gpubinary"), fcuda_include_gpubinary, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
857
       "Incorporate CUDA device-side binary into host object file.", nullptr, nullptr)
858
OPTION(prefix_1, llvm::StringLiteral("fcuda-is-device"), fcuda_is_device, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
859
       "Generate code for CUDA device", nullptr, nullptr)
860
OPTION(prefix_1, llvm::StringLiteral("fcuda-rdc"), anonymous_58, Flag, INVALID, fgpu_rdc, nullptr, 0, 0, nullptr, nullptr, nullptr)
861
OPTION(prefix_1, llvm::StringLiteral("fcuda-short-ptr"), fcuda_short_ptr, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
862
       "Use 32-bit pointers for accessing const/local/shared address spaces", nullptr, nullptr)
863
OPTION(prefix_1, llvm::StringLiteral("fcxx-exceptions"), fcxx_exceptions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
864
       "Enable C++ exceptions", nullptr, nullptr)
865
OPTION(prefix_1, llvm::StringLiteral("fcxx-modules"), fcxx_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0,
866
       "Enable modules for C++", nullptr, nullptr)
867
OPTION(prefix_2, llvm::StringLiteral("FC"), _SLASH_FC, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
868
OPTION(prefix_1, llvm::StringLiteral("fd-lines-as-code"), fd_lines_as_code, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
869
OPTION(prefix_1, llvm::StringLiteral("fd-lines-as-comments"), fd_lines_as_comments, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
870
OPTION(prefix_1, llvm::StringLiteral("fdata-sections"), fdata_sections, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
871
       "Place each data in its own section", nullptr, nullptr)
872
OPTION(prefix_1, llvm::StringLiteral("fdebug-compilation-dir="), fdebug_compilation_dir_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CC1AsOption | CoreOption, 0,
873
       "The compilation directory to embed in the debug info", nullptr, nullptr)
874
OPTION(prefix_1, llvm::StringLiteral("fdebug-compilation-dir"), fdebug_compilation_dir, Separate, f_Group, fdebug_compilation_dir_EQ, nullptr, CC1Option | CC1AsOption | CoreOption, 0, nullptr, nullptr, nullptr)
875
OPTION(prefix_1, llvm::StringLiteral("fdebug-default-version="), fdebug_default_version, Joined, f_Group, INVALID, nullptr, 0, 0,
876
       "Default DWARF version to use, if a -g option caused DWARF debug info to be produced", nullptr, nullptr)
877
OPTION(prefix_1, llvm::StringLiteral("fdebug-dump-all"), fdebug_dump_all, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
878
       "Dump symbols and the parse tree after the semantic checks", nullptr, nullptr)
879
OPTION(prefix_1, llvm::StringLiteral("fdebug-dump-parse-tree-no-sema"), fdebug_dump_parse_tree_no_sema, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
880
       "Dump the parse tree (skips the semantic checks)", nullptr, nullptr)
881
OPTION(prefix_1, llvm::StringLiteral("fdebug-dump-parse-tree"), fdebug_dump_parse_tree, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
882
       "Dump the parse tree", nullptr, nullptr)
883
OPTION(prefix_1, llvm::StringLiteral("fdebug-dump-parsing-log"), fdebug_dump_parsing_log, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
884
       "Run instrumented parse and dump the parsing log", nullptr, nullptr)
885
OPTION(prefix_1, llvm::StringLiteral("fdebug-dump-pft"), fdebug_dump_pft, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
886
       "Dump the pre-fir parse tree", nullptr, nullptr)
887
OPTION(prefix_1, llvm::StringLiteral("fdebug-dump-provenance"), fdebug_dump_provenance, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
888
       "Dump provenance", nullptr, nullptr)
889
OPTION(prefix_1, llvm::StringLiteral("fdebug-dump-symbols"), fdebug_dump_symbols, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
890
       "Dump symbols after the semantic analysis", nullptr, nullptr)
891
OPTION(prefix_1, llvm::StringLiteral("fdebug-info-for-profiling"), fdebug_info_for_profiling, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
892
       "Emit extra debug info to make sample profile more accurate", nullptr, nullptr)
893
OPTION(prefix_1, llvm::StringLiteral("fdebug-macro"), fdebug_macro, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
894
       "Emit macro debug information", nullptr, nullptr)
895
OPTION(prefix_1, llvm::StringLiteral("fdebug-measure-parse-tree"), fdebug_measure_parse_tree, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
896
       "Measure the parse tree", nullptr, nullptr)
897
OPTION(prefix_1, llvm::StringLiteral("fdebug-module-writer"), fdebug_module_writer, Flag, INVALID, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
898
       "Enable debug messages while writing module files", nullptr, nullptr)
899
OPTION(prefix_1, llvm::StringLiteral("fdebug-pass-arguments"), fdebug_pass_arguments, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
900
OPTION(prefix_1, llvm::StringLiteral("fdebug-pass-manager"), fdebug_pass_manager, Flag, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
901
       "Prints debug information for the new pass manager", nullptr, nullptr)
902
OPTION(prefix_1, llvm::StringLiteral("fdebug-pass-structure"), fdebug_pass_structure, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
903
OPTION(prefix_1, llvm::StringLiteral("fdebug-pre-fir-tree"), fdebug_pre_fir_tree, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
904
       "Dump the pre-FIR tree", nullptr, nullptr)
905
OPTION(prefix_1, llvm::StringLiteral("fdebug-prefix-map="), fdebug_prefix_map_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CC1AsOption, 0,
906
       "remap file source paths in debug info", nullptr, nullptr)
907
OPTION(prefix_1, llvm::StringLiteral("fdebug-ranges-base-address"), fdebug_ranges_base_address, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
908
       "Use DWARF base address selection entries in .debug_ranges", nullptr, nullptr)
909
OPTION(prefix_1, llvm::StringLiteral("fdebug-types-section"), fdebug_types_section, Flag, f_Group, INVALID, nullptr, 0, 0,
910
       "Place debug types in their own section (ELF Only)", nullptr, nullptr)
911
OPTION(prefix_1, llvm::StringLiteral("fdebug-unparse-no-sema"), fdebug_unparse_no_sema, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
912
       "Unparse and stop (skips the semantic checks)", nullptr, nullptr)
913
OPTION(prefix_1, llvm::StringLiteral("fdebug-unparse-with-symbols"), fdebug_unparse_with_symbols, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
914
       "Unparse and stop.", nullptr, nullptr)
915
OPTION(prefix_1, llvm::StringLiteral("fdebug-unparse"), fdebug_unparse, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
916
       "Unparse and stop.", nullptr, nullptr)
917
OPTION(prefix_1, llvm::StringLiteral("fdebugger-cast-result-to-id"), fdebugger_cast_result_to_id, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
918
       "Enable casting unknown expression results to id", nullptr, nullptr)
919
OPTION(prefix_1, llvm::StringLiteral("fdebugger-objc-literal"), fdebugger_objc_literal, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
920
       "Enable special debugger support for Objective-C subscripting and literals", nullptr, nullptr)
921
OPTION(prefix_1, llvm::StringLiteral("fdebugger-support"), fdebugger_support, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
922
       "Enable special debugger support behavior", nullptr, nullptr)
923
OPTION(prefix_1, llvm::StringLiteral("fdeclare-opencl-builtins"), fdeclare_opencl_builtins, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
924
       "Add OpenCL builtin function declarations (experimental)", nullptr, nullptr)
925
OPTION(prefix_1, llvm::StringLiteral("fdeclspec"), fdeclspec, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
926
       "Allow __declspec as a keyword", nullptr, nullptr)
927
OPTION(prefix_1, llvm::StringLiteral("fdefault-calling-conv="), fdefault_calling_conv_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
928
       "Set default calling convention", nullptr, "cdecl,fastcall,stdcall,vectorcall,regcall")
929
OPTION(prefix_1, llvm::StringLiteral("fdefault-double-8"), fdefault_double_8, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
930
       "Set the default double precision kind to an 8 byte wide type", nullptr, nullptr)
931
OPTION(prefix_1, llvm::StringLiteral("fdefault-inline"), fdefault_inline, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
932
OPTION(prefix_1, llvm::StringLiteral("fdefault-integer-8"), fdefault_integer_8, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
933
       "Set the default integer kind to an 8 byte wide type", nullptr, nullptr)
934
OPTION(prefix_1, llvm::StringLiteral("fdefault-real-8"), fdefault_real_8, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
935
       "Set the default real kind to an 8 byte wide type", nullptr, nullptr)
936
OPTION(prefix_1, llvm::StringLiteral("fdefer-pop"), anonymous_403, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
937
OPTION(prefix_1, llvm::StringLiteral("fdelayed-template-parsing"), fdelayed_template_parsing, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
938
       "Parse templated function definitions at the end of the translation unit", nullptr, nullptr)
939
OPTION(prefix_1, llvm::StringLiteral("fdelete-null-pointer-checks"), fdelete_null_pointer_checks, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
940
       "Treat usage of null pointers as undefined behavior (default)", nullptr, nullptr)
941
OPTION(prefix_1, llvm::StringLiteral("fdenormal-fp-math-f32="), fdenormal_fp_math_f32_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
942
OPTION(prefix_1, llvm::StringLiteral("fdenormal-fp-math="), fdenormal_fp_math_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
943
OPTION(prefix_1, llvm::StringLiteral("fdepfile-entry="), fdepfile_entry, Joined, f_clang_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
944
OPTION(prefix_1, llvm::StringLiteral("fdeprecated-macro"), fdeprecated_macro, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
945
       "Defines the __DEPRECATED macro", nullptr, nullptr)
946
OPTION(prefix_1, llvm::StringLiteral("fdevirtualize-speculatively"), fdevirtualize_speculatively, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
947
OPTION(prefix_1, llvm::StringLiteral("fdevirtualize"), fdevirtualize, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
948
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-absolute-paths"), fdiagnostics_absolute_paths, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
949
       "Print absolute paths in diagnostics", nullptr, nullptr)
950
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-color="), fdiagnostics_color_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
951
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-color"), anonymous_284, Flag, f_Group, fcolor_diagnostics, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
952
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-fixit-info"), fdiagnostics_fixit_info, Flag, f_clang_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
953
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-format="), fdiagnostics_format_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
954
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-format"), fdiagnostics_format, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
955
       "Change diagnostic formatting to match IDE and command line tools", nullptr, "clang,msvc,vi,sarif,SARIF")
956
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-hotness-threshold="), fdiagnostics_hotness_threshold_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
957
       "Prevent optimization remarks from being output if they do not have at least this profile count. Use 'auto' to apply the threshold from profile summary", "<value>", nullptr)
958
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-misexpect-tolerance="), fdiagnostics_misexpect_tolerance_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
959
       "Prevent misexpect diagnostics from being output if the profile counts are within N% of the expected. ", "<value>", nullptr)
960
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-parseable-fixits"), fdiagnostics_parseable_fixits, Flag, f_clang_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
961
       "Print fix-its in machine parseable form", nullptr, nullptr)
962
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-print-source-range-info"), fdiagnostics_print_source_range_info, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
963
       "Print source range spans in numeric form", nullptr, nullptr)
964
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-show-category="), fdiagnostics_show_category_EQ, Joined, f_clang_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
965
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-show-category"), fdiagnostics_show_category, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
966
       "Print diagnostic category", nullptr, "none,id,name")
967
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-show-hotness"), fdiagnostics_show_hotness, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
968
       "Enable profile hotness information in diagnostic line", nullptr, nullptr)
969
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-show-location="), fdiagnostics_show_location_EQ, Joined, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
970
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-show-note-include-stack"), fdiagnostics_show_note_include_stack, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
971
       "Display include stacks for diagnostic notes", nullptr, nullptr)
972
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-show-option"), fdiagnostics_show_option, Flag, f_Group, INVALID, nullptr, 0, 0,
973
       "Print option name with mappable diagnostics", nullptr, nullptr)
974
OPTION(prefix_1, llvm::StringLiteral("fdiagnostics-show-template-tree"), fdiagnostics_show_template_tree, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
975
       "Print a template comparison tree for differing templates", nullptr, nullptr)
976
OPTION(prefix_1, llvm::StringLiteral("fdigraphs"), fdigraphs, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
977
       "Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)", nullptr, nullptr)
978
OPTION(prefix_1, llvm::StringLiteral("fdirect-access-external-data"), fdirect_access_external_data, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
979
       "Don't use GOT indirection to reference external data symbols", nullptr, nullptr)
980
OPTION(prefix_1, llvm::StringLiteral("fdirectives-only"), fdirectives_only, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
981
       "", nullptr, nullptr)
982
OPTION(prefix_1, llvm::StringLiteral("fdisable-module-hash"), fdisable_module_hash, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
983
       "Disable the module hash", nullptr, nullptr)
984
OPTION(prefix_1, llvm::StringLiteral("fdiscard-value-names"), fdiscard_value_names, Flag, f_clang_Group, INVALID, nullptr, NoXarchOption, 0,
985
       "Discard value names in LLVM IR", nullptr, nullptr)
986
OPTION(prefix_1, llvm::StringLiteral("fdollar-ok"), fdollar_ok, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
987
OPTION(prefix_1, llvm::StringLiteral("fdollars-in-identifiers"), fdollars_in_identifiers, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
988
       "Allow '$' in identifiers", nullptr, nullptr)
989
OPTION(prefix_1, llvm::StringLiteral("fdouble-square-bracket-attributes"), fdouble_square_bracket_attributes, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
990
       "Enable '[[]]' attributes in all C and C++ language modes", nullptr, nullptr)
991
OPTION(prefix_1, llvm::StringLiteral("fdriver-only"), fdriver_only, Flag, Action_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
992
       "Only run the driver.", nullptr, nullptr)
993
OPTION(prefix_1, llvm::StringLiteral("fdump-fortran-optimized"), fdump_fortran_optimized, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
994
OPTION(prefix_1, llvm::StringLiteral("fdump-fortran-original"), fdump_fortran_original, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
995
OPTION(prefix_1, llvm::StringLiteral("fdump-parse-tree"), fdump_parse_tree, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
996
OPTION(prefix_1, llvm::StringLiteral("fdump-record-layouts-canonical"), fdump_record_layouts_canonical, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
997
       "Dump record layout information with canonical field types", nullptr, nullptr)
998
OPTION(prefix_1, llvm::StringLiteral("fdump-record-layouts-complete"), fdump_record_layouts_complete, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
999
       "Dump record layout information for all complete types", nullptr, nullptr)
1000
OPTION(prefix_1, llvm::StringLiteral("fdump-record-layouts-simple"), fdump_record_layouts_simple, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1001
       "Dump record layout information in a simple form used for testing", nullptr, nullptr)
1002
OPTION(prefix_1, llvm::StringLiteral("fdump-record-layouts"), fdump_record_layouts, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1003
       "Dump record layout information", nullptr, nullptr)
1004
OPTION(prefix_1, llvm::StringLiteral("fdump-vtable-layouts"), fdump_vtable_layouts, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1005
       "Dump the layouts of all vtables that will be emitted in a translation unit", nullptr, nullptr)
1006
OPTION(prefix_1, llvm::StringLiteral("fdwarf-directory-asm"), fdwarf_directory_asm, Flag, f_Group, INVALID, nullptr, 0, 0,
1007
       "", nullptr, nullptr)
1008
OPTION(prefix_1, llvm::StringLiteral("fdwarf-exceptions"), fdwarf_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
1009
       "Use DWARF style exceptions", nullptr, nullptr)
1010
OPTION(prefix_1, llvm::StringLiteral("fdwarf2-cfi-asm"), fdwarf2_cfi_asm, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1011
OPTION(prefix_2, llvm::StringLiteral("Fd"), _SLASH_Fd, Joined, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption | HelpHidden, 0, nullptr, nullptr, nullptr)
1012
OPTION(prefix_2, llvm::StringLiteral("Fe:"), _SLASH_Fe_COLON, Joined, cl_Group, _SLASH_Fe, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
1013
OPTION(prefix_1, llvm::StringLiteral("felide-constructors"), felide_constructors, Flag, f_Group, INVALID, nullptr, 0, 0,
1014
       "", nullptr, nullptr)
1015
OPTION(prefix_1, llvm::StringLiteral("feliminate-unused-debug-symbols"), feliminate_unused_debug_symbols, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1016
OPTION(prefix_1, llvm::StringLiteral("feliminate-unused-debug-types"), feliminate_unused_debug_types, Flag, f_Group, INVALID, nullptr, 0, 0,
1017
       "Do not emit  debug info for defined but unused types", nullptr, nullptr)
1018
OPTION(prefix_1, llvm::StringLiteral("fembed-bitcode-marker"), fembed_bitcode_marker, Flag, INVALID, fembed_bitcode_EQ, "marker\0", 0, 0,
1019
       "Embed placeholder LLVM IR data as a marker", nullptr, nullptr)
1020
OPTION(prefix_1, llvm::StringLiteral("fembed-bitcode="), fembed_bitcode_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CC1AsOption, 0,
1021
       "Embed LLVM bitcode", "<option>", "off,all,bitcode,marker")
1022
OPTION(prefix_1, llvm::StringLiteral("fembed-bitcode"), fembed_bitcode, Flag, f_Group, fembed_bitcode_EQ, "all\0", 0, 0,
1023
       "Embed LLVM IR bitcode as data", nullptr, nullptr)
1024
OPTION(prefix_1, llvm::StringLiteral("fembed-offload-object="), fembed_offload_object_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
1025
       "Embed Offloading device-side binary into host object file as a section.", nullptr, nullptr)
1026
OPTION(prefix_1, llvm::StringLiteral("femit-all-decls"), femit_all_decls, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1027
       "Emit all declarations, even if unused", nullptr, nullptr)
1028
OPTION(prefix_1, llvm::StringLiteral("femit-dwarf-unwind="), femit_dwarf_unwind_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CC1AsOption, 0,
1029
       "When to emit DWARF unwind (EH frame) info", nullptr, "always,no-compact-unwind,default")
1030
OPTION(prefix_1, llvm::StringLiteral("femulated-tls"), femulated_tls, Flag, f_Group, INVALID, nullptr, CC1Option | CC1Option, 0,
1031
       "Use emutls functions to access thread_local variables", nullptr, nullptr)
1032
OPTION(prefix_1, llvm::StringLiteral("fenable-matrix"), fenable_matrix, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1033
       "Enable matrix data type and related builtin functions", nullptr, nullptr)
1034
OPTION(prefix_1, llvm::StringLiteral("fencode-extended-block-signature"), fencode_extended_block_signature, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1035
       "enable extended encoding of block type signature", nullptr, nullptr)
1036
OPTION(prefix_1, llvm::StringLiteral("fencoding="), fencoding_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1037
OPTION(prefix_1, llvm::StringLiteral("ferror-limit="), ferror_limit_EQ, Joined, f_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
1038
OPTION(prefix_1, llvm::StringLiteral("ferror-limit"), ferror_limit, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1039
       "Set the maximum number of errors to emit before stopping (0 = no limit).", "<N>", nullptr)
1040
OPTION(prefix_1, llvm::StringLiteral("fescaping-block-tail-calls"), fescaping_block_tail_calls, Flag, f_Group, INVALID, nullptr, 0, 0,
1041
       "", nullptr, nullptr)
1042
OPTION(prefix_1, llvm::StringLiteral("fexceptions"), fexceptions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1043
       "Enable support for exception handling", nullptr, nullptr)
1044
OPTION(prefix_1, llvm::StringLiteral("fexcess-precision="), fexcess_precision_EQ, Joined, f_Group, INVALID, nullptr, CoreOption, 0,
1045
       "Allows control over excess precision on targets where native support for the precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.", nullptr, "standard,fast,none")
1046
OPTION(prefix_1, llvm::StringLiteral("fexec-charset="), fexec_charset_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1047
OPTION(prefix_1, llvm::StringLiteral("fexpensive-optimizations"), anonymous_401, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1048
OPTION(prefix_1, llvm::StringLiteral("fexperimental-assignment-tracking"), fexperimental_assignment_tracking, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1049
       "", nullptr, nullptr)
1050
OPTION(prefix_1, llvm::StringLiteral("fexperimental-isel"), fexperimental_isel, Flag, f_clang_Group, fglobal_isel, nullptr, 0, 0, nullptr, nullptr, nullptr)
1051
OPTION(prefix_1, llvm::StringLiteral("fexperimental-library"), fexperimental_library, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1052
       "Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes", nullptr, nullptr)
1053
OPTION(prefix_1, llvm::StringLiteral("fexperimental-max-bitint-width="), fexperimental_max_bitint_width_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1054
       "Set the maximum bitwidth for _BitInt (this option is expected to be removed in the future)", "<N>", nullptr)
1055
OPTION(prefix_1, llvm::StringLiteral("fexperimental-new-constant-interpreter"), fexperimental_new_constant_interpreter, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1056
       "Enable the experimental new constant interpreter", nullptr, nullptr)
1057
OPTION(prefix_1, llvm::StringLiteral("fexperimental-relative-c++-abi-vtables"), fexperimental_relative_cxx_abi_vtables, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
1058
       "Use the experimental C++ class ABI for classes with virtual tables", nullptr, nullptr)
1059
OPTION(prefix_1, llvm::StringLiteral("fexperimental-sanitize-metadata=atomics"), fexperimental_sanitize_metadata_EQ_atomics, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1060
       "Emit PCs for atomic operations used by binary analysis sanitizers", nullptr, nullptr)
1061
OPTION(prefix_1, llvm::StringLiteral("fexperimental-sanitize-metadata=covered"), fexperimental_sanitize_metadata_EQ_covered, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1062
       "Emit PCs for code covered with binary analysis sanitizers", nullptr, nullptr)
1063
OPTION(prefix_1, llvm::StringLiteral("fexperimental-sanitize-metadata=uar"), fexperimental_sanitize_metadata_EQ_uar, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1064
       "Emit PCs for start of functions that are subject for use-after-return checking.", nullptr, nullptr)
1065
OPTION(prefix_1, llvm::StringLiteral("fexperimental-sanitize-metadata="), fexperimental_sanitize_metadata_EQ, CommaJoined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1066
       "Specify the type of metadata to emit for binary analysis sanitizers", nullptr, nullptr)
1067
OPTION(prefix_1, llvm::StringLiteral("fexperimental-strict-floating-point"), fexperimental_strict_floating_point, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
1068
       "Enables experimental strict floating point in LLVM.", nullptr, nullptr)
1069
OPTION(prefix_1, llvm::StringLiteral("fextdirs="), fextdirs_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1070
OPTION(prefix_1, llvm::StringLiteral("fextend-arguments="), fextend_args_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused, 0,
1071
       "Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions", nullptr, "32,64")
1072
OPTION(prefix_1, llvm::StringLiteral("fextended-identifiers"), anonymous_405, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1073
OPTION(prefix_1, llvm::StringLiteral("fexternal-blas"), fexternal_blas, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1074
OPTION(prefix_1, llvm::StringLiteral("fexternc-nounwind"), fexternc_nounwind, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1075
       "Assume all functions with C linkage do not unwind", nullptr, nullptr)
1076
OPTION(prefix_2, llvm::StringLiteral("Fe"), _SLASH_Fe, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
1077
       "Set output executable file name", "<file or dir/>", nullptr)
1078
OPTION(prefix_1, llvm::StringLiteral("ff2c"), ff2c, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1079
OPTION(prefix_1, llvm::StringLiteral("ffake-address-space-map"), ffake_address_space_map, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1080
       "Use a fake address space map; OpenCL testing purposes only", nullptr, nullptr)
1081
OPTION(prefix_1, llvm::StringLiteral("ffast-math"), ffast_math, Flag, f_Group, INVALID, nullptr, CC1Option | FC1Option | FlangOption, 0,
1082
       "Allow aggressive, lossy floating-point optimizations", nullptr, nullptr)
1083
OPTION(prefix_1, llvm::StringLiteral("ffat-lto-objects"), ffat_lto_objects, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1084
OPTION(prefix_1, llvm::StringLiteral("ffile-compilation-dir="), ffile_compilation_dir_EQ, Joined, f_Group, INVALID, nullptr, CoreOption, 0,
1085
       "The compilation directory to embed in the debug info and coverage mapping.", nullptr, nullptr)
1086
OPTION(prefix_1, llvm::StringLiteral("ffile-prefix-map="), ffile_prefix_map_EQ, Joined, f_Group, INVALID, nullptr, 0, 0,
1087
       "remap file source paths in debug info, predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.", nullptr, nullptr)
1088
OPTION(prefix_1, llvm::StringLiteral("ffile-reproducible"), ffile_reproducible, Flag, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
1089
       "Use the target's platform-specific path separator character when expanding the __FILE__ macro", nullptr, nullptr)
1090
OPTION(prefix_1, llvm::StringLiteral("ffine-grained-bitfield-accesses"), ffine_grained_bitfield_accesses, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
1091
       "Use separate accesses for consecutive bitfield runs with legal widths and alignments.", nullptr, nullptr)
1092
OPTION(prefix_1, llvm::StringLiteral("ffinite-loops"), ffinite_loops, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1093
       "Assume all loops are finite.", nullptr, nullptr)
1094
OPTION(prefix_1, llvm::StringLiteral("ffinite-math-only"), ffinite_math_only, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1095
       "", nullptr, nullptr)
1096
OPTION(prefix_1, llvm::StringLiteral("ffixed-a0"), ffixed_a0, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1097
       "Reserve the a0 register (M68k only)", nullptr, nullptr)
1098
OPTION(prefix_1, llvm::StringLiteral("ffixed-a1"), ffixed_a1, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1099
       "Reserve the a1 register (M68k only)", nullptr, nullptr)
1100
OPTION(prefix_1, llvm::StringLiteral("ffixed-a2"), ffixed_a2, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1101
       "Reserve the a2 register (M68k only)", nullptr, nullptr)
1102
OPTION(prefix_1, llvm::StringLiteral("ffixed-a3"), ffixed_a3, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1103
       "Reserve the a3 register (M68k only)", nullptr, nullptr)
1104
OPTION(prefix_1, llvm::StringLiteral("ffixed-a4"), ffixed_a4, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1105
       "Reserve the a4 register (M68k only)", nullptr, nullptr)
1106
OPTION(prefix_1, llvm::StringLiteral("ffixed-a5"), ffixed_a5, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1107
       "Reserve the a5 register (M68k only)", nullptr, nullptr)
1108
OPTION(prefix_1, llvm::StringLiteral("ffixed-a6"), ffixed_a6, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1109
       "Reserve the a6 register (M68k only)", nullptr, nullptr)
1110
OPTION(prefix_1, llvm::StringLiteral("ffixed-d0"), ffixed_d0, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1111
       "Reserve the d0 register (M68k only)", nullptr, nullptr)
1112
OPTION(prefix_1, llvm::StringLiteral("ffixed-d1"), ffixed_d1, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1113
       "Reserve the d1 register (M68k only)", nullptr, nullptr)
1114
OPTION(prefix_1, llvm::StringLiteral("ffixed-d2"), ffixed_d2, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1115
       "Reserve the d2 register (M68k only)", nullptr, nullptr)
1116
OPTION(prefix_1, llvm::StringLiteral("ffixed-d3"), ffixed_d3, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1117
       "Reserve the d3 register (M68k only)", nullptr, nullptr)
1118
OPTION(prefix_1, llvm::StringLiteral("ffixed-d4"), ffixed_d4, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1119
       "Reserve the d4 register (M68k only)", nullptr, nullptr)
1120
OPTION(prefix_1, llvm::StringLiteral("ffixed-d5"), ffixed_d5, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1121
       "Reserve the d5 register (M68k only)", nullptr, nullptr)
1122
OPTION(prefix_1, llvm::StringLiteral("ffixed-d6"), ffixed_d6, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1123
       "Reserve the d6 register (M68k only)", nullptr, nullptr)
1124
OPTION(prefix_1, llvm::StringLiteral("ffixed-d7"), ffixed_d7, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0,
1125
       "Reserve the d7 register (M68k only)", nullptr, nullptr)
1126
OPTION(prefix_1, llvm::StringLiteral("ffixed-form"), ffixed_form, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
1127
       "Process source files in fixed form", nullptr, nullptr)
1128
OPTION(prefix_1, llvm::StringLiteral("ffixed-line-length-"), ffixed_line_length_VALUE, Joined, f_Group, ffixed_line_length_EQ, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0, nullptr, nullptr, nullptr)
1129
OPTION(prefix_1, llvm::StringLiteral("ffixed-line-length="), ffixed_line_length_EQ, Joined, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
1130
       "Use <value> as character line width in fixed mode", nullptr, nullptr)
1131
OPTION(prefix_1, llvm::StringLiteral("ffixed-point"), ffixed_point, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1132
       "Enable fixed point types", nullptr, nullptr)
1133
OPTION(prefix_1, llvm::StringLiteral("ffixed-r19"), ffixed_r19, Flag, INVALID, INVALID, nullptr, 0, 0,
1134
       "Reserve register r19 (Hexagon only)", nullptr, nullptr)
1135
OPTION(prefix_1, llvm::StringLiteral("ffixed-r9"), ffixed_r9, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
1136
       "Reserve the r9 register (ARM only)", nullptr, nullptr)
1137
OPTION(prefix_1, llvm::StringLiteral("ffixed-x10"), ffixed_x10, Flag, m_Group, INVALID, nullptr, 0, 0,
1138
       "Reserve the x10 register (AArch64/RISC-V only)", nullptr, nullptr)
1139
OPTION(prefix_1, llvm::StringLiteral("ffixed-x11"), ffixed_x11, Flag, m_Group, INVALID, nullptr, 0, 0,
1140
       "Reserve the x11 register (AArch64/RISC-V only)", nullptr, nullptr)
1141
OPTION(prefix_1, llvm::StringLiteral("ffixed-x12"), ffixed_x12, Flag, m_Group, INVALID, nullptr, 0, 0,
1142
       "Reserve the x12 register (AArch64/RISC-V only)", nullptr, nullptr)
1143
OPTION(prefix_1, llvm::StringLiteral("ffixed-x13"), ffixed_x13, Flag, m_Group, INVALID, nullptr, 0, 0,
1144
       "Reserve the x13 register (AArch64/RISC-V only)", nullptr, nullptr)
1145
OPTION(prefix_1, llvm::StringLiteral("ffixed-x14"), ffixed_x14, Flag, m_Group, INVALID, nullptr, 0, 0,
1146
       "Reserve the x14 register (AArch64/RISC-V only)", nullptr, nullptr)
1147
OPTION(prefix_1, llvm::StringLiteral("ffixed-x15"), ffixed_x15, Flag, m_Group, INVALID, nullptr, 0, 0,
1148
       "Reserve the x15 register (AArch64/RISC-V only)", nullptr, nullptr)
1149
OPTION(prefix_1, llvm::StringLiteral("ffixed-x16"), ffixed_x16, Flag, m_Group, INVALID, nullptr, 0, 0,
1150
       "Reserve the x16 register (AArch64/RISC-V only)", nullptr, nullptr)
1151
OPTION(prefix_1, llvm::StringLiteral("ffixed-x17"), ffixed_x17, Flag, m_Group, INVALID, nullptr, 0, 0,
1152
       "Reserve the x17 register (AArch64/RISC-V only)", nullptr, nullptr)
1153
OPTION(prefix_1, llvm::StringLiteral("ffixed-x18"), ffixed_x18, Flag, m_Group, INVALID, nullptr, 0, 0,
1154
       "Reserve the x18 register (AArch64/RISC-V only)", nullptr, nullptr)
1155
OPTION(prefix_1, llvm::StringLiteral("ffixed-x19"), ffixed_x19, Flag, m_Group, INVALID, nullptr, 0, 0,
1156
       "Reserve the x19 register (AArch64/RISC-V only)", nullptr, nullptr)
1157
OPTION(prefix_1, llvm::StringLiteral("ffixed-x1"), ffixed_x1, Flag, m_Group, INVALID, nullptr, 0, 0,
1158
       "Reserve the x1 register (AArch64/RISC-V only)", nullptr, nullptr)
1159
OPTION(prefix_1, llvm::StringLiteral("ffixed-x20"), ffixed_x20, Flag, m_Group, INVALID, nullptr, 0, 0,
1160
       "Reserve the x20 register (AArch64/RISC-V only)", nullptr, nullptr)
1161
OPTION(prefix_1, llvm::StringLiteral("ffixed-x21"), ffixed_x21, Flag, m_Group, INVALID, nullptr, 0, 0,
1162
       "Reserve the x21 register (AArch64/RISC-V only)", nullptr, nullptr)
1163
OPTION(prefix_1, llvm::StringLiteral("ffixed-x22"), ffixed_x22, Flag, m_Group, INVALID, nullptr, 0, 0,
1164
       "Reserve the x22 register (AArch64/RISC-V only)", nullptr, nullptr)
1165
OPTION(prefix_1, llvm::StringLiteral("ffixed-x23"), ffixed_x23, Flag, m_Group, INVALID, nullptr, 0, 0,
1166
       "Reserve the x23 register (AArch64/RISC-V only)", nullptr, nullptr)
1167
OPTION(prefix_1, llvm::StringLiteral("ffixed-x24"), ffixed_x24, Flag, m_Group, INVALID, nullptr, 0, 0,
1168
       "Reserve the x24 register (AArch64/RISC-V only)", nullptr, nullptr)
1169
OPTION(prefix_1, llvm::StringLiteral("ffixed-x25"), ffixed_x25, Flag, m_Group, INVALID, nullptr, 0, 0,
1170
       "Reserve the x25 register (AArch64/RISC-V only)", nullptr, nullptr)
1171
OPTION(prefix_1, llvm::StringLiteral("ffixed-x26"), ffixed_x26, Flag, m_Group, INVALID, nullptr, 0, 0,
1172
       "Reserve the x26 register (AArch64/RISC-V only)", nullptr, nullptr)
1173
OPTION(prefix_1, llvm::StringLiteral("ffixed-x27"), ffixed_x27, Flag, m_Group, INVALID, nullptr, 0, 0,
1174
       "Reserve the x27 register (AArch64/RISC-V only)", nullptr, nullptr)
1175
OPTION(prefix_1, llvm::StringLiteral("ffixed-x28"), ffixed_x28, Flag, m_Group, INVALID, nullptr, 0, 0,
1176
       "Reserve the x28 register (AArch64/RISC-V only)", nullptr, nullptr)
1177
OPTION(prefix_1, llvm::StringLiteral("ffixed-x29"), ffixed_x29, Flag, m_Group, INVALID, nullptr, 0, 0,
1178
       "Reserve the x29 register (AArch64/RISC-V only)", nullptr, nullptr)
1179
OPTION(prefix_1, llvm::StringLiteral("ffixed-x2"), ffixed_x2, Flag, m_Group, INVALID, nullptr, 0, 0,
1180
       "Reserve the x2 register (AArch64/RISC-V only)", nullptr, nullptr)
1181
OPTION(prefix_1, llvm::StringLiteral("ffixed-x30"), ffixed_x30, Flag, m_Group, INVALID, nullptr, 0, 0,
1182
       "Reserve the x30 register (AArch64/RISC-V only)", nullptr, nullptr)
1183
OPTION(prefix_1, llvm::StringLiteral("ffixed-x31"), ffixed_x31, Flag, m_Group, INVALID, nullptr, 0, 0,
1184
       "Reserve the x31 register (AArch64/RISC-V only)", nullptr, nullptr)
1185
OPTION(prefix_1, llvm::StringLiteral("ffixed-x3"), ffixed_x3, Flag, m_Group, INVALID, nullptr, 0, 0,
1186
       "Reserve the x3 register (AArch64/RISC-V only)", nullptr, nullptr)
1187
OPTION(prefix_1, llvm::StringLiteral("ffixed-x4"), ffixed_x4, Flag, m_Group, INVALID, nullptr, 0, 0,
1188
       "Reserve the x4 register (AArch64/RISC-V only)", nullptr, nullptr)
1189
OPTION(prefix_1, llvm::StringLiteral("ffixed-x5"), ffixed_x5, Flag, m_Group, INVALID, nullptr, 0, 0,
1190
       "Reserve the x5 register (AArch64/RISC-V only)", nullptr, nullptr)
1191
OPTION(prefix_1, llvm::StringLiteral("ffixed-x6"), ffixed_x6, Flag, m_Group, INVALID, nullptr, 0, 0,
1192
       "Reserve the x6 register (AArch64/RISC-V only)", nullptr, nullptr)
1193
OPTION(prefix_1, llvm::StringLiteral("ffixed-x7"), ffixed_x7, Flag, m_Group, INVALID, nullptr, 0, 0,
1194
       "Reserve the x7 register (AArch64/RISC-V only)", nullptr, nullptr)
1195
OPTION(prefix_1, llvm::StringLiteral("ffixed-x8"), ffixed_x8, Flag, m_Group, INVALID, nullptr, 0, 0,
1196
       "Reserve the x8 register (AArch64/RISC-V only)", nullptr, nullptr)
1197
OPTION(prefix_1, llvm::StringLiteral("ffixed-x9"), ffixed_x9, Flag, m_Group, INVALID, nullptr, 0, 0,
1198
       "Reserve the x9 register (AArch64/RISC-V only)", nullptr, nullptr)
1199
OPTION(prefix_1, llvm::StringLiteral("ffloat-store"), ffloat_store, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1200
OPTION(prefix_1, llvm::StringLiteral("ffloat16-excess-precision="), ffloat16_excess_precision_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1201
       "Allows control over excess precision on targets where native support for Float16 precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.", nullptr, "standard,fast,none")
1202
OPTION(prefix_1, llvm::StringLiteral("ffor-scope"), ffor_scope, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1203
OPTION(prefix_1, llvm::StringLiteral("fforbid-guard-variables"), fforbid_guard_variables, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1204
       "Emit an error if a C++ static local initializer would need a guard variable", nullptr, nullptr)
1205
OPTION(prefix_1, llvm::StringLiteral("fforce-addr"), force_addr, Joined, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1206
OPTION(prefix_1, llvm::StringLiteral("fforce-dwarf-frame"), fforce_dwarf_frame, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1207
       "Always emit a debug frame section", nullptr, nullptr)
1208
OPTION(prefix_1, llvm::StringLiteral("fforce-emit-vtables"), fforce_emit_vtables, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1209
       "Emits more virtual tables to improve devirtualization", nullptr, nullptr)
1210
OPTION(prefix_1, llvm::StringLiteral("fforce-enable-int128"), fforce_enable_int128, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1211
       "Enable support for int128_t type", nullptr, nullptr)
1212
OPTION(prefix_1, llvm::StringLiteral("ffp-contract="), ffp_contract, Joined, f_Group, INVALID, nullptr, CC1Option | FC1Option | FlangOption, 0,
1213
       "Form fused FP ops (e.g. FMAs)", nullptr, "fast,on,off,fast-honor-pragmas")
1214
OPTION(prefix_1, llvm::StringLiteral("ffp-eval-method="), ffp_eval_method_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
1215
       "Specifies the evaluation method to use for floating-point arithmetic.", nullptr, "source,double,extended")
1216
OPTION(prefix_1, llvm::StringLiteral("ffp-exception-behavior="), ffp_exception_behavior_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
1217
       "Specifies the exception behavior of floating-point operations.", nullptr, "ignore,maytrap,strict")
1218
OPTION(prefix_1, llvm::StringLiteral("ffp-model="), ffp_model_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption, 0,
1219
       "Controls the semantics of floating-point calculations.", nullptr, nullptr)
1220
OPTION(prefix_1, llvm::StringLiteral("ffpe-trap="), ffpe_trap_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1221
OPTION(prefix_1, llvm::StringLiteral("ffree-form"), ffree_form, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
1222
       "Process source files in free form", nullptr, nullptr)
1223
OPTION(prefix_1, llvm::StringLiteral("ffree-line-length-"), ffree_line_length_VALUE, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1224
OPTION(prefix_1, llvm::StringLiteral("ffreestanding"), ffreestanding, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1225
       "Assert that the compilation takes place in a freestanding environment", nullptr, nullptr)
1226
OPTION(prefix_1, llvm::StringLiteral("ffriend-injection"), ffriend_injection, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1227
OPTION(prefix_1, llvm::StringLiteral("ffrontend-optimize"), ffrontend_optimize, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1228
OPTION(prefix_1, llvm::StringLiteral("ffuchsia-api-level="), ffuchsia_api_level_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
1229
       "Set Fuchsia API level", nullptr, nullptr)
1230
OPTION(prefix_1, llvm::StringLiteral("ffunction-attribute-list"), ffunction_attribute_list, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1231
OPTION(prefix_1, llvm::StringLiteral("ffunction-sections"), ffunction_sections, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1232
       "Place each function in its own section", nullptr, nullptr)
1233
OPTION(prefix_1, llvm::StringLiteral("fgcse-after-reload"), fgcse_after_reload, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1234
OPTION(prefix_1, llvm::StringLiteral("fgcse-las"), fgcse_las, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1235
OPTION(prefix_1, llvm::StringLiteral("fgcse-sm"), fgcse_sm, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1236
OPTION(prefix_1, llvm::StringLiteral("fgcse"), fgcse, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1237
OPTION(prefix_1, llvm::StringLiteral("fget-definition"), fget_definition, MultiArg, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 3,
1238
       "Get the symbol definition from <line> <start-column> <end-column>", nullptr, nullptr)
1239
OPTION(prefix_1, llvm::StringLiteral("fget-symbols-sources"), fget_symbols_sources, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
1240
       "Dump symbols and their source code locations", nullptr, nullptr)
1241
OPTION(prefix_1, llvm::StringLiteral("fglobal-isel"), fglobal_isel, Flag, f_clang_Group, INVALID, nullptr, 0, 0,
1242
       "Enables the global instruction selector", nullptr, nullptr)
1243
OPTION(prefix_1, llvm::StringLiteral("fgnu-inline-asm"), fgnu_inline_asm, Flag, f_Group, INVALID, nullptr, 0, 0,
1244
       "", nullptr, nullptr)
1245
OPTION(prefix_1, llvm::StringLiteral("fgnu-keywords"), fgnu_keywords, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1246
       "Allow GNU-extension keywords regardless of language standard", nullptr, nullptr)
1247
OPTION(prefix_1, llvm::StringLiteral("fgnu-runtime"), fgnu_runtime, Flag, f_Group, INVALID, nullptr, 0, 0,
1248
       "Generate output compatible with the standard GNU Objective-C runtime", nullptr, nullptr)
1249
OPTION(prefix_1, llvm::StringLiteral("fgnu89-inline"), fgnu89_inline, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1250
       "Use the gnu89 inline semantics", nullptr, nullptr)
1251
OPTION(prefix_1, llvm::StringLiteral("fgnuc-version="), fgnuc_version_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1252
       "Sets various macros to claim compatibility with the given GCC version (default is 4.2.1)", nullptr, nullptr)
1253
OPTION(prefix_1, llvm::StringLiteral("fgnu"), fgnu, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1254
OPTION(prefix_1, llvm::StringLiteral("fgpu-allow-device-init"), fgpu_allow_device_init, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1255
       "Allow device side init function in HIP (experimental)", nullptr, nullptr)
1256
OPTION(prefix_1, llvm::StringLiteral("fgpu-default-stream="), fgpu_default_stream_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0,
1257
       "Specify default stream. The default value is 'legacy'. (HIP only)", nullptr, "legacy,per-thread")
1258
OPTION(prefix_1, llvm::StringLiteral("fgpu-defer-diag"), fgpu_defer_diag, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1259
       "Defer host/device related diagnostic messages for CUDA/HIP", nullptr, nullptr)
1260
OPTION(prefix_1, llvm::StringLiteral("fgpu-exclude-wrong-side-overloads"), fgpu_exclude_wrong_side_overloads, Flag, f_Group, INVALID, nullptr, CC1Option | HelpHidden, 0,
1261
       "Always exclude wrong side overloads in overloading resolution for CUDA/HIP", nullptr, nullptr)
1262
OPTION(prefix_1, llvm::StringLiteral("fgpu-flush-denormals-to-zero"), fgpu_flush_denormals_to_zero, Flag, INVALID, INVALID, nullptr, 0, 0,
1263
       "Flush denormal floating point values to zero in CUDA/HIP device mode.", nullptr, nullptr)
1264
OPTION(prefix_1, llvm::StringLiteral("fgpu-inline-threshold="), fgpu_inline_threshold_EQ, Joined, INVALID, INVALID, nullptr, HelpHidden, 0,
1265
       "Inline threshold for device compilation for CUDA/HIP", nullptr, nullptr)
1266
OPTION(prefix_1, llvm::StringLiteral("fgpu-rdc"), fgpu_rdc, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1267
       "Generate relocatable device code, also known as separate compilation mode", nullptr, nullptr)
1268
OPTION(prefix_1, llvm::StringLiteral("fgpu-sanitize"), fgpu_sanitize, Flag, f_Group, INVALID, nullptr, 0, 0,
1269
       "Enable sanitizer for AMDGPU target", nullptr, nullptr)
1270
OPTION(prefix_1, llvm::StringLiteral("fhalf-no-semantic-interposition"), fhalf_no_semantic_interposition, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1271
       "Like -fno-semantic-interposition but don't use local aliases", nullptr, nullptr)
1272
OPTION(prefix_1, llvm::StringLiteral("fheinous-gnu-extensions"), fheinous_gnu_extensions, Flag, INVALID, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
1273
OPTION(prefix_1, llvm::StringLiteral("fhip-dump-offload-linker-script"), fhip_dump_offload_linker_script, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
1274
OPTION(prefix_1, llvm::StringLiteral("fhip-fp32-correctly-rounded-divide-sqrt"), fhip_fp32_correctly_rounded_divide_sqrt, Flag, f_Group, INVALID, nullptr, 0, 0,
1275
       "Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)", nullptr, nullptr)
1276
OPTION(prefix_1, llvm::StringLiteral("fhip-kernel-arg-name"), fhip_kernel_arg_name, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1277
       "Specify that kernel argument names are preserved (HIP only)", nullptr, nullptr)
1278
OPTION(prefix_1, llvm::StringLiteral("fhip-new-launch-api"), fhip_new_launch_api, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1279
       "Use new kernel launching API for HIP", nullptr, nullptr)
1280
OPTION(prefix_1, llvm::StringLiteral("fhonor-infinites"), anonymous_581, Flag, INVALID, fhonor_infinities, nullptr, 0, 0, nullptr, nullptr, nullptr)
1281
OPTION(prefix_1, llvm::StringLiteral("fhonor-infinities"), fhonor_infinities, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1282
OPTION(prefix_1, llvm::StringLiteral("fhonor-nans"), fhonor_nans, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1283
OPTION(prefix_1, llvm::StringLiteral("fhosted"), fhosted, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1284
OPTION(prefix_1, llvm::StringLiteral("fident"), anonymous_32, Flag, f_Group, Qy, nullptr, CoreOption | CC1Option, 0, nullptr, nullptr, nullptr)
1285
OPTION(prefix_1, llvm::StringLiteral("fignore-exceptions"), fignore_exceptions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1286
       "Enable support for ignoring exception handling constructs", nullptr, nullptr)
1287
OPTION(prefix_1, llvm::StringLiteral("filelist"), filelist, Separate, Link_Group, INVALID, nullptr, LinkerInput, 0, nullptr, nullptr, nullptr)
1288
OPTION(prefix_1, llvm::StringLiteral("filetype"), filetype, Separate, INVALID, INVALID, nullptr, CC1AsOption | NoDriverOption, 0,
1289
       "Specify the output file type ('asm', 'null', or 'obj')", nullptr, nullptr)
1290
OPTION(prefix_1, llvm::StringLiteral("fimplement-inlines"), fimplement_inlines, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1291
OPTION(prefix_1, llvm::StringLiteral("fimplicit-module-maps"), fimplicit_module_maps, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
1292
       "Implicitly search the file system for module map files.", nullptr, nullptr)
1293
OPTION(prefix_1, llvm::StringLiteral("fimplicit-modules-use-lock"), ffimplicit_modules_use_lock, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1294
       "Use filesystem locks for implicit modules builds to avoid duplicating work in competing clang invocations.", nullptr, nullptr)
1295
OPTION(prefix_1, llvm::StringLiteral("fimplicit-modules"), fimplicit_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
1296
       "", nullptr, nullptr)
1297
OPTION(prefix_1, llvm::StringLiteral("fimplicit-none"), fimplicit_none, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
1298
       "No implicit typing allowed unless overridden by IMPLICIT statements", nullptr, nullptr)
1299
OPTION(prefix_1, llvm::StringLiteral("fimplicit-templates"), fimplicit_templates, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1300
OPTION(prefix_1, llvm::StringLiteral("finclude-default-header"), finclude_default_header, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1301
       "Include default header file for OpenCL and HLSL", nullptr, nullptr)
1302
OPTION(prefix_1, llvm::StringLiteral("fincremental-extensions"), fincremental_extensions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1303
       "Enable incremental processing extensions such as processingstatements on the global scope.", nullptr, nullptr)
1304
OPTION(prefix_1, llvm::StringLiteral("findirect-virtual-calls"), anonymous_643, Flag, INVALID, fapple_kext, nullptr, 0, 0, nullptr, nullptr, nullptr)
1305
OPTION(prefix_1, llvm::StringLiteral("finit-character="), finit_character_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1306
OPTION(prefix_1, llvm::StringLiteral("finit-integer="), finit_integer_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1307
OPTION(prefix_1, llvm::StringLiteral("finit-local-zero"), finit_local_zero, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1308
OPTION(prefix_1, llvm::StringLiteral("finit-logical="), finit_logical_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1309
OPTION(prefix_1, llvm::StringLiteral("finit-real="), finit_real_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1310
OPTION(prefix_1, llvm::StringLiteral("finline-functions-called-once"), finline_functions_called_once, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1311
OPTION(prefix_1, llvm::StringLiteral("finline-functions"), finline_functions, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
1312
       "Inline suitable functions", nullptr, nullptr)
1313
OPTION(prefix_1, llvm::StringLiteral("finline-hint-functions"), finline_hint_functions, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
1314
       "Inline functions which are (explicitly or implicitly) marked inline", nullptr, nullptr)
1315
OPTION(prefix_1, llvm::StringLiteral("finline-limit="), finline_limit_EQ, Joined, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1316
OPTION(prefix_1, llvm::StringLiteral("finline-limit"), ffinline_limit, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1317
OPTION(prefix_1, llvm::StringLiteral("finline-max-stacksize="), finline_max_stacksize_EQ, Joined, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
1318
       "Suppress inlining of functions whose stack size exceeds the given value", nullptr, nullptr)
1319
OPTION(prefix_1, llvm::StringLiteral("finline-small-functions"), finline_small_functions, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1320
OPTION(prefix_1, llvm::StringLiteral("finline"), finline, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1321
OPTION(prefix_1, llvm::StringLiteral("finput-charset="), finput_charset_EQ, Joined, f_Group, INVALID, nullptr, FlangOption | FC1Option, 0,
1322
       "Specify the default character set for source files", nullptr, nullptr)
1323
OPTION(prefix_1, llvm::StringLiteral("finstrument-function-entry-bare"), finstrument_function_entry_bare, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1324
       "Instrument function entry only, after inlining, without arguments to the instrumentation call", nullptr, nullptr)
1325
OPTION(prefix_1, llvm::StringLiteral("finstrument-functions-after-inlining"), finstrument_functions_after_inlining, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1326
       "Like -finstrument-functions, but insert the calls after inlining", nullptr, nullptr)
1327
OPTION(prefix_1, llvm::StringLiteral("finstrument-functions"), finstrument_functions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1328
       "Generate calls to instrument function entry and exit", nullptr, nullptr)
1329
OPTION(prefix_1, llvm::StringLiteral("finteger-4-integer-8"), finteger_4_integer_8, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1330
OPTION(prefix_1, llvm::StringLiteral("fintegrated-as"), fintegrated_as, Flag, f_Group, INVALID, nullptr, 0, 0,
1331
       "Enable the integrated assembler", nullptr, nullptr)
1332
OPTION(prefix_1, llvm::StringLiteral("fintegrated-cc1"), fintegrated_cc1, Flag, f_Group, INVALID, nullptr, CoreOption | NoXarchOption, 0,
1333
       "Run cc1 in-process", nullptr, nullptr)
1334
OPTION(prefix_1, llvm::StringLiteral("fintegrated-objemitter"), fintegrated_objemitter, Flag, f_Group, INVALID, nullptr, CoreOption | NoXarchOption, 0,
1335
       "Use internal machine object code emitter.", nullptr, nullptr)
1336
OPTION(prefix_1, llvm::StringLiteral("fintrinsic-modules-path"), fintrinsic_modules_path, Separate, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
1337
       "Specify where to find the compiled intrinsic modules", "<dir>", nullptr)
1338
OPTION(prefix_1, llvm::StringLiteral("fipa-cp"), fipa_cp, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1339
OPTION(prefix_1, llvm::StringLiteral("fivopts"), fivopts, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1340
OPTION(prefix_1, llvm::StringLiteral("fix-only-warnings"), fix_only_warnings, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1341
       "Apply fix-it advice only for warnings, not errors", nullptr, nullptr)
1342
OPTION(prefix_1, llvm::StringLiteral("fix-what-you-can"), fix_what_you_can, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1343
       "Apply fix-it advice even in the presence of unfixable errors", nullptr, nullptr)
1344
OPTION(prefix_1, llvm::StringLiteral("fixit-recompile"), fixit_recompile, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1345
       "Apply fix-it changes and recompile", nullptr, nullptr)
1346
OPTION(prefix_1, llvm::StringLiteral("fixit-to-temporary"), fixit_to_temp, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1347
       "Apply fix-it changes to temporary files", nullptr, nullptr)
1348
OPTION(prefix_1, llvm::StringLiteral("fixit="), fixit_EQ, Joined, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1349
       "Apply fix-it advice creating a file with the given suffix", nullptr, nullptr)
1350
OPTION(prefix_1, llvm::StringLiteral("fixit"), fixit, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1351
       "Apply fix-it advice to the input source", nullptr, nullptr)
1352
OPTION(prefix_2, llvm::StringLiteral("FI"), _SLASH_FI, JoinedOrSeparate, cl_Group, include, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
1353
       "Include file before parsing", nullptr, nullptr)
1354
OPTION(prefix_2, llvm::StringLiteral("Fi"), _SLASH_Fi, Joined, cl_compile_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
1355
       "Set preprocess output file name (with /P)", "<file>", nullptr)
1356
OPTION(prefix_1, llvm::StringLiteral("fjmc"), fjmc, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1357
       "Enable just-my-code debugging", nullptr, nullptr)
1358
OPTION(prefix_1, llvm::StringLiteral("fjump-tables"), fjump_tables, Flag, f_Group, INVALID, nullptr, 0, 0,
1359
       "Use jump tables for lowering switches", nullptr, nullptr)
1360
OPTION(prefix_1, llvm::StringLiteral("fkeep-inline-functions"), fanonymous_1410, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1361
OPTION(prefix_1, llvm::StringLiteral("fkeep-static-consts"), fkeep_static_consts, Flag, f_Group, INVALID, nullptr, CC1Option | NoXarchOption, 0,
1362
       "Keep static const variables if unused", nullptr, nullptr)
1363
OPTION(prefix_1, llvm::StringLiteral("flang-experimental-exec"), flang_experimental_exec, Flag, INVALID, INVALID, nullptr, FlangOption | FlangOnlyOption | NoXarchOption | HelpHidden, 0,
1364
       "Enable support for generating executables (experimental)", nullptr, nullptr)
1365
OPTION(prefix_1, llvm::StringLiteral("flarge-sizes"), flarge_sizes, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
1366
       "Use INTEGER(KIND=8) for the result type in size-related intrinsics", nullptr, nullptr)
1367
OPTION(prefix_1, llvm::StringLiteral("flat_namespace"), flat__namespace, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1368
OPTION(prefix_1, llvm::StringLiteral("flax-vector-conversions="), flax_vector_conversions_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
1369
       "Enable implicit vector bit-casts", nullptr, "none,integer,all")
1370
OPTION(prefix_1, llvm::StringLiteral("flax-vector-conversions"), flax_vector_conversions, Flag, f_Group, flax_vector_conversions_EQ, "integer\0", 0, 0, nullptr, nullptr, nullptr)
1371
OPTION(prefix_1, llvm::StringLiteral("flimit-debug-info"), flimit_debug_info, Flag, INVALID, fno_standalone_debug, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
1372
OPTION(prefix_1, llvm::StringLiteral("flimited-precision="), flimited_precision_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1373
OPTION(prefix_1, llvm::StringLiteral("flogical-abbreviations"), flogical_abbreviations, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
1374
       "Enable logical abbreviations", nullptr, nullptr)
1375
OPTION(prefix_1, llvm::StringLiteral("flto-jobs="), flto_jobs_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
1376
       "Controls the backend parallelism of -flto=thin (default of 0 means the number of threads will be derived from the number of CPUs detected)", nullptr, nullptr)
1377
OPTION(prefix_1, llvm::StringLiteral("flto-unit"), flto_unit, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1378
       "Emit IR to support LTO unit features (CFI, whole program vtable opt)", nullptr, nullptr)
1379
OPTION(prefix_1, llvm::StringLiteral("flto-visibility-public-std"), flto_visibility_public_std, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1380
       "Use public LTO visibility for classes in std and stdext namespaces", nullptr, nullptr)
1381
OPTION(prefix_1, llvm::StringLiteral("flto=auto"), flto_EQ_auto, Flag, f_Group, flto_EQ, "full\0", 0, 0,
1382
       "Enable LTO in 'full' mode", nullptr, nullptr)
1383
OPTION(prefix_1, llvm::StringLiteral("flto=jobserver"), flto_EQ_jobserver, Flag, f_Group, flto_EQ, "full\0", 0, 0,
1384
       "Enable LTO in 'full' mode", nullptr, nullptr)
1385
OPTION(prefix_1, llvm::StringLiteral("flto="), flto_EQ, Joined, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
1386
       "Set LTO mode", nullptr, "thin,full")
1387
OPTION(prefix_1, llvm::StringLiteral("flto"), flto, Flag, f_Group, flto_EQ, "full\0", CoreOption | CC1Option, 0,
1388
       "Enable LTO in 'full' mode", nullptr, nullptr)
1389
OPTION(prefix_1, llvm::StringLiteral("fmacro-backtrace-limit="), fmacro_backtrace_limit_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0, nullptr, nullptr, nullptr)
1390
OPTION(prefix_1, llvm::StringLiteral("fmacro-backtrace-limit"), fmacro_backtrace_limit, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1391
       "Set the maximum number of entries to print in a macro expansion backtrace (0 = no limit).", "<N>", nullptr)
1392
OPTION(prefix_1, llvm::StringLiteral("fmacro-prefix-map="), fmacro_prefix_map_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
1393
       "remap file source paths in predefined preprocessor macros and __builtin_FILE(). Implies -ffile-reproducible.", nullptr, nullptr)
1394
OPTION(prefix_1, llvm::StringLiteral("fmath-errno"), fmath_errno, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1395
       "Require math functions to indicate errors by setting errno", nullptr, nullptr)
1396
OPTION(prefix_1, llvm::StringLiteral("fmax-array-constructor="), fmax_array_constructor_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1397
OPTION(prefix_1, llvm::StringLiteral("fmax-errors="), fmax_errors_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1398
OPTION(prefix_1, llvm::StringLiteral("fmax-identifier-length"), fmax_identifier_length, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1399
OPTION(prefix_1, llvm::StringLiteral("fmax-stack-var-size="), fmax_stack_var_size_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1400
OPTION(prefix_1, llvm::StringLiteral("fmax-subrecord-length="), fmax_subrecord_length_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1401
OPTION(prefix_1, llvm::StringLiteral("fmax-tokens="), fmax_tokens_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
1402
       "Max total number of preprocessed tokens for -Wmax-tokens.", nullptr, nullptr)
1403
OPTION(prefix_1, llvm::StringLiteral("fmax-type-align="), fmax_type_align_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
1404
       "Specify the maximum alignment to enforce on pointers lacking an explicit alignment", nullptr, nullptr)
1405
OPTION(prefix_1, llvm::StringLiteral("fmemory-profile="), fmemory_profile_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
1406
       "Enable heap memory profiling and dump results into <directory>", "<directory>", nullptr)
1407
OPTION(prefix_1, llvm::StringLiteral("fmemory-profile"), fmemory_profile, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1408
       "Enable heap memory profiling", nullptr, nullptr)
1409
OPTION(prefix_1, llvm::StringLiteral("fmerge-all-constants"), fmerge_all_constants, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1410
       "Allow merging of constants", nullptr, nullptr)
1411
OPTION(prefix_1, llvm::StringLiteral("fmerge-constants"), fmerge_constants, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1412
OPTION(prefix_1, llvm::StringLiteral("fmerge-functions"), fmerge_functions, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1413
       "Permit merging of identical functions when optimizing.", nullptr, nullptr)
1414
OPTION(prefix_1, llvm::StringLiteral("fmessage-length="), fmessage_length_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
1415
       "Format message diagnostics so that they fit within N columns", nullptr, nullptr)
1416
OPTION(prefix_1, llvm::StringLiteral("fminimize-whitespace"), fminimize_whitespace, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1417
       "Minimize whitespace when emitting preprocessor output", nullptr, nullptr)
1418
OPTION(prefix_1, llvm::StringLiteral("fmodule-feature"), fmodule_feature, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1419
       "Enable <feature> in module map requires declarations", "<feature>", nullptr)
1420
OPTION(prefix_1, llvm::StringLiteral("fmodule-file-deps"), fmodule_file_deps, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
1421
OPTION(prefix_1, llvm::StringLiteral("fmodule-file-home-is-cwd"), fmodule_file_home_is_cwd, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1422
       "Use the current working directory as the base directory of compiled module files.", nullptr, nullptr)
1423
OPTION(prefix_1, llvm::StringLiteral("fmodule-file="), fmodule_file, Joined, i_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
1424
       "Specify the mapping of module name to precompiled module file, or load a module file if name is omitted.", "[<name>=]<file>", nullptr)
1425
OPTION(prefix_1, llvm::StringLiteral("fmodule-format="), fmodule_format_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1426
       "Select the container format for clang modules and PCH. Supported options are 'raw' and 'obj'.", nullptr, nullptr)
1427
OPTION(prefix_1, llvm::StringLiteral("fmodule-header="), fmodule_header_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption, 0,
1428
       "Build a C++20 Header Unit from a header that should be found in the user (fmodule-header=user) or system (fmodule-header=system) search path.", "<kind>", nullptr)
1429
OPTION(prefix_1, llvm::StringLiteral("fmodule-header"), fmodule_header, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0,
1430
       "Build a C++20 Header Unit from a header.", nullptr, nullptr)
1431
OPTION(prefix_1, llvm::StringLiteral("fmodule-implementation-of"), fmodule_implementation_of, Separate, INVALID, fmodule_name_EQ, nullptr, CC1Option | CoreOption, 0, nullptr, nullptr, nullptr)
1432
OPTION(prefix_1, llvm::StringLiteral("fmodule-map-file-home-is-cwd"), fmodule_map_file_home_is_cwd, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1433
       "Use the current working directory as the home directory of module maps specified by -fmodule-map-file=<FILE>", nullptr, nullptr)
1434
OPTION(prefix_1, llvm::StringLiteral("fmodule-map-file="), fmodule_map_file, Joined, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
1435
       "Load this module map file", "<file>", nullptr)
1436
OPTION(prefix_1, llvm::StringLiteral("fmodule-maps"), fmodule_maps, Flag, INVALID, fimplicit_module_maps, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
1437
OPTION(prefix_1, llvm::StringLiteral("fmodule-name="), fmodule_name_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
1438
       "Specify the name of the module to build", "<name>", nullptr)
1439
OPTION(prefix_1, llvm::StringLiteral("fmodule-output="), fmodule_output_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption | CC1Option, 0,
1440
       "Save intermediate module file results when compiling a standard C++ module unit.", nullptr, nullptr)
1441
OPTION(prefix_1, llvm::StringLiteral("fmodule-output"), fmodule_output, Flag, INVALID, INVALID, nullptr, NoXarchOption | CC1Option, 0,
1442
       "Save intermediate module file results when compiling a standard C++ module unit.", nullptr, nullptr)
1443
OPTION(prefix_1, llvm::StringLiteral("fmodule-private"), fmodule_private, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1444
OPTION(prefix_1, llvm::StringLiteral("fmodules-cache-path="), fmodules_cache_path, Joined, i_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
1445
       "Specify the module cache path", "<directory>", nullptr)
1446
OPTION(prefix_1, llvm::StringLiteral("fmodules-codegen"), fmodules_codegen, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1447
       "Generate code for uses of this module that assumes an explicit object file will be built for the module", nullptr, nullptr)
1448
OPTION(prefix_1, llvm::StringLiteral("fmodules-debuginfo"), fmodules_debuginfo, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1449
       "Generate debug info for types in an object file built from this module and do not generate them elsewhere", nullptr, nullptr)
1450
OPTION(prefix_1, llvm::StringLiteral("fmodules-decluse"), fmodules_decluse, Flag, f_Group, INVALID, nullptr, CC1Option | NoXarchOption | CoreOption, 0,
1451
       "Require declaration of modules used within a module", nullptr, nullptr)
1452
OPTION(prefix_1, llvm::StringLiteral("fmodules-disable-diagnostic-validation"), fmodules_disable_diagnostic_validation, Flag, i_Group, INVALID, nullptr, CC1Option, 0,
1453
       "Disable validation of the diagnostic options when loading the module", nullptr, nullptr)
1454
OPTION(prefix_1, llvm::StringLiteral("fmodules-embed-all-files"), fmodules_embed_all_files, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1455
       "Embed the contents of all files read by this compilation into the produced module file.", nullptr, nullptr)
1456
OPTION(prefix_1, llvm::StringLiteral("fmodules-embed-file="), fmodules_embed_file_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1457
       "Embed the contents of the specified file into the module file being compiled.", "<file>", nullptr)
1458
OPTION(prefix_1, llvm::StringLiteral("fmodules-hash-content"), fmodules_hash_content, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1459
       "Enable hashing the content of a module file", nullptr, nullptr)
1460
OPTION(prefix_1, llvm::StringLiteral("fmodules-ignore-macro="), fmodules_ignore_macro, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1461
       "Ignore the definition of the given macro when building and loading modules", nullptr, nullptr)
1462
OPTION(prefix_1, llvm::StringLiteral("fmodules-local-submodule-visibility"), fmodules_local_submodule_visibility, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1463
       "Enforce name visibility rules across submodules of the same top-level module.", nullptr, nullptr)
1464
OPTION(prefix_1, llvm::StringLiteral("fmodules-prune-after="), fmodules_prune_after, Joined, i_Group, INVALID, nullptr, CC1Option, 0,
1465
       "Specify the interval (in seconds) after which a module file will be considered unused", "<seconds>", nullptr)
1466
OPTION(prefix_1, llvm::StringLiteral("fmodules-prune-interval="), fmodules_prune_interval, Joined, i_Group, INVALID, nullptr, CC1Option, 0,
1467
       "Specify the interval (in seconds) between attempts to prune the module cache", "<seconds>", nullptr)
1468
OPTION(prefix_1, llvm::StringLiteral("fmodules-search-all"), fmodules_search_all, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
1469
       "Search even non-imported modules to resolve references", nullptr, nullptr)
1470
OPTION(prefix_1, llvm::StringLiteral("fmodules-strict-context-hash"), fmodules_strict_context_hash, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1471
       "Enable hashing of all compiler options that could impact the semantics of a module in an implicit build", nullptr, nullptr)
1472
OPTION(prefix_1, llvm::StringLiteral("fmodules-strict-decluse"), fmodules_strict_decluse, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
1473
       "Like -fmodules-decluse but requires all headers to be in modules", nullptr, nullptr)
1474
OPTION(prefix_1, llvm::StringLiteral("fmodules-ts"), fmodules_ts, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1475
       "Enable support for the C++ Modules TS", nullptr, nullptr)
1476
OPTION(prefix_1, llvm::StringLiteral("fmodules-user-build-path"), fmodules_user_build_path, Separate, i_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
1477
       "Specify the module user build path", "<directory>", nullptr)
1478
OPTION(prefix_1, llvm::StringLiteral("fmodules-validate-input-files-content"), fmodules_validate_input_files_content, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0,
1479
       "Validate PCM input files based on content if mtime differs", nullptr, nullptr)
1480
OPTION(prefix_1, llvm::StringLiteral("fmodules-validate-once-per-build-session"), fmodules_validate_once_per_build_session, Flag, i_Group, INVALID, nullptr, CC1Option, 0,
1481
       "Don't verify input files for the modules if the module has been successfully validated or loaded during this build session", nullptr, nullptr)
1482
OPTION(prefix_1, llvm::StringLiteral("fmodules-validate-system-headers"), fmodules_validate_system_headers, Flag, i_Group, INVALID, nullptr, CC1Option, 0,
1483
       "Validate the system headers that a module depends on when loading the module", nullptr, nullptr)
1484
OPTION(prefix_1, llvm::StringLiteral("fmodules"), fmodules, Flag, f_Group, INVALID, nullptr, CC1Option | NoXarchOption | CoreOption, 0,
1485
       "Enable the 'modules' language feature", nullptr, nullptr)
1486
OPTION(prefix_1, llvm::StringLiteral("fmodulo-sched-allow-regmoves"), fmodulo_sched_allow_regmoves, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1487
OPTION(prefix_1, llvm::StringLiteral("fmodulo-sched"), fmodulo_sched, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1488
OPTION(prefix_1, llvm::StringLiteral("fms-compatibility-version="), fms_compatibility_version, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1489
       "Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))", nullptr, nullptr)
1490
OPTION(prefix_1, llvm::StringLiteral("fms-compatibility"), fms_compatibility, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1491
       "Enable full Microsoft Visual C++ compatibility", nullptr, nullptr)
1492
OPTION(prefix_1, llvm::StringLiteral("fms-extensions"), fms_extensions, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1493
       "Accept some non-standard constructs supported by the Microsoft compiler", nullptr, nullptr)
1494
OPTION(prefix_1, llvm::StringLiteral("fms-hotpatch"), fms_hotpatch, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1495
       "Ensure that all functions can be hotpatched at runtime", nullptr, nullptr)
1496
OPTION(prefix_1, llvm::StringLiteral("fms-kernel"), fms_kernel, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
1497
OPTION(prefix_1, llvm::StringLiteral("fms-memptr-rep="), fms_memptr_rep_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, "single,multiple,virtual")
1498
OPTION(prefix_1, llvm::StringLiteral("fms-omit-default-lib"), fms_omit_default_lib, Joined, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0, nullptr, nullptr, nullptr)
1499
OPTION(prefix_1, llvm::StringLiteral("fms-runtime-lib="), fms_runtime_lib_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
1500
       "Select Windows run-time library", nullptr, "static,static_dbg,dll,dll_dbg")
1501
OPTION(prefix_1, llvm::StringLiteral("fms-volatile"), fms_volatile, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
1502
OPTION(prefix_1, llvm::StringLiteral("fmsc-version="), fmsc_version, Joined, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
1503
       "Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))", nullptr, nullptr)
1504
OPTION(prefix_1, llvm::StringLiteral("fmudflapth"), fmudflapth, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1505
OPTION(prefix_1, llvm::StringLiteral("fmudflap"), fmudflap, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1506
OPTION(prefix_2, llvm::StringLiteral("Fm"), _SLASH_Fm, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
1507
OPTION(prefix_1, llvm::StringLiteral("fnative-half-arguments-and-returns"), fnative_half_arguments_and_returns, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1508
       "Use the native __fp16 type for arguments and returns (and skip ABI-specific lowering)", nullptr, nullptr)
1509
OPTION(prefix_1, llvm::StringLiteral("fnative-half-type"), fnative_half_type, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1510
       "Use the native half type for __fp16 instead of promoting to float", nullptr, nullptr)
1511
OPTION(prefix_1, llvm::StringLiteral("fnested-functions"), fnested_functions, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1512
OPTION(prefix_1, llvm::StringLiteral("fnew-alignment="), fnew_alignment_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
1513
       "Specifies the largest alignment guaranteed by '::operator new(size_t)'", "<align>", nullptr)
1514
OPTION(prefix_1, llvm::StringLiteral("fnew-alignment"), anonymous_893, Separate, INVALID, fnew_alignment_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
1515
OPTION(prefix_1, llvm::StringLiteral("fnew-infallible"), fnew_infallible, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1516
       "Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.", nullptr, nullptr)
1517
OPTION(prefix_1, llvm::StringLiteral("fnext-runtime"), fnext_runtime, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1518
OPTION(prefix_1, llvm::StringLiteral("fno-aapcs-bitfield-width"), fno_aapcs_bitfield_width, Flag, m_arm_Features_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
1519
       "Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).", nullptr, nullptr)
1520
OPTION(prefix_1, llvm::StringLiteral("fno-access-control"), fno_access_control, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1521
       "Disable C++ access control", nullptr, nullptr)
1522
OPTION(prefix_1, llvm::StringLiteral("fno-addrsig"), fno_addrsig, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
1523
       "Don't emit an address-significance table", nullptr, nullptr)
1524
OPTION(prefix_1, llvm::StringLiteral("fno-aggressive-function-elimination"), fno_aggressive_function_elimination, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1525
OPTION(prefix_1, llvm::StringLiteral("fno-align-commons"), fno_align_commons, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1526
OPTION(prefix_1, llvm::StringLiteral("fno-align-functions"), fno_align_functions, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1527
OPTION(prefix_1, llvm::StringLiteral("fno-align-jumps"), fno_align_jumps, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1528
OPTION(prefix_1, llvm::StringLiteral("fno-align-labels"), fno_align_labels, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1529
OPTION(prefix_1, llvm::StringLiteral("fno-align-loops"), fno_align_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1530
OPTION(prefix_1, llvm::StringLiteral("fno-aligned-allocation"), fno_aligned_allocation, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1531
       "", nullptr, nullptr)
1532
OPTION(prefix_1, llvm::StringLiteral("fno-aligned-new"), anonymous_895, Flag, INVALID, fno_aligned_allocation, nullptr, 0, 0, nullptr, nullptr, nullptr)
1533
OPTION(prefix_1, llvm::StringLiteral("fno-all-intrinsics"), fno_all_intrinsics, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1534
OPTION(prefix_1, llvm::StringLiteral("fno-allow-editor-placeholders"), fno_allow_editor_placeholders, Flag, f_Group, INVALID, nullptr, 0, 0,
1535
       "", nullptr, nullptr)
1536
OPTION(prefix_1, llvm::StringLiteral("fno-altivec"), fno_altivec, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
1537
OPTION(prefix_1, llvm::StringLiteral("fno-analyzed-objects-for-unparse"), fno_analyzed_objects_for_unparse, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
1538
       "Do not use the analyzed objects when unparsing", nullptr, nullptr)
1539
OPTION(prefix_1, llvm::StringLiteral("fno-apple-pragma-pack"), fno_apple_pragma_pack, Flag, f_Group, INVALID, nullptr, 0, 0,
1540
       "", nullptr, nullptr)
1541
OPTION(prefix_1, llvm::StringLiteral("fno-application-extension"), fno_application_extension, Flag, f_Group, INVALID, nullptr, 0, 0,
1542
       "", nullptr, nullptr)
1543
OPTION(prefix_1, llvm::StringLiteral("fno-approx-func"), fno_approx_func, Flag, f_Group, INVALID, nullptr, 0, 0,
1544
       "", nullptr, nullptr)
1545
OPTION(prefix_1, llvm::StringLiteral("fno-asm-blocks"), fno_asm_blocks, Flag, f_Group, INVALID, nullptr, 0, 0,
1546
       "", nullptr, nullptr)
1547
OPTION(prefix_1, llvm::StringLiteral("fno-asm"), fno_asm, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1548
OPTION(prefix_1, llvm::StringLiteral("fno-associative-math"), fno_associative_math, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1549
OPTION(prefix_1, llvm::StringLiteral("fno-assume-sane-operator-new"), fno_assume_sane_operator_new, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1550
       "Don't assume that C++'s global operator new can't alias any pointer", nullptr, nullptr)
1551
OPTION(prefix_1, llvm::StringLiteral("fno-async-exceptions"), fno_async_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
1552
       "", nullptr, nullptr)
1553
OPTION(prefix_1, llvm::StringLiteral("fno-asynchronous-unwind-tables"), fno_asynchronous_unwind_tables, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1554
OPTION(prefix_1, llvm::StringLiteral("fno-auto-profile-accurate"), fno_auto_profile_accurate, Flag, f_Group, fno_profile_sample_accurate, nullptr, 0, 0, nullptr, nullptr, nullptr)
1555
OPTION(prefix_1, llvm::StringLiteral("fno-auto-profile"), fno_auto_profile, Flag, f_Group, fno_profile_sample_use, nullptr, 0, 0, nullptr, nullptr, nullptr)
1556
OPTION(prefix_1, llvm::StringLiteral("fno-autolink"), fno_autolink, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1557
       "Disable generation of linker directives for automatic library linking", nullptr, nullptr)
1558
OPTION(prefix_1, llvm::StringLiteral("fno-automatic"), fno_automatic, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
1559
       "Implies the SAVE attribute for non-automatic local objects in subprograms unless RECURSIVE", nullptr, nullptr)
1560
OPTION(prefix_1, llvm::StringLiteral("fno-backslash"), fno_backslash, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
1561
       "", nullptr, nullptr)
1562
OPTION(prefix_1, llvm::StringLiteral("fno-backtrace"), fno_backtrace, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1563
OPTION(prefix_1, llvm::StringLiteral("fno-bitfield-type-align"), fno_bitfield_type_align, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1564
       "Ignore bit-field types when aligning structures", nullptr, nullptr)
1565
OPTION(prefix_1, llvm::StringLiteral("fno-blocks"), fno_blocks, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
1566
       "", nullptr, nullptr)
1567
OPTION(prefix_1, llvm::StringLiteral("fno-borland-extensions"), fno_borland_extensions, Flag, f_Group, INVALID, nullptr, 0, 0,
1568
       "", nullptr, nullptr)
1569
OPTION(prefix_1, llvm::StringLiteral("fno-bounds-check"), fno_bounds_check, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1570
OPTION(prefix_1, llvm::StringLiteral("fno-branch-count-reg"), fno_branch_count_reg, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1571
OPTION(prefix_1, llvm::StringLiteral("fno-builtin-"), fno_builtin_, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1572
       "Disable implicit builtin knowledge of a specific function", nullptr, nullptr)
1573
OPTION(prefix_1, llvm::StringLiteral("fno-builtin"), fno_builtin, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1574
       "Disable implicit builtin knowledge of functions", nullptr, nullptr)
1575
OPTION(prefix_1, llvm::StringLiteral("fno-c++-static-destructors"), fno_cxx_static_destructors, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1576
       "Disable C++ static destructor registration", nullptr, nullptr)
1577
OPTION(prefix_1, llvm::StringLiteral("fno-caller-saves"), fno_caller_saves, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1578
OPTION(prefix_1, llvm::StringLiteral("fno-caret-diagnostics"), fno_caret_diagnostics, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1579
       "", nullptr, nullptr)
1580
OPTION(prefix_1, llvm::StringLiteral("fno-char8_t"), fno_char8__t, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1581
       "Disable C++ builtin type char8_t", nullptr, nullptr)
1582
OPTION(prefix_1, llvm::StringLiteral("fno-check-array-temporaries"), fno_check_array_temporaries, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1583
OPTION(prefix_1, llvm::StringLiteral("fno-check-new"), fno_fcheck_new, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1584
OPTION(prefix_1, llvm::StringLiteral("fno-color-diagnostics"), fno_color_diagnostics, Flag, f_Group, INVALID, nullptr, CoreOption | FlangOption, 0,
1585
       "Disable colors in diagnostics", nullptr, nullptr)
1586
OPTION(prefix_1, llvm::StringLiteral("fno-common"), fno_common, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1587
       "Compile common globals like normal definitions", nullptr, nullptr)
1588
OPTION(prefix_1, llvm::StringLiteral("fno-complete-member-pointers"), fno_complete_member_pointers, Flag, f_clang_Group, INVALID, nullptr, CoreOption, 0,
1589
       "Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI", nullptr, nullptr)
1590
OPTION(prefix_1, llvm::StringLiteral("fno-const-strings"), fno_const_strings, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1591
       "Don't use a const qualified type for string literals in C and ObjC", nullptr, nullptr)
1592
OPTION(prefix_1, llvm::StringLiteral("fno-constant-cfstrings"), fno_constant_cfstrings, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1593
       "Disable creation of CodeFoundation-type constant strings", nullptr, nullptr)
1594
OPTION(prefix_1, llvm::StringLiteral("fno-coro-aligned-allocation"), fno_coro_aligned_allocation, Flag, f_Group, INVALID, nullptr, 0, 0,
1595
       "", nullptr, nullptr)
1596
OPTION(prefix_1, llvm::StringLiteral("fno-coroutines-ts"), fno_coroutines_ts, Flag, f_Group, INVALID, nullptr, 0, 0,
1597
       "", nullptr, nullptr)
1598
OPTION(prefix_1, llvm::StringLiteral("fno-coverage-mapping"), fno_coverage_mapping, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
1599
       "Disable code coverage analysis", nullptr, nullptr)
1600
OPTION(prefix_1, llvm::StringLiteral("fno-crash-diagnostics"), fno_crash_diagnostics, Flag, f_clang_Group, gen_reproducer_eq, "off\0", NoArgumentUnused | CoreOption, 0,
1601
       "Disable auto-generation of preprocessed source files and a script for reproduction during a clang crash", nullptr, nullptr)
1602
OPTION(prefix_1, llvm::StringLiteral("fno-cray-pointer"), fno_cray_pointer, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1603
OPTION(prefix_1, llvm::StringLiteral("fno-cuda-approx-transcendentals"), fno_cuda_approx_transcendentals, Flag, f_Group, INVALID, nullptr, 0, 0,
1604
       "Don't use approximate transcendental functions", nullptr, nullptr)
1605
OPTION(prefix_1, llvm::StringLiteral("fno-cuda-flush-denormals-to-zero"), fno_cuda_flush_denormals_to_zero, Flag, INVALID, fno_gpu_flush_denormals_to_zero, nullptr, 0, 0, nullptr, nullptr, nullptr)
1606
OPTION(prefix_1, llvm::StringLiteral("fno-cuda-host-device-constexpr"), fno_cuda_host_device_constexpr, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1607
       "Don't treat unattributed constexpr functions as __host__ __device__.", nullptr, nullptr)
1608
OPTION(prefix_1, llvm::StringLiteral("fno-cuda-rdc"), anonymous_59, Flag, INVALID, fno_gpu_rdc, nullptr, 0, 0, nullptr, nullptr, nullptr)
1609
OPTION(prefix_1, llvm::StringLiteral("fno-cuda-short-ptr"), fno_cuda_short_ptr, Flag, f_Group, INVALID, nullptr, 0, 0,
1610
       "", nullptr, nullptr)
1611
OPTION(prefix_1, llvm::StringLiteral("fno-cxx-exceptions"), fno_cxx_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
1612
       "", nullptr, nullptr)
1613
OPTION(prefix_1, llvm::StringLiteral("fno-cxx-modules"), fno_cxx_modules, Flag, f_Group, INVALID, nullptr, CC1Option | NoXarchOption, 0,
1614
       "Disable modules for C++", nullptr, nullptr)
1615
OPTION(prefix_1, llvm::StringLiteral("fno-d-lines-as-code"), fno_d_lines_as_code, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1616
OPTION(prefix_1, llvm::StringLiteral("fno-d-lines-as-comments"), fno_d_lines_as_comments, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1617
OPTION(prefix_1, llvm::StringLiteral("fno-data-sections"), fno_data_sections, Flag, f_Group, INVALID, nullptr, 0, 0,
1618
       "", nullptr, nullptr)
1619
OPTION(prefix_1, llvm::StringLiteral("fno-debug-info-for-profiling"), fno_debug_info_for_profiling, Flag, f_Group, INVALID, nullptr, 0, 0,
1620
       "", nullptr, nullptr)
1621
OPTION(prefix_1, llvm::StringLiteral("fno-debug-macro"), fno_debug_macro, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
1622
       "Do not emit macro debug information", nullptr, nullptr)
1623
OPTION(prefix_1, llvm::StringLiteral("fno-debug-pass-manager"), fno_debug_pass_manager, Flag, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
1624
       "Disables debug printing for the new pass manager", nullptr, nullptr)
1625
OPTION(prefix_1, llvm::StringLiteral("fno-debug-ranges-base-address"), fno_debug_ranges_base_address, Flag, f_Group, INVALID, nullptr, 0, 0,
1626
       "", nullptr, nullptr)
1627
OPTION(prefix_1, llvm::StringLiteral("fno-debug-types-section"), fno_debug_types_section, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1628
OPTION(prefix_1, llvm::StringLiteral("fno-declspec"), fno_declspec, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
1629
       "Disallow __declspec as a keyword", nullptr, nullptr)
1630
OPTION(prefix_1, llvm::StringLiteral("fno-default-inline"), fno_default_inline, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1631
OPTION(prefix_1, llvm::StringLiteral("fno-defer-pop"), anonymous_404, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1632
OPTION(prefix_1, llvm::StringLiteral("fno-delayed-template-parsing"), fno_delayed_template_parsing, Flag, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
1633
       "Disable delayed template parsing", nullptr, nullptr)
1634
OPTION(prefix_1, llvm::StringLiteral("fno-delete-null-pointer-checks"), fno_delete_null_pointer_checks, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1635
       "Do not treat usage of null pointers as undefined behavior", nullptr, nullptr)
1636
OPTION(prefix_1, llvm::StringLiteral("fno-deprecated-macro"), fno_deprecated_macro, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1637
       "Undefines the __DEPRECATED macro", nullptr, nullptr)
1638
OPTION(prefix_1, llvm::StringLiteral("fno-devirtualize-speculatively"), fno_devirtualize_speculatively, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1639
OPTION(prefix_1, llvm::StringLiteral("fno-devirtualize"), fno_devirtualize, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1640
OPTION(prefix_1, llvm::StringLiteral("fno-diagnostics-color"), anonymous_285, Flag, f_Group, fno_color_diagnostics, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
1641
OPTION(prefix_1, llvm::StringLiteral("fno-diagnostics-fixit-info"), fno_diagnostics_fixit_info, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1642
       "Do not include fixit information in diagnostics", nullptr, nullptr)
1643
OPTION(prefix_1, llvm::StringLiteral("fno-diagnostics-show-hotness"), fno_diagnostics_show_hotness, Flag, f_Group, INVALID, nullptr, 0, 0,
1644
       "", nullptr, nullptr)
1645
OPTION(prefix_1, llvm::StringLiteral("fno-diagnostics-show-note-include-stack"), fno_diagnostics_show_note_include_stack, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1646
       "", nullptr, nullptr)
1647
OPTION(prefix_1, llvm::StringLiteral("fno-diagnostics-show-option"), fno_diagnostics_show_option, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1648
       "", nullptr, nullptr)
1649
OPTION(prefix_1, llvm::StringLiteral("fno-diagnostics-use-presumed-location"), fno_diagnostics_use_presumed_location, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1650
       "Ignore #line directives when displaying diagnostic locations", nullptr, nullptr)
1651
OPTION(prefix_1, llvm::StringLiteral("fno-digraphs"), fno_digraphs, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1652
       "Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'", nullptr, nullptr)
1653
OPTION(prefix_1, llvm::StringLiteral("fno-direct-access-external-data"), fno_direct_access_external_data, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1654
       "Use GOT indirection to reference external data symbols", nullptr, nullptr)
1655
OPTION(prefix_1, llvm::StringLiteral("fno-directives-only"), fno_directives_only, Flag, f_Group, INVALID, nullptr, 0, 0,
1656
       "", nullptr, nullptr)
1657
OPTION(prefix_1, llvm::StringLiteral("fno-discard-value-names"), fno_discard_value_names, Flag, f_clang_Group, INVALID, nullptr, NoXarchOption, 0,
1658
       "Do not discard value names in LLVM IR", nullptr, nullptr)
1659
OPTION(prefix_1, llvm::StringLiteral("fno-dllexport-inlines"), fno_dllexport_inlines, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
1660
OPTION(prefix_1, llvm::StringLiteral("fno-dollar-ok"), fno_dollar_ok, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1661
OPTION(prefix_1, llvm::StringLiteral("fno-dollars-in-identifiers"), fno_dollars_in_identifiers, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1662
       "Disallow '$' in identifiers", nullptr, nullptr)
1663
OPTION(prefix_1, llvm::StringLiteral("fno-double-square-bracket-attributes"), fno_double_square_bracket_attributes, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
1664
       "Disable '[[]]' attributes in all C and C++ language modes", nullptr, nullptr)
1665
OPTION(prefix_1, llvm::StringLiteral("fno-dump-fortran-optimized"), fno_dump_fortran_optimized, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1666
OPTION(prefix_1, llvm::StringLiteral("fno-dump-fortran-original"), fno_dump_fortran_original, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1667
OPTION(prefix_1, llvm::StringLiteral("fno-dump-parse-tree"), fno_dump_parse_tree, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1668
OPTION(prefix_1, llvm::StringLiteral("fno-dwarf-directory-asm"), fno_dwarf_directory_asm, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1669
       "", nullptr, nullptr)
1670
OPTION(prefix_1, llvm::StringLiteral("fno-dwarf2-cfi-asm"), fno_dwarf2_cfi_asm, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1671
OPTION(prefix_1, llvm::StringLiteral("fno-elide-constructors"), fno_elide_constructors, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1672
       "Disable C++ copy constructor elision", nullptr, nullptr)
1673
OPTION(prefix_1, llvm::StringLiteral("fno-elide-type"), fno_elide_type, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1674
       "Do not elide types when printing diagnostics", nullptr, nullptr)
1675
OPTION(prefix_1, llvm::StringLiteral("fno-eliminate-unused-debug-symbols"), fno_eliminate_unused_debug_symbols, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1676
OPTION(prefix_1, llvm::StringLiteral("fno-eliminate-unused-debug-types"), fno_eliminate_unused_debug_types, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1677
       "Emit  debug info for defined but unused types", nullptr, nullptr)
1678
OPTION(prefix_1, llvm::StringLiteral("fno-emulated-tls"), fno_emulated_tls, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1679
       "", nullptr, nullptr)
1680
OPTION(prefix_1, llvm::StringLiteral("fno-escaping-block-tail-calls"), fno_escaping_block_tail_calls, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1681
       "", nullptr, nullptr)
1682
OPTION(prefix_1, llvm::StringLiteral("fno-exceptions"), fno_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
1683
       "Disable support for exception handling", nullptr, nullptr)
1684
OPTION(prefix_1, llvm::StringLiteral("fno-expensive-optimizations"), anonymous_402, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1685
OPTION(prefix_1, llvm::StringLiteral("fno-experimental-assignment-tracking"), fno_experimental_assignment_tracking, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1686
       "", nullptr, nullptr)
1687
OPTION(prefix_1, llvm::StringLiteral("fno-experimental-isel"), fno_experimental_isel, Flag, f_clang_Group, fno_global_isel, nullptr, 0, 0, nullptr, nullptr, nullptr)
1688
OPTION(prefix_1, llvm::StringLiteral("fno-experimental-library"), fno_experimental_library, Flag, f_Group, INVALID, nullptr, 0, 0,
1689
       "", nullptr, nullptr)
1690
OPTION(prefix_1, llvm::StringLiteral("fno-experimental-relative-c++-abi-vtables"), fno_experimental_relative_cxx_abi_vtables, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
1691
       "Do not use the experimental C++ class ABI for classes with virtual tables", nullptr, nullptr)
1692
OPTION(prefix_1, llvm::StringLiteral("fno-experimental-sanitize-metadata="), fno_experimental_sanitize_metadata_EQ, CommaJoined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1693
       "Disable emitting metadata for binary analysis sanitizers", nullptr, nullptr)
1694
OPTION(prefix_1, llvm::StringLiteral("fno-extended-identifiers"), anonymous_406, Flag, f_Group, INVALID, nullptr, Unsupported, 0, nullptr, nullptr, nullptr)
1695
OPTION(prefix_1, llvm::StringLiteral("fno-external-blas"), fno_external_blas, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1696
OPTION(prefix_1, llvm::StringLiteral("fno-f2c"), fno_f2c, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1697
OPTION(prefix_1, llvm::StringLiteral("fno-fast-math"), fno_fast_math, Flag, f_Group, INVALID, nullptr, 0, 0,
1698
       "", nullptr, nullptr)
1699
OPTION(prefix_1, llvm::StringLiteral("fno-fat-lto-objects"), fno_fat_lto_objects, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1700
OPTION(prefix_1, llvm::StringLiteral("fno-file-reproducible"), fno_file_reproducible, Flag, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
1701
       "Use the host's platform-specific path separator character when expanding the __FILE__ macro", nullptr, nullptr)
1702
OPTION(prefix_1, llvm::StringLiteral("fno-fine-grained-bitfield-accesses"), fno_fine_grained_bitfield_accesses, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
1703
       "Use large-integer access for consecutive bitfield runs.", nullptr, nullptr)
1704
OPTION(prefix_1, llvm::StringLiteral("fno-finite-loops"), fno_finite_loops, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1705
       "Do not assume that any loop is finite.", nullptr, nullptr)
1706
OPTION(prefix_1, llvm::StringLiteral("fno-finite-math-only"), fno_finite_math_only, Flag, f_Group, INVALID, nullptr, 0, 0,
1707
       "", nullptr, nullptr)
1708
OPTION(prefix_1, llvm::StringLiteral("fno-fixed-point"), fno_fixed_point, Flag, f_Group, INVALID, nullptr, 0, 0,
1709
       "Disable fixed point types", nullptr, nullptr)
1710
OPTION(prefix_1, llvm::StringLiteral("fno-float-store"), fno_float_store, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1711
OPTION(prefix_1, llvm::StringLiteral("fno-for-scope"), fno_for_scope, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1712
OPTION(prefix_1, llvm::StringLiteral("fno-force-dwarf-frame"), fno_force_dwarf_frame, Flag, f_Group, INVALID, nullptr, 0, 0,
1713
       "", nullptr, nullptr)
1714
OPTION(prefix_1, llvm::StringLiteral("fno-force-emit-vtables"), fno_force_emit_vtables, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
1715
       "", nullptr, nullptr)
1716
OPTION(prefix_1, llvm::StringLiteral("fno-force-enable-int128"), fno_force_enable_int128, Flag, f_Group, INVALID, nullptr, 0, 0,
1717
       "Disable support for int128_t type", nullptr, nullptr)
1718
OPTION(prefix_1, llvm::StringLiteral("fno-friend-injection"), fno_friend_injection, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1719
OPTION(prefix_1, llvm::StringLiteral("fno-frontend-optimize"), fno_frontend_optimize, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1720
OPTION(prefix_1, llvm::StringLiteral("fno-function-attribute-list"), fno_function_attribute_list, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1721
OPTION(prefix_1, llvm::StringLiteral("fno-function-sections"), fno_function_sections, Flag, f_Group, INVALID, nullptr, 0, 0,
1722
       "", nullptr, nullptr)
1723
OPTION(prefix_1, llvm::StringLiteral("fno-gcse-after-reload"), fno_gcse_after_reload, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1724
OPTION(prefix_1, llvm::StringLiteral("fno-gcse-las"), fno_gcse_las, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1725
OPTION(prefix_1, llvm::StringLiteral("fno-gcse-sm"), fno_gcse_sm, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1726
OPTION(prefix_1, llvm::StringLiteral("fno-gcse"), fno_gcse, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1727
OPTION(prefix_1, llvm::StringLiteral("fno-global-isel"), fno_global_isel, Flag, f_clang_Group, INVALID, nullptr, 0, 0,
1728
       "Disables the global instruction selector", nullptr, nullptr)
1729
OPTION(prefix_1, llvm::StringLiteral("fno-gnu-inline-asm"), fno_gnu_inline_asm, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1730
       "Disable GNU style inline asm", nullptr, nullptr)
1731
OPTION(prefix_1, llvm::StringLiteral("fno-gnu-keywords"), fno_gnu_keywords, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1732
       "", nullptr, nullptr)
1733
OPTION(prefix_1, llvm::StringLiteral("fno-gnu89-inline"), fno_gnu89_inline, Flag, f_Group, INVALID, nullptr, 0, 0,
1734
       "", nullptr, nullptr)
1735
OPTION(prefix_1, llvm::StringLiteral("fno-gnu"), fno_gnu, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1736
OPTION(prefix_1, llvm::StringLiteral("fno-gpu-allow-device-init"), fno_gpu_allow_device_init, Flag, f_Group, INVALID, nullptr, 0, 0,
1737
       "Don't allow device side init function in HIP (experimental)", nullptr, nullptr)
1738
OPTION(prefix_1, llvm::StringLiteral("fno-gpu-defer-diag"), fno_gpu_defer_diag, Flag, f_Group, INVALID, nullptr, 0, 0,
1739
       "Don't defer host/device related diagnostic messages for CUDA/HIP", nullptr, nullptr)
1740
OPTION(prefix_1, llvm::StringLiteral("fno-gpu-exclude-wrong-side-overloads"), fno_gpu_exclude_wrong_side_overloads, Flag, f_Group, INVALID, nullptr, HelpHidden, 0,
1741
       "Exclude wrong side overloads only if there are same side overloads in overloading resolution for CUDA/HIP", nullptr, nullptr)
1742
OPTION(prefix_1, llvm::StringLiteral("fno-gpu-flush-denormals-to-zero"), fno_gpu_flush_denormals_to_zero, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1743
OPTION(prefix_1, llvm::StringLiteral("fno-gpu-rdc"), fno_gpu_rdc, Flag, f_Group, INVALID, nullptr, 0, 0,
1744
       "", nullptr, nullptr)
1745
OPTION(prefix_1, llvm::StringLiteral("fno-gpu-sanitize"), fno_gpu_sanitize, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1746
OPTION(prefix_1, llvm::StringLiteral("fno-hip-fp32-correctly-rounded-divide-sqrt"), fno_hip_fp32_correctly_rounded_divide_sqrt, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1747
       "Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)", nullptr, nullptr)
1748
OPTION(prefix_1, llvm::StringLiteral("fno-hip-kernel-arg-name"), fno_hip_kernel_arg_name, Flag, f_Group, INVALID, nullptr, 0, 0,
1749
       "Don't specify that kernel argument names are preserved (HIP only)", nullptr, nullptr)
1750
OPTION(prefix_1, llvm::StringLiteral("fno-hip-new-launch-api"), fno_hip_new_launch_api, Flag, f_Group, INVALID, nullptr, 0, 0,
1751
       "Don't use new kernel launching API for HIP", nullptr, nullptr)
1752
OPTION(prefix_1, llvm::StringLiteral("fno-honor-infinites"), anonymous_582, Flag, INVALID, fno_honor_infinities, nullptr, 0, 0, nullptr, nullptr, nullptr)
1753
OPTION(prefix_1, llvm::StringLiteral("fno-honor-infinities"), fno_honor_infinities, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1754
OPTION(prefix_1, llvm::StringLiteral("fno-honor-nans"), fno_honor_nans, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1755
OPTION(prefix_1, llvm::StringLiteral("fno-ident"), anonymous_33, Flag, f_Group, Qn, nullptr, CoreOption | CC1Option, 0, nullptr, nullptr, nullptr)
1756
OPTION(prefix_1, llvm::StringLiteral("fno-implement-inlines"), fno_implement_inlines, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1757
OPTION(prefix_1, llvm::StringLiteral("fno-implicit-module-maps"), fno_implicit_module_maps, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
1758
OPTION(prefix_1, llvm::StringLiteral("fno-implicit-modules-use-lock"), fno_fimplicit_modules_use_lock, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1759
       "", nullptr, nullptr)
1760
OPTION(prefix_1, llvm::StringLiteral("fno-implicit-modules"), fno_implicit_modules, Flag, f_Group, INVALID, nullptr, CC1Option | NoXarchOption | CoreOption, 0,
1761
       "", nullptr, nullptr)
1762
OPTION(prefix_1, llvm::StringLiteral("fno-implicit-none"), fno_implicit_none, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
1763
       "", nullptr, nullptr)
1764
OPTION(prefix_1, llvm::StringLiteral("fno-implicit-templates"), fno_implicit_templates, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1765
OPTION(prefix_1, llvm::StringLiteral("fno-init-local-zero"), fno_init_local_zero, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1766
OPTION(prefix_1, llvm::StringLiteral("fno-inline-functions-called-once"), fno_inline_functions_called_once, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1767
OPTION(prefix_1, llvm::StringLiteral("fno-inline-functions"), fno_inline_functions, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
1768
OPTION(prefix_1, llvm::StringLiteral("fno-inline-limit"), fno_finline_limit, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1769
OPTION(prefix_1, llvm::StringLiteral("fno-inline-small-functions"), fno_inline_small_functions, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1770
OPTION(prefix_1, llvm::StringLiteral("fno-inline"), fno_inline, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
1771
OPTION(prefix_1, llvm::StringLiteral("fno-integer-4-integer-8"), fno_integer_4_integer_8, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1772
OPTION(prefix_1, llvm::StringLiteral("fno-integrated-as"), fno_integrated_as, Flag, f_Group, INVALID, nullptr, CC1Option | FlangOption, 0,
1773
       "Disable the integrated assembler", nullptr, nullptr)
1774
OPTION(prefix_1, llvm::StringLiteral("fno-integrated-cc1"), fno_integrated_cc1, Flag, f_Group, INVALID, nullptr, CoreOption | NoXarchOption, 0,
1775
       "Spawn a separate process for each cc1", nullptr, nullptr)
1776
OPTION(prefix_1, llvm::StringLiteral("fno-integrated-objemitter"), fno_integrated_objemitter, Flag, f_Group, INVALID, nullptr, CoreOption | NoXarchOption, 0,
1777
       "Use external machine object code emitter.", nullptr, nullptr)
1778
OPTION(prefix_1, llvm::StringLiteral("fno-ipa-cp"), fno_ipa_cp, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1779
OPTION(prefix_1, llvm::StringLiteral("fno-ivopts"), fno_ivopts, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1780
OPTION(prefix_1, llvm::StringLiteral("fno-jmc"), fno_jmc, Flag, f_Group, INVALID, nullptr, 0, 0,
1781
       "", nullptr, nullptr)
1782
OPTION(prefix_1, llvm::StringLiteral("fno-jump-tables"), fno_jump_tables, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1783
       "Do not use jump tables for lowering switches", nullptr, nullptr)
1784
OPTION(prefix_1, llvm::StringLiteral("fno-keep-inline-functions"), fno_anonymous_1410, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1785
OPTION(prefix_1, llvm::StringLiteral("fno-keep-static-consts"), fno_keep_static_consts, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0,
1786
       "Don't keep static const variables if unused", nullptr, nullptr)
1787
OPTION(prefix_1, llvm::StringLiteral("fno-knr-functions"), fno_knr_functions, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1788
       "Disable support for K&R C function declarations", nullptr, nullptr)
1789
OPTION(prefix_1, llvm::StringLiteral("fno-lax-vector-conversions"), fno_lax_vector_conversions, Flag, f_Group, flax_vector_conversions_EQ, "none\0", 0, 0, nullptr, nullptr, nullptr)
1790
OPTION(prefix_1, llvm::StringLiteral("fno-limit-debug-info"), fno_limit_debug_info, Flag, INVALID, fstandalone_debug, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
1791
OPTION(prefix_1, llvm::StringLiteral("fno-logical-abbreviations"), fno_logical_abbreviations, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
1792
       "", nullptr, nullptr)
1793
OPTION(prefix_1, llvm::StringLiteral("fno-lto-unit"), fno_lto_unit, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1794
       "", nullptr, nullptr)
1795
OPTION(prefix_1, llvm::StringLiteral("fno-lto"), fno_lto, Flag, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
1796
       "Disable LTO mode (default)", nullptr, nullptr)
1797
OPTION(prefix_1, llvm::StringLiteral("fno-math-builtin"), fno_math_builtin, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
1798
       "Disable implicit builtin knowledge of math functions", nullptr, nullptr)
1799
OPTION(prefix_1, llvm::StringLiteral("fno-math-errno"), fno_math_errno, Flag, f_Group, INVALID, nullptr, 0, 0,
1800
       "", nullptr, nullptr)
1801
OPTION(prefix_1, llvm::StringLiteral("fno-max-identifier-length"), fno_max_identifier_length, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1802
OPTION(prefix_1, llvm::StringLiteral("fno-max-type-align"), fno_max_type_align, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1803
OPTION(prefix_1, llvm::StringLiteral("fno-memory-profile"), fno_memory_profile, Flag, f_Group, INVALID, nullptr, 0, 0,
1804
       "Disable heap memory profiling", nullptr, nullptr)
1805
OPTION(prefix_1, llvm::StringLiteral("fno-merge-all-constants"), fno_merge_all_constants, Flag, f_Group, INVALID, nullptr, 0, 0,
1806
       "Disallow merging of constants", nullptr, nullptr)
1807
OPTION(prefix_1, llvm::StringLiteral("fno-merge-constants"), fno_merge_constants, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1808
OPTION(prefix_1, llvm::StringLiteral("fno-minimize-whitespace"), fno_minimize_whitespace, Flag, f_Group, INVALID, nullptr, 0, 0,
1809
       "", nullptr, nullptr)
1810
OPTION(prefix_1, llvm::StringLiteral("fno-module-file-deps"), fno_module_file_deps, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
1811
OPTION(prefix_1, llvm::StringLiteral("fno-module-maps"), fno_module_maps, Flag, INVALID, fno_implicit_module_maps, nullptr, 0, 0, nullptr, nullptr, nullptr)
1812
OPTION(prefix_1, llvm::StringLiteral("fno-module-private"), fno_module_private, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1813
OPTION(prefix_1, llvm::StringLiteral("fno-modules-decluse"), fno_modules_decluse, Flag, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
1814
       "", nullptr, nullptr)
1815
OPTION(prefix_1, llvm::StringLiteral("fno-modules-error-recovery"), fno_modules_error_recovery, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1816
       "Do not automatically import modules for error recovery", nullptr, nullptr)
1817
OPTION(prefix_1, llvm::StringLiteral("fno-modules-global-index"), fno_modules_global_index, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1818
       "Do not automatically generate or update the global module index", nullptr, nullptr)
1819
OPTION(prefix_1, llvm::StringLiteral("fno-modules-search-all"), fno_modules_search_all, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
1820
       "", nullptr, nullptr)
1821
OPTION(prefix_1, llvm::StringLiteral("fno-modules-share-filemanager"), fno_modules_share_filemanager, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1822
       "Disable sharing the FileManager when building a module implicitly", nullptr, nullptr)
1823
OPTION(prefix_1, llvm::StringLiteral("fno-modules-validate-system-headers"), fno_modules_validate_system_headers, Flag, i_Group, INVALID, nullptr, NoXarchOption, 0,
1824
       "", nullptr, nullptr)
1825
OPTION(prefix_1, llvm::StringLiteral("fno-modules-validate-textual-header-includes"), fno_modules_validate_textual_header_includes, Flag, f_Group, INVALID, nullptr, CC1Option | NoXarchOption, 0,
1826
       "Do not enforce -fmodules-decluse and private header restrictions for textual headers. This flag will be removed in a future Clang release.", nullptr, nullptr)
1827
OPTION(prefix_1, llvm::StringLiteral("fno-modules"), fno_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
1828
       "", nullptr, nullptr)
1829
OPTION(prefix_1, llvm::StringLiteral("fno-modulo-sched-allow-regmoves"), fno_modulo_sched_allow_regmoves, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1830
OPTION(prefix_1, llvm::StringLiteral("fno-modulo-sched"), fno_modulo_sched, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1831
OPTION(prefix_1, llvm::StringLiteral("fno-ms-compatibility"), fno_ms_compatibility, Flag, f_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
1832
OPTION(prefix_1, llvm::StringLiteral("fno-ms-extensions"), fno_ms_extensions, Flag, f_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
1833
OPTION(prefix_1, llvm::StringLiteral("fno-new-infallible"), fno_new_infallible, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1834
       "Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.", nullptr, nullptr)
1835
OPTION(prefix_1, llvm::StringLiteral("fno-non-call-exceptions"), fno_non_call_exceptions, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1836
OPTION(prefix_1, llvm::StringLiteral("fno-objc-arc-exceptions"), fno_objc_arc_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
1837
       "", nullptr, nullptr)
1838
OPTION(prefix_1, llvm::StringLiteral("fno-objc-arc"), fno_objc_arc, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1839
OPTION(prefix_1, llvm::StringLiteral("fno-objc-avoid-heapify-local-blocks"), fno_objc_avoid_heapify_local_blocks, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1840
       "Don't try to avoid heapifying local blocks", nullptr, nullptr)
1841
OPTION(prefix_1, llvm::StringLiteral("fno-objc-convert-messages-to-runtime-calls"), fno_objc_convert_messages_to_runtime_calls, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1842
       "", nullptr, nullptr)
1843
OPTION(prefix_1, llvm::StringLiteral("fno-objc-encode-cxx-class-template-spec"), fno_objc_encode_cxx_class_template_spec, Flag, f_Group, INVALID, nullptr, 0, 0,
1844
       "", nullptr, nullptr)
1845
OPTION(prefix_1, llvm::StringLiteral("fno-objc-exceptions"), fno_objc_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
1846
       "", nullptr, nullptr)
1847
OPTION(prefix_1, llvm::StringLiteral("fno-objc-infer-related-result-type"), fno_objc_infer_related_result_type, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1848
       "do not infer Objective-C related result type based on method family", nullptr, nullptr)
1849
OPTION(prefix_1, llvm::StringLiteral("fno-objc-legacy-dispatch"), fno_objc_legacy_dispatch, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1850
OPTION(prefix_1, llvm::StringLiteral("fno-objc-nonfragile-abi"), fno_objc_nonfragile_abi, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1851
OPTION(prefix_1, llvm::StringLiteral("fno-objc-weak"), fno_objc_weak, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
1852
OPTION(prefix_1, llvm::StringLiteral("fno-offload-lto"), fno_offload_lto, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
1853
       "Disable LTO mode (default) for offload compilation", nullptr, nullptr)
1854
OPTION(prefix_1, llvm::StringLiteral("fno-omit-frame-pointer"), fno_omit_frame_pointer, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1855
OPTION(prefix_1, llvm::StringLiteral("fno-openmp-assume-teams-oversubscription"), fno_openmp_assume_teams_oversubscription, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
1856
OPTION(prefix_1, llvm::StringLiteral("fno-openmp-assume-threads-oversubscription"), fno_openmp_assume_threads_oversubscription, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
1857
OPTION(prefix_1, llvm::StringLiteral("fno-openmp-cuda-mode"), fno_openmp_cuda_mode, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
1858
OPTION(prefix_1, llvm::StringLiteral("fno-openmp-extensions"), fno_openmp_extensions, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused, 0,
1859
       "Disable all Clang extensions for OpenMP directives and clauses", nullptr, nullptr)
1860
OPTION(prefix_1, llvm::StringLiteral("fno-openmp-implicit-rpath"), fno_openmp_implicit_rpath, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, 0,
1861
       "", nullptr, nullptr)
1862
OPTION(prefix_1, llvm::StringLiteral("fno-openmp-new-driver"), fno_openmp_new_driver, Flag, INVALID, INVALID, nullptr, HelpHidden, 0,
1863
       "Don't use the new driver for OpenMP offloading.", nullptr, nullptr)
1864
OPTION(prefix_1, llvm::StringLiteral("fno-openmp-optimistic-collapse"), fno_openmp_optimistic_collapse, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, 0,
1865
       "", nullptr, nullptr)
1866
OPTION(prefix_1, llvm::StringLiteral("fno-openmp-simd"), fno_openmp_simd, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused, 0, nullptr, nullptr, nullptr)
1867
OPTION(prefix_1, llvm::StringLiteral("fno-openmp-target-debug"), fno_openmp_target_debug, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, 0, nullptr, nullptr, nullptr)
1868
OPTION(prefix_1, llvm::StringLiteral("fno-openmp-target-jit"), fno_openmp_target_jit, Flag, f_Group, INVALID, nullptr, CoreOption | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
1869
OPTION(prefix_1, llvm::StringLiteral("fno-openmp-target-new-runtime"), fno_openmp_target_new_runtime, Flag, f_Group, INVALID, nullptr, CC1Option | HelpHidden, 0, nullptr, nullptr, nullptr)
1870
OPTION(prefix_1, llvm::StringLiteral("fno-openmp"), fno_openmp, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, 0, nullptr, nullptr, nullptr)
1871
OPTION(prefix_1, llvm::StringLiteral("fno-operator-names"), fno_operator_names, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1872
       "Do not treat C++ operator name keywords as synonyms for operators", nullptr, nullptr)
1873
OPTION(prefix_1, llvm::StringLiteral("fno-optimize-sibling-calls"), fno_optimize_sibling_calls, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1874
       "Disable tail call optimization, keeping the call stack accurate", nullptr, nullptr)
1875
OPTION(prefix_1, llvm::StringLiteral("fno-pack-derived"), fno_pack_derived, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1876
OPTION(prefix_1, llvm::StringLiteral("fno-pack-struct"), fno_pack_struct, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1877
OPTION(prefix_1, llvm::StringLiteral("fno-padding-on-unsigned-fixed-point"), fno_padding_on_unsigned_fixed_point, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1878
       "", nullptr, nullptr)
1879
OPTION(prefix_1, llvm::StringLiteral("fno-pascal-strings"), fno_pascal_strings, Flag, f_Group, INVALID, nullptr, 0, 0,
1880
       "", nullptr, nullptr)
1881
OPTION(prefix_1, llvm::StringLiteral("fno-pch-codegen"), fno_pch_codegen, Flag, f_Group, INVALID, nullptr, 0, 0,
1882
       "Do not generate code for uses of this PCH that assumes an explicit object file will be built for the PCH", nullptr, nullptr)
1883
OPTION(prefix_1, llvm::StringLiteral("fno-pch-debuginfo"), fno_pch_debuginfo, Flag, f_Group, INVALID, nullptr, 0, 0,
1884
       "Do not generate debug info for types in an object file built from this PCH and do not generate them elsewhere", nullptr, nullptr)
1885
OPTION(prefix_1, llvm::StringLiteral("fno-pch-instantiate-templates"), fno_pch_instantiate_templates, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1886
       "", nullptr, nullptr)
1887
OPTION(prefix_1, llvm::StringLiteral("fno-pch-timestamp"), fno_pch_timestamp, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1888
       "Disable inclusion of timestamp in precompiled headers", nullptr, nullptr)
1889
OPTION(prefix_1, llvm::StringLiteral("fno-peel-loops"), fno_peel_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1890
OPTION(prefix_1, llvm::StringLiteral("fno-permissive"), fno_permissive, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1891
OPTION(prefix_1, llvm::StringLiteral("fno-PIC"), fno_PIC, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1892
OPTION(prefix_1, llvm::StringLiteral("fno-pic"), fno_pic, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1893
OPTION(prefix_1, llvm::StringLiteral("fno-PIE"), fno_PIE, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1894
OPTION(prefix_1, llvm::StringLiteral("fno-pie"), fno_pie, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1895
OPTION(prefix_1, llvm::StringLiteral("fno-plt"), fno_plt, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1896
       "Use GOT indirection instead of PLT to make external function calls (x86 only)", nullptr, nullptr)
1897
OPTION(prefix_1, llvm::StringLiteral("fno-prebuilt-implicit-modules"), fno_prebuilt_implicit_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
1898
       "", nullptr, nullptr)
1899
OPTION(prefix_1, llvm::StringLiteral("fno-prefetch-loop-arrays"), fno_prefetch_loop_arrays, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1900
OPTION(prefix_1, llvm::StringLiteral("fno-preserve-as-comments"), fno_preserve_as_comments, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1901
       "Do not preserve comments in inline assembly", nullptr, nullptr)
1902
OPTION(prefix_1, llvm::StringLiteral("fno-printf"), fno_printf, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1903
OPTION(prefix_1, llvm::StringLiteral("fno-profile-arcs"), fno_profile_arcs, Flag, f_Group, INVALID, nullptr, 0, 0,
1904
       "", nullptr, nullptr)
1905
OPTION(prefix_1, llvm::StringLiteral("fno-profile-correction"), fno_profile_correction, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1906
OPTION(prefix_1, llvm::StringLiteral("fno-profile-generate-sampling"), fno_profile_generate_sampling, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1907
OPTION(prefix_1, llvm::StringLiteral("fno-profile-generate"), fno_profile_generate, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
1908
       "Disable generation of profile instrumentation.", nullptr, nullptr)
1909
OPTION(prefix_1, llvm::StringLiteral("fno-profile-instr-generate"), fno_profile_instr_generate, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
1910
       "Disable generation of profile instrumentation.", nullptr, nullptr)
1911
OPTION(prefix_1, llvm::StringLiteral("fno-profile-instr-use"), fno_profile_instr_use, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
1912
       "Disable using instrumentation data for profile-guided optimization", nullptr, nullptr)
1913
OPTION(prefix_1, llvm::StringLiteral("fno-profile-reusedist"), fno_profile_reusedist, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1914
OPTION(prefix_1, llvm::StringLiteral("fno-profile-sample-accurate"), fno_profile_sample_accurate, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
1915
OPTION(prefix_1, llvm::StringLiteral("fno-profile-sample-use"), fno_profile_sample_use, Flag, f_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
1916
OPTION(prefix_1, llvm::StringLiteral("fno-profile-use"), fno_profile_use, Flag, INVALID, fno_profile_instr_use, nullptr, 0, 0, nullptr, nullptr, nullptr)
1917
OPTION(prefix_1, llvm::StringLiteral("fno-profile-values"), fno_profile_values, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1918
OPTION(prefix_1, llvm::StringLiteral("fno-profile"), fno_profile, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1919
OPTION(prefix_1, llvm::StringLiteral("fno-protect-parens"), fno_protect_parens, Flag, f_Group, INVALID, nullptr, 0, 0,
1920
       "", nullptr, nullptr)
1921
OPTION(prefix_1, llvm::StringLiteral("fno-pseudo-probe-for-profiling"), fno_pseudo_probe_for_profiling, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
1922
       "Do not emit pseudo probes for sample profiling", nullptr, nullptr)
1923
OPTION(prefix_1, llvm::StringLiteral("fno-range-check"), fno_range_check, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1924
OPTION(prefix_1, llvm::StringLiteral("fno-real-4-real-10"), fno_real_4_real_10, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1925
OPTION(prefix_1, llvm::StringLiteral("fno-real-4-real-16"), fno_real_4_real_16, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1926
OPTION(prefix_1, llvm::StringLiteral("fno-real-4-real-8"), fno_real_4_real_8, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1927
OPTION(prefix_1, llvm::StringLiteral("fno-real-8-real-10"), fno_real_8_real_10, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1928
OPTION(prefix_1, llvm::StringLiteral("fno-real-8-real-16"), fno_real_8_real_16, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1929
OPTION(prefix_1, llvm::StringLiteral("fno-real-8-real-4"), fno_real_8_real_4, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1930
OPTION(prefix_1, llvm::StringLiteral("fno-realloc-lhs"), fno_realloc_lhs, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1931
OPTION(prefix_1, llvm::StringLiteral("fno-reciprocal-math"), fno_reciprocal_math, Flag, f_Group, INVALID, nullptr, 0, 0,
1932
       "", nullptr, nullptr)
1933
OPTION(prefix_1, llvm::StringLiteral("fno-record-command-line"), fno_record_command_line, Flag, f_clang_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1934
OPTION(prefix_1, llvm::StringLiteral("fno-record-gcc-switches"), anonymous_290, Flag, INVALID, fno_record_command_line, nullptr, 0, 0, nullptr, nullptr, nullptr)
1935
OPTION(prefix_1, llvm::StringLiteral("fno-recovery-ast-type"), fno_recovery_ast_type, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1936
       "", nullptr, nullptr)
1937
OPTION(prefix_1, llvm::StringLiteral("fno-recovery-ast"), fno_recovery_ast, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
1938
       "", nullptr, nullptr)
1939
OPTION(prefix_1, llvm::StringLiteral("fno-recursive"), fno_recursive, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1940
OPTION(prefix_1, llvm::StringLiteral("fno-reformat"), fno_reformat, Flag, Preprocessor_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
1941
       "Dump the cooked character stream in -E mode", nullptr, nullptr)
1942
OPTION(prefix_1, llvm::StringLiteral("fno-register-global-dtors-with-atexit"), fno_register_global_dtors_with_atexit, Flag, f_Group, INVALID, nullptr, 0, 0,
1943
       "Don't use atexit or __cxa_atexit to register global destructors", nullptr, nullptr)
1944
OPTION(prefix_1, llvm::StringLiteral("fno-regs-graph"), fno_regs_graph, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1945
OPTION(prefix_1, llvm::StringLiteral("fno-relaxed-template-template-args"), fno_relaxed_template_template_args, Flag, f_Group, INVALID, nullptr, 0, 0,
1946
       "", nullptr, nullptr)
1947
OPTION(prefix_1, llvm::StringLiteral("fno-rename-registers"), fno_rename_registers, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1948
OPTION(prefix_1, llvm::StringLiteral("fno-reorder-blocks"), fno_reorder_blocks, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1949
OPTION(prefix_1, llvm::StringLiteral("fno-repack-arrays"), fno_repack_arrays, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
1950
OPTION(prefix_1, llvm::StringLiteral("fno-reroll-loops"), fno_reroll_loops, Flag, f_Group, INVALID, nullptr, 0, 0,
1951
       "", nullptr, nullptr)
1952
OPTION(prefix_1, llvm::StringLiteral("fno-rewrite-imports"), fno_rewrite_imports, Flag, f_Group, INVALID, nullptr, 0, 0,
1953
       "", nullptr, nullptr)
1954
OPTION(prefix_1, llvm::StringLiteral("fno-rewrite-includes"), fno_rewrite_includes, Flag, f_Group, INVALID, nullptr, 0, 0,
1955
       "", nullptr, nullptr)
1956
OPTION(prefix_1, llvm::StringLiteral("fno-ripa"), fno_ripa, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
1957
OPTION(prefix_1, llvm::StringLiteral("fno-ropi"), fno_ropi, Flag, f_Group, INVALID, nullptr, 0, 0,
1958
       "", nullptr, nullptr)
1959
OPTION(prefix_1, llvm::StringLiteral("fno-rounding-math"), fno_rounding_math, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
1960
OPTION(prefix_1, llvm::StringLiteral("fno-rtlib-add-rpath"), fno_rtlib_add_rpath, Flag, INVALID, INVALID, nullptr, NoArgumentUnused, 0,
1961
       "Do not add -rpath with architecture-specific resource directory to the linker flags", nullptr, nullptr)
1962
OPTION(prefix_1, llvm::StringLiteral("fno-rtti-data"), fno_rtti_data, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1963
       "Disable generation of RTTI data", nullptr, nullptr)
1964
OPTION(prefix_1, llvm::StringLiteral("fno-rtti"), fno_rtti, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
1965
       "Disable generation of rtti information", nullptr, nullptr)
1966
OPTION(prefix_1, llvm::StringLiteral("fno-rwpi"), fno_rwpi, Flag, f_Group, INVALID, nullptr, 0, 0,
1967
       "", nullptr, nullptr)
1968
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-address-globals-dead-stripping"), fno_sanitize_address_globals_dead_stripping, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1969
       "Disable linker dead stripping of globals in AddressSanitizer", nullptr, nullptr)
1970
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-address-outline-instrumentation"), fno_sanitize_address_outline_instrumentation, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1971
       "Use default code inlining logic for the address sanitizer", nullptr, nullptr)
1972
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-address-poison-custom-array-cookie"), fno_sanitize_address_poison_custom_array_cookie, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1973
       "Disable poisoning array cookies when using custom operator new[] in AddressSanitizer", nullptr, nullptr)
1974
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-address-use-after-scope"), fno_sanitize_address_use_after_scope, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1975
       "Disable use-after-scope detection in AddressSanitizer", nullptr, nullptr)
1976
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-address-use-odr-indicator"), fno_sanitize_address_use_odr_indicator, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1977
       "Disable ODR indicator globals", nullptr, nullptr)
1978
OPTION(prefix_2, llvm::StringLiteral("fno-sanitize-address-vcasan-lib"), _SLASH_fno_sanitize_address_vcasan_lib, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
1979
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-blacklist"), anonymous_467, Flag, f_clang_Group, fno_sanitize_ignorelist, nullptr, CC1Option | CoreOption, 0, nullptr, nullptr, nullptr)
1980
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-cfi-canonical-jump-tables"), fno_sanitize_cfi_canonical_jump_tables, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1981
       "Do not make the jump table addresses canonical in the symbol table", nullptr, nullptr)
1982
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-cfi-cross-dso"), fno_sanitize_cfi_cross_dso, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1983
       "Disable control flow integrity (CFI) checks for cross-DSO calls.", nullptr, nullptr)
1984
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-coverage="), fno_sanitize_coverage, CommaJoined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1985
       "Disable features of coverage instrumentation for Sanitizers", nullptr, "func,bb,edge,indirect-calls,trace-bb,trace-cmp,trace-div,trace-gep,8bit-counters,trace-pc,trace-pc-guard,no-prune,inline-8bit-counters,inline-bool-flag")
1986
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-hwaddress-experimental-aliasing"), fno_sanitize_hwaddress_experimental_aliasing, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1987
       "Disable aliasing mode in HWAddressSanitizer", nullptr, nullptr)
1988
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-ignorelist"), fno_sanitize_ignorelist, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1989
       "Don't use ignorelist file for sanitizers", nullptr, nullptr)
1990
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-link-c++-runtime"), fno_sanitize_link_cxx_runtime, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0, nullptr, nullptr, nullptr)
1991
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-link-runtime"), fno_sanitize_link_runtime, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0, nullptr, nullptr, nullptr)
1992
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-memory-param-retval"), fno_sanitize_memory_param_retval, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1993
       "Disable detection of uninitialized parameters and return values", nullptr, nullptr)
1994
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-memory-track-origins"), fno_sanitize_memory_track_origins, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1995
       "Disable origins tracking in MemorySanitizer", nullptr, nullptr)
1996
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-memory-use-after-dtor"), fno_sanitize_memory_use_after_dtor, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1997
       "Disable use-after-destroy detection in MemorySanitizer", nullptr, nullptr)
1998
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-minimal-runtime"), fno_sanitize_minimal_runtime, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
1999
       "", nullptr, nullptr)
2000
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-recover="), fno_sanitize_recover_EQ, CommaJoined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2001
       "Disable recovery for specified sanitizers", nullptr, nullptr)
2002
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-recover"), fno_sanitize_recover, Flag, f_clang_Group, fno_sanitize_recover_EQ, "all\0", CC1Option | CoreOption, 0, nullptr, nullptr, nullptr)
2003
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-stats"), fno_sanitize_stats, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2004
       "Disable sanitizer statistics gathering.", nullptr, nullptr)
2005
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-thread-atomics"), fno_sanitize_thread_atomics, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2006
       "Disable atomic operations instrumentation in ThreadSanitizer", nullptr, nullptr)
2007
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-thread-func-entry-exit"), fno_sanitize_thread_func_entry_exit, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2008
       "Disable function entry/exit instrumentation in ThreadSanitizer", nullptr, nullptr)
2009
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-thread-memory-access"), fno_sanitize_thread_memory_access, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2010
       "Disable memory access instrumentation in ThreadSanitizer", nullptr, nullptr)
2011
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-trap="), fno_sanitize_trap_EQ, CommaJoined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2012
       "Disable trapping for specified sanitizers", nullptr, nullptr)
2013
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-trap"), fno_sanitize_trap, Flag, f_clang_Group, fno_sanitize_trap_EQ, "all\0", CC1Option | CoreOption, 0,
2014
       "Disable trapping for all sanitizers", nullptr, nullptr)
2015
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize-undefined-trap-on-error"), fno_sanitize_undefined_trap_on_error, Flag, f_clang_Group, fno_sanitize_trap_EQ, "undefined\0", CC1Option | CoreOption, 0, nullptr, nullptr, nullptr)
2016
OPTION(prefix_1, llvm::StringLiteral("fno-sanitize="), fno_sanitize_EQ, CommaJoined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0, nullptr, nullptr, nullptr)
2017
OPTION(prefix_1, llvm::StringLiteral("fno-save-optimization-record"), fno_save_optimization_record, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, 0, nullptr, nullptr, nullptr)
2018
OPTION(prefix_1, llvm::StringLiteral("fno-schedule-insns2"), fno_schedule_insns2, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2019
OPTION(prefix_1, llvm::StringLiteral("fno-schedule-insns"), fno_schedule_insns, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2020
OPTION(prefix_1, llvm::StringLiteral("fno-second-underscore"), fno_second_underscore, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2021
OPTION(prefix_1, llvm::StringLiteral("fno-see"), fno_see, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2022
OPTION(prefix_1, llvm::StringLiteral("fno-semantic-interposition"), fno_semantic_interposition, Flag, f_Group, INVALID, nullptr, 0, 0,
2023
       "", nullptr, nullptr)
2024
OPTION(prefix_1, llvm::StringLiteral("fno-short-enums"), fno_short_enums, Flag, f_Group, INVALID, nullptr, 0, 0,
2025
       "", nullptr, nullptr)
2026
OPTION(prefix_1, llvm::StringLiteral("fno-short-wchar"), fno_short_wchar, Flag, f_Group, INVALID, nullptr, 0, 0,
2027
       "Force wchar_t to be an unsigned int", nullptr, nullptr)
2028
OPTION(prefix_1, llvm::StringLiteral("fno-show-column"), fno_show_column, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2029
       "Do not include column number on diagnostics", nullptr, nullptr)
2030
OPTION(prefix_1, llvm::StringLiteral("fno-show-source-location"), fno_show_source_location, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2031
       "Do not include source location information with diagnostics", nullptr, nullptr)
2032
OPTION(prefix_1, llvm::StringLiteral("fno-sign-zero"), fno_sign_zero, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2033
OPTION(prefix_1, llvm::StringLiteral("fno-signaling-math"), fno_signaling_math, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2034
OPTION(prefix_1, llvm::StringLiteral("fno-signaling-nans"), fno_signaling_nans, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2035
OPTION(prefix_1, llvm::StringLiteral("fno-signed-char"), fno_signed_char, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2036
       "char is unsigned", nullptr, nullptr)
2037
OPTION(prefix_1, llvm::StringLiteral("fno-signed-wchar"), fno_signed_wchar, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2038
       "Use an unsigned type for wchar_t", nullptr, nullptr)
2039
OPTION(prefix_1, llvm::StringLiteral("fno-signed-zeros"), fno_signed_zeros, Flag, f_Group, INVALID, nullptr, CC1Option | FC1Option | FlangOption, 0,
2040
       "Allow optimizations that ignore the sign of floating point zeros", nullptr, nullptr)
2041
OPTION(prefix_1, llvm::StringLiteral("fno-single-precision-constant"), fno_single_precision_constant, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2042
OPTION(prefix_1, llvm::StringLiteral("fno-sized-deallocation"), fno_sized_deallocation, Flag, f_Group, INVALID, nullptr, 0, 0,
2043
       "", nullptr, nullptr)
2044
OPTION(prefix_1, llvm::StringLiteral("fno-slp-vectorize-aggressive"), anonymous_1, Flag, clang_ignored_legacy_options_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2045
OPTION(prefix_1, llvm::StringLiteral("fno-slp-vectorize"), fno_slp_vectorize, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2046
OPTION(prefix_1, llvm::StringLiteral("fno-spec-constr-count"), fno_spec_constr_count, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2047
OPTION(prefix_1, llvm::StringLiteral("fno-spell-checking"), fno_spell_checking, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2048
       "Disable spell-checking", nullptr, nullptr)
2049
OPTION(prefix_1, llvm::StringLiteral("fno-split-dwarf-inlining"), fno_split_dwarf_inlining, Flag, f_Group, INVALID, nullptr, 0, 0,
2050
       "", nullptr, nullptr)
2051
OPTION(prefix_1, llvm::StringLiteral("fno-split-lto-unit"), fno_split_lto_unit, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
2052
       "", nullptr, nullptr)
2053
OPTION(prefix_1, llvm::StringLiteral("fno-split-machine-functions"), fno_split_machine_functions, Flag, f_Group, INVALID, nullptr, 0, 0,
2054
       "Disable late function splitting using profile information (x86 ELF)", nullptr, nullptr)
2055
OPTION(prefix_1, llvm::StringLiteral("fno-split-stack"), fno_split_stack, Flag, f_Group, INVALID, nullptr, 0, 0,
2056
       "Wouldn't use segmented stack", nullptr, nullptr)
2057
OPTION(prefix_1, llvm::StringLiteral("fno-stack-arrays"), fno_stack_arrays, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2058
OPTION(prefix_1, llvm::StringLiteral("fno-stack-check"), fno_stack_check, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2059
OPTION(prefix_1, llvm::StringLiteral("fno-stack-clash-protection"), fno_stack_clash_protection, Flag, f_Group, INVALID, nullptr, 0, 0,
2060
       "Disable stack clash protection", nullptr, nullptr)
2061
OPTION(prefix_1, llvm::StringLiteral("fno-stack-protector"), fno_stack_protector, Flag, f_Group, INVALID, nullptr, 0, 0,
2062
       "Disable the use of stack protectors", nullptr, nullptr)
2063
OPTION(prefix_1, llvm::StringLiteral("fno-stack-size-section"), fno_stack_size_section, Flag, f_Group, INVALID, nullptr, 0, 0,
2064
       "", nullptr, nullptr)
2065
OPTION(prefix_1, llvm::StringLiteral("fno-standalone-debug"), fno_standalone_debug, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
2066
       "Limit debug information produced to reduce size of debug binary", nullptr, nullptr)
2067
OPTION(prefix_1, llvm::StringLiteral("fno-strength-reduce"), fno_strength_reduce, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2068
OPTION(prefix_1, llvm::StringLiteral("fno-strict-aliasing"), fno_strict_aliasing, Flag, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0, nullptr, nullptr, nullptr)
2069
OPTION(prefix_1, llvm::StringLiteral("fno-strict-enums"), fno_strict_enums, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2070
OPTION(prefix_1, llvm::StringLiteral("fno-strict-float-cast-overflow"), fno_strict_float_cast_overflow, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2071
       "Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions", nullptr, nullptr)
2072
OPTION(prefix_1, llvm::StringLiteral("fno-strict-modules-decluse"), fno_modules_strict_decluse, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
2073
OPTION(prefix_1, llvm::StringLiteral("fno-strict-overflow"), fno_strict_overflow, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2074
OPTION(prefix_1, llvm::StringLiteral("fno-strict-return"), fno_strict_return, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2075
       "Don't treat control flow paths that fall off the end of a non-void function as unreachable", nullptr, nullptr)
2076
OPTION(prefix_1, llvm::StringLiteral("fno-strict-vtable-pointers"), fno_strict_vtable_pointers, Flag, f_Group, INVALID, nullptr, 0, 0,
2077
       "", nullptr, nullptr)
2078
OPTION(prefix_1, llvm::StringLiteral("fno-struct-path-tbaa"), fno_struct_path_tbaa, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2079
OPTION(prefix_1, llvm::StringLiteral("fno-sycl"), fno_sycl, Flag, sycl_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
2080
       "Disables SYCL kernels compilation for device", nullptr, nullptr)
2081
OPTION(prefix_1, llvm::StringLiteral("fno-temp-file"), fno_temp_file, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2082
       "Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes", nullptr, nullptr)
2083
OPTION(prefix_1, llvm::StringLiteral("fno-test-coverage"), fno_test_coverage, Flag, f_Group, INVALID, nullptr, 0, 0,
2084
       "", nullptr, nullptr)
2085
OPTION(prefix_1, llvm::StringLiteral("fno-threadsafe-statics"), fno_threadsafe_statics, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2086
       "Do not emit code to make initialization of local statics thread safe", nullptr, nullptr)
2087
OPTION(prefix_1, llvm::StringLiteral("fno-tls-model"), fno_tls_model, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2088
OPTION(prefix_1, llvm::StringLiteral("fno-tracer"), fno_tracer, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2089
OPTION(prefix_1, llvm::StringLiteral("fno-trapping-math"), fno_trapping_math, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2090
OPTION(prefix_1, llvm::StringLiteral("fno-tree-dce"), fno_tree_dce, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2091
OPTION(prefix_1, llvm::StringLiteral("fno-tree-salias"), fno_tree_salias, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2092
OPTION(prefix_1, llvm::StringLiteral("fno-tree-slp-vectorize"), anonymous_1058, Flag, INVALID, fno_slp_vectorize, nullptr, 0, 0, nullptr, nullptr, nullptr)
2093
OPTION(prefix_1, llvm::StringLiteral("fno-tree-ter"), fno_tree_ter, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2094
OPTION(prefix_1, llvm::StringLiteral("fno-tree-vectorizer-verbose"), fno_tree_vectorizer_verbose, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2095
OPTION(prefix_1, llvm::StringLiteral("fno-tree-vectorize"), anonymous_1056, Flag, INVALID, fno_vectorize, nullptr, 0, 0, nullptr, nullptr, nullptr)
2096
OPTION(prefix_1, llvm::StringLiteral("fno-tree-vrp"), fno_tree_vrp, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2097
OPTION(prefix_1, llvm::StringLiteral("fno-trigraphs"), fno_trigraphs, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2098
       "Do not process trigraph sequences", nullptr, nullptr)
2099
OPTION(prefix_1, llvm::StringLiteral("fno-underscoring"), fno_underscoring, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2100
OPTION(prefix_1, llvm::StringLiteral("fno-unique-basic-block-section-names"), fno_unique_basic_block_section_names, Flag, f_Group, INVALID, nullptr, 0, 0,
2101
       "", nullptr, nullptr)
2102
OPTION(prefix_1, llvm::StringLiteral("fno-unique-internal-linkage-names"), fno_unique_internal_linkage_names, Flag, f_Group, INVALID, nullptr, 0, 0,
2103
       "", nullptr, nullptr)
2104
OPTION(prefix_1, llvm::StringLiteral("fno-unique-section-names"), fno_unique_section_names, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2105
       "Don't use unique names for text and data sections", nullptr, nullptr)
2106
OPTION(prefix_1, llvm::StringLiteral("fno-unit-at-a-time"), fno_anonymous_1414, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2107
OPTION(prefix_1, llvm::StringLiteral("fno-unroll-all-loops"), fno_unroll_all_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2108
OPTION(prefix_1, llvm::StringLiteral("fno-unroll-loops"), fno_unroll_loops, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2109
       "Turn off loop unroller", nullptr, nullptr)
2110
OPTION(prefix_1, llvm::StringLiteral("fno-unsafe-loop-optimizations"), fno_unsafe_loop_optimizations, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2111
OPTION(prefix_1, llvm::StringLiteral("fno-unsafe-math-optimizations"), fno_unsafe_math_optimizations, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2112
OPTION(prefix_1, llvm::StringLiteral("fno-unsigned-char"), fno_unsigned_char, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2113
OPTION(prefix_1, llvm::StringLiteral("fno-unswitch-loops"), fno_unswitch_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2114
OPTION(prefix_1, llvm::StringLiteral("fno-unwind-tables"), fno_unwind_tables, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2115
OPTION(prefix_1, llvm::StringLiteral("fno-use-ctor-homing"), fno_use_ctor_homing, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
2116
       "Don't use constructor homing for debug info", nullptr, nullptr)
2117
OPTION(prefix_1, llvm::StringLiteral("fno-use-cxa-atexit"), fno_use_cxa_atexit, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2118
       "Don't use __cxa_atexit for calling destructors", nullptr, nullptr)
2119
OPTION(prefix_1, llvm::StringLiteral("fno-use-init-array"), fno_use_init_array, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2120
       "Use .ctors/.dtors instead of .init_array/.fini_array", nullptr, nullptr)
2121
OPTION(prefix_1, llvm::StringLiteral("fno-use-line-directives"), fno_use_line_directives, Flag, f_Group, INVALID, nullptr, 0, 0,
2122
       "", nullptr, nullptr)
2123
OPTION(prefix_1, llvm::StringLiteral("fno-use-linker-plugin"), fno_use_linker_plugin, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2124
OPTION(prefix_1, llvm::StringLiteral("fno-validate-pch"), fno_validate_pch, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2125
       "Disable validation of precompiled headers", nullptr, nullptr)
2126
OPTION(prefix_1, llvm::StringLiteral("fno-var-tracking"), fno_var_tracking, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2127
OPTION(prefix_1, llvm::StringLiteral("fno-variable-expansion-in-unroller"), fno_variable_expansion_in_unroller, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2128
OPTION(prefix_1, llvm::StringLiteral("fno-vect-cost-model"), fno_vect_cost_model, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2129
OPTION(prefix_1, llvm::StringLiteral("fno-vectorize"), fno_vectorize, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2130
OPTION(prefix_1, llvm::StringLiteral("fno-verbose-asm"), fno_verbose_asm, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
2131
OPTION(prefix_1, llvm::StringLiteral("fno-virtual-function-elimination"), fno_virtual_function_elimination, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
2132
       "", nullptr, nullptr)
2133
OPTION(prefix_1, llvm::StringLiteral("fno-visibility-from-dllstorageclass"), fno_visibility_from_dllstorageclass, Flag, f_Group, INVALID, nullptr, 0, 0,
2134
       "", nullptr, nullptr)
2135
OPTION(prefix_1, llvm::StringLiteral("fno-visibility-inlines-hidden-static-local-var"), fno_visibility_inlines_hidden_static_local_var, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2136
       "Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)", nullptr, nullptr)
2137
OPTION(prefix_1, llvm::StringLiteral("fno-visibility-inlines-hidden"), fno_visibility_inlines_hidden, Flag, f_Group, INVALID, nullptr, 0, 0,
2138
       "", nullptr, nullptr)
2139
OPTION(prefix_1, llvm::StringLiteral("fno-wchar"), fno_wchar, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2140
       "Disable C++ builtin type wchar_t", nullptr, nullptr)
2141
OPTION(prefix_1, llvm::StringLiteral("fno-web"), fno_web, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2142
OPTION(prefix_1, llvm::StringLiteral("fno-whole-file"), fno_whole_file, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2143
OPTION(prefix_1, llvm::StringLiteral("fno-whole-program-vtables"), fno_whole_program_vtables, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
2144
       "", nullptr, nullptr)
2145
OPTION(prefix_1, llvm::StringLiteral("fno-whole-program"), fno_whole_program, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2146
OPTION(prefix_1, llvm::StringLiteral("fno-working-directory"), fno_working_directory, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2147
OPTION(prefix_1, llvm::StringLiteral("fno-wrapv"), fno_wrapv, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2148
OPTION(prefix_1, llvm::StringLiteral("fno-xl-pragma-pack"), fno_xl_pragma_pack, Flag, f_Group, INVALID, nullptr, 0, 0,
2149
       "", nullptr, nullptr)
2150
OPTION(prefix_1, llvm::StringLiteral("fno-xor-operator"), fno_xor_operator, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
2151
       "", nullptr, nullptr)
2152
OPTION(prefix_1, llvm::StringLiteral("fno-xray-always-emit-customevents"), fno_xray_always_emit_customevents, Flag, f_Group, INVALID, nullptr, 0, 0,
2153
       "", nullptr, nullptr)
2154
OPTION(prefix_1, llvm::StringLiteral("fno-xray-always-emit-typedevents"), fno_xray_always_emit_typedevents, Flag, f_Group, INVALID, nullptr, 0, 0,
2155
       "", nullptr, nullptr)
2156
OPTION(prefix_1, llvm::StringLiteral("fno-xray-function-index"), fno_xray_function_index, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2157
       "Omit function index section at the expense of single-function patching performance", nullptr, nullptr)
2158
OPTION(prefix_1, llvm::StringLiteral("fno-xray-ignore-loops"), fno_xray_ignore_loops, Flag, f_Group, INVALID, nullptr, 0, 0,
2159
       "", nullptr, nullptr)
2160
OPTION(prefix_1, llvm::StringLiteral("fno-xray-instrument"), fno_xray_instrument, Flag, f_Group, INVALID, nullptr, 0, 0,
2161
       "", nullptr, nullptr)
2162
OPTION(prefix_1, llvm::StringLiteral("fno-zero-initialized-in-bss"), fno_zero_initialized_in_bss, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2163
       "Don't place zero initialized data in BSS", nullptr, nullptr)
2164
OPTION(prefix_1, llvm::StringLiteral("fno-zvector"), fno_zvector, Flag, f_Group, INVALID, nullptr, 0, 0,
2165
       "", nullptr, nullptr)
2166
OPTION(prefix_1, llvm::StringLiteral("fno_modules-validate-input-files-content"), fno_modules_validate_input_files_content, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
2167
OPTION(prefix_1, llvm::StringLiteral("fno_pch-validate-input-files-content"), fno_pch_validate_input_files_content, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
2168
OPTION(prefix_1, llvm::StringLiteral("fnon-call-exceptions"), fnon_call_exceptions, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2169
OPTION(prefix_1, llvm::StringLiteral("fnoopenmp-relocatable-target"), fnoopenmp_relocatable_target, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
2170
OPTION(prefix_1, llvm::StringLiteral("fnoopenmp-use-tls"), fnoopenmp_use_tls, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
2171
OPTION(prefix_1, llvm::StringLiteral("fnoxray-link-deps"), fnoxray_link_deps, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
2172
OPTION(prefix_1, llvm::StringLiteral("fobjc-abi-version="), fobjc_abi_version_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2173
OPTION(prefix_1, llvm::StringLiteral("fobjc-arc-cxxlib="), fobjc_arc_cxxlib_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2174
       "Objective-C++ Automatic Reference Counting standard library kind", nullptr, "libc++,libstdc++,none")
2175
OPTION(prefix_1, llvm::StringLiteral("fobjc-arc-exceptions"), fobjc_arc_exceptions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2176
       "Use EH-safe code when synthesizing retains and releases in -fobjc-arc", nullptr, nullptr)
2177
OPTION(prefix_1, llvm::StringLiteral("fobjc-arc"), fobjc_arc, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2178
       "Synthesize retain and release calls for Objective-C pointers", nullptr, nullptr)
2179
OPTION(prefix_1, llvm::StringLiteral("fobjc-atdefs"), fobjc_atdefs, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2180
OPTION(prefix_1, llvm::StringLiteral("fobjc-avoid-heapify-local-blocks"), fobjc_avoid_heapify_local_blocks, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2181
       "Try to avoid heapifying local blocks", nullptr, nullptr)
2182
OPTION(prefix_1, llvm::StringLiteral("fobjc-call-cxx-cdtors"), fobjc_call_cxx_cdtors, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2183
OPTION(prefix_1, llvm::StringLiteral("fobjc-convert-messages-to-runtime-calls"), fobjc_convert_messages_to_runtime_calls, Flag, f_Group, INVALID, nullptr, 0, 0,
2184
       "", nullptr, nullptr)
2185
OPTION(prefix_1, llvm::StringLiteral("fobjc-disable-direct-methods-for-testing"), fobjc_disable_direct_methods_for_testing, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2186
       "Ignore attribute objc_direct so that direct methods can be tested", nullptr, nullptr)
2187
OPTION(prefix_1, llvm::StringLiteral("fobjc-dispatch-method="), fobjc_dispatch_method_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2188
       "Objective-C dispatch method to use", nullptr, "legacy,non-legacy,mixed")
2189
OPTION(prefix_1, llvm::StringLiteral("fobjc-encode-cxx-class-template-spec"), fobjc_encode_cxx_class_template_spec, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2190
       "Fully encode c++ class template specialization", nullptr, nullptr)
2191
OPTION(prefix_1, llvm::StringLiteral("fobjc-exceptions"), fobjc_exceptions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2192
       "Enable Objective-C exceptions", nullptr, nullptr)
2193
OPTION(prefix_1, llvm::StringLiteral("fobjc-gc-only"), fobjc_gc_only, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2194
       "Use GC exclusively for Objective-C related memory management", nullptr, nullptr)
2195
OPTION(prefix_1, llvm::StringLiteral("fobjc-gc"), fobjc_gc, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2196
       "Enable Objective-C garbage collection", nullptr, nullptr)
2197
OPTION(prefix_1, llvm::StringLiteral("fobjc-infer-related-result-type"), fobjc_infer_related_result_type, Flag, f_Group, INVALID, nullptr, 0, 0,
2198
       "", nullptr, nullptr)
2199
OPTION(prefix_1, llvm::StringLiteral("fobjc-legacy-dispatch"), fobjc_legacy_dispatch, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2200
OPTION(prefix_1, llvm::StringLiteral("fobjc-link-runtime"), fobjc_link_runtime, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2201
OPTION(prefix_1, llvm::StringLiteral("fobjc-new-property"), fobjc_new_property, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2202
OPTION(prefix_1, llvm::StringLiteral("fobjc-nonfragile-abi-version="), fobjc_nonfragile_abi_version_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2203
OPTION(prefix_1, llvm::StringLiteral("fobjc-nonfragile-abi"), fobjc_nonfragile_abi, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2204
OPTION(prefix_1, llvm::StringLiteral("fobjc-runtime-has-weak"), fobjc_runtime_has_weak, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2205
       "The target Objective-C runtime supports ARC weak operations", nullptr, nullptr)
2206
OPTION(prefix_1, llvm::StringLiteral("fobjc-runtime="), fobjc_runtime_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2207
       "Specify the target Objective-C runtime kind and version", nullptr, nullptr)
2208
OPTION(prefix_1, llvm::StringLiteral("fobjc-sender-dependent-dispatch"), fobjc_sender_dependent_dispatch, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2209
OPTION(prefix_1, llvm::StringLiteral("fobjc-subscripting-legacy-runtime"), fobjc_subscripting_legacy_runtime, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2210
       "Allow Objective-C array and dictionary subscripting in legacy runtime", nullptr, nullptr)
2211
OPTION(prefix_1, llvm::StringLiteral("fobjc-weak"), fobjc_weak, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2212
       "Enable ARC-style weak references in Objective-C", nullptr, nullptr)
2213
OPTION(prefix_1, llvm::StringLiteral("foffload-lto="), foffload_lto_EQ, Joined, f_Group, INVALID, nullptr, CoreOption, 0,
2214
       "Set LTO mode for offload compilation", nullptr, "thin,full")
2215
OPTION(prefix_1, llvm::StringLiteral("foffload-lto"), foffload_lto, Flag, f_Group, foffload_lto_EQ, "full\0", CoreOption, 0,
2216
       "Enable LTO in 'full' mode for offload compilation", nullptr, nullptr)
2217
OPTION(prefix_1, llvm::StringLiteral("fomit-frame-pointer"), fomit_frame_pointer, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2218
OPTION(prefix_1, llvm::StringLiteral("fopenacc"), fopenacc, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
2219
       "Enable OpenACC", nullptr, nullptr)
2220
OPTION(prefix_1, llvm::StringLiteral("fopenmp-assume-no-nested-parallelism"), fopenmp_assume_no_nested_parallelism, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0,
2221
       "Assert no nested parallel regions in the GPU", nullptr, nullptr)
2222
OPTION(prefix_1, llvm::StringLiteral("fopenmp-assume-no-thread-state"), fopenmp_assume_no_thread_state, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0,
2223
       "Assert no thread in a parallel region modifies an ICV", nullptr, nullptr)
2224
OPTION(prefix_1, llvm::StringLiteral("fopenmp-assume-teams-oversubscription"), fopenmp_assume_teams_oversubscription, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
2225
OPTION(prefix_1, llvm::StringLiteral("fopenmp-assume-threads-oversubscription"), fopenmp_assume_threads_oversubscription, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
2226
OPTION(prefix_1, llvm::StringLiteral("fopenmp-cuda-blocks-per-sm="), fopenmp_cuda_blocks_per_sm_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
2227
OPTION(prefix_1, llvm::StringLiteral("fopenmp-cuda-mode"), fopenmp_cuda_mode, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
2228
OPTION(prefix_1, llvm::StringLiteral("fopenmp-cuda-number-of-sm="), fopenmp_cuda_number_of_sm_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
2229
OPTION(prefix_1, llvm::StringLiteral("fopenmp-cuda-teams-reduction-recs-num="), fopenmp_cuda_teams_reduction_recs_num_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
2230
OPTION(prefix_1, llvm::StringLiteral("fopenmp-enable-irbuilder"), fopenmp_enable_irbuilder, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0,
2231
       "Use the experimental OpenMP-IR-Builder codegen path.", nullptr, nullptr)
2232
OPTION(prefix_1, llvm::StringLiteral("fopenmp-extensions"), fopenmp_extensions, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused, 0,
2233
       "Enable all Clang extensions for OpenMP directives and clauses", nullptr, nullptr)
2234
OPTION(prefix_1, llvm::StringLiteral("fopenmp-host-ir-file-path"), fopenmp_host_ir_file_path, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2235
       "Path to the IR file produced by the frontend for the host.", nullptr, nullptr)
2236
OPTION(prefix_1, llvm::StringLiteral("fopenmp-implicit-rpath"), fopenmp_implicit_rpath, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, 0,
2237
       "Set rpath on OpenMP executables", nullptr, nullptr)
2238
OPTION(prefix_1, llvm::StringLiteral("fopenmp-is-device"), fopenmp_is_device, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2239
       "Generate code only for an OpenMP target device.", nullptr, nullptr)
2240
OPTION(prefix_1, llvm::StringLiteral("fopenmp-new-driver"), fopenmp_new_driver, Flag, INVALID, INVALID, nullptr, HelpHidden, 0,
2241
       "Use the new driver for OpenMP offloading.", nullptr, nullptr)
2242
OPTION(prefix_1, llvm::StringLiteral("fopenmp-offload-mandatory"), fopenmp_offload_mandatory, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused, 0,
2243
       "Do not create a host fallback if offloading to the device fails.", nullptr, nullptr)
2244
OPTION(prefix_1, llvm::StringLiteral("fopenmp-optimistic-collapse"), fopenmp_optimistic_collapse, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0,
2245
       "", nullptr, nullptr)
2246
OPTION(prefix_1, llvm::StringLiteral("fopenmp-relocatable-target"), fopenmp_relocatable_target, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
2247
OPTION(prefix_1, llvm::StringLiteral("fopenmp-simd"), fopenmp_simd, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused, 0,
2248
       "Emit OpenMP code only for SIMD-based constructs.", nullptr, nullptr)
2249
OPTION(prefix_1, llvm::StringLiteral("fopenmp-target-debug="), fopenmp_target_debug_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
2250
OPTION(prefix_1, llvm::StringLiteral("fopenmp-target-debug"), fopenmp_target_debug, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused, 0,
2251
       "Enable debugging in the OpenMP offloading device RTL", nullptr, nullptr)
2252
OPTION(prefix_1, llvm::StringLiteral("fopenmp-target-jit"), fopenmp_target_jit, Flag, f_Group, INVALID, nullptr, CoreOption | NoArgumentUnused, 0,
2253
       "Emit code that can be JIT compiled for OpenMP offloading. Implies -foffload-lto=full", nullptr, nullptr)
2254
OPTION(prefix_1, llvm::StringLiteral("fopenmp-target-new-runtime"), fopenmp_target_new_runtime, Flag, f_Group, INVALID, nullptr, CC1Option | HelpHidden, 0, nullptr, nullptr, nullptr)
2255
OPTION(prefix_1, llvm::StringLiteral("fopenmp-targets="), fopenmp_targets_EQ, CommaJoined, INVALID, INVALID, nullptr, NoXarchOption | CC1Option, 0,
2256
       "Specify comma-separated list of triples OpenMP offloading targets to be supported", nullptr, nullptr)
2257
OPTION(prefix_1, llvm::StringLiteral("fopenmp-use-tls"), fopenmp_use_tls, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, 0, nullptr, nullptr, nullptr)
2258
OPTION(prefix_1, llvm::StringLiteral("fopenmp-version="), fopenmp_version_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused, 0,
2259
       "Set OpenMP version (e.g. 45 for OpenMP 4.5, 50 for OpenMP 5.0). Default value is 50.", nullptr, nullptr)
2260
OPTION(prefix_1, llvm::StringLiteral("fopenmp="), fopenmp_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2261
OPTION(prefix_1, llvm::StringLiteral("fopenmp"), fopenmp, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | FlangOption | FC1Option, 0,
2262
       "Parse OpenMP pragmas and generate parallel code.", nullptr, nullptr)
2263
OPTION(prefix_1, llvm::StringLiteral("foperator-arrow-depth="), foperator_arrow_depth_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2264
OPTION(prefix_1, llvm::StringLiteral("foperator-arrow-depth"), foperator_arrow_depth, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2265
       "Maximum number of 'operator->'s to call for a member access", nullptr, nullptr)
2266
OPTION(prefix_1, llvm::StringLiteral("foperator-names"), foperator_names, Flag, f_Group, INVALID, nullptr, 0, 0,
2267
       "", nullptr, nullptr)
2268
OPTION(prefix_1, llvm::StringLiteral("foptimization-record-file="), foptimization_record_file_EQ, Joined, f_Group, INVALID, nullptr, 0, 0,
2269
       "Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.", "<file>", nullptr)
2270
OPTION(prefix_1, llvm::StringLiteral("foptimization-record-passes="), foptimization_record_passes_EQ, Joined, f_Group, INVALID, nullptr, 0, 0,
2271
       "Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)", "<regex>", nullptr)
2272
OPTION(prefix_1, llvm::StringLiteral("foptimize-sibling-calls"), foptimize_sibling_calls, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2273
OPTION(prefix_3, llvm::StringLiteral("for-linker="), _for_linker_EQ, Joined, INVALID, Xlinker, nullptr, 0, 0, nullptr, nullptr, nullptr)
2274
OPTION(prefix_3, llvm::StringLiteral("for-linker"), _for_linker, Separate, INVALID, Xlinker, nullptr, 0, 0, nullptr, nullptr, nullptr)
2275
OPTION(prefix_3, llvm::StringLiteral("force-link="), _force_link_EQ, Joined, INVALID, u, nullptr, 0, 0, nullptr, nullptr, nullptr)
2276
OPTION(prefix_3, llvm::StringLiteral("force-link"), _force_link, Separate, INVALID, u, nullptr, 0, 0, nullptr, nullptr, nullptr)
2277
OPTION(prefix_1, llvm::StringLiteral("force_cpusubtype_ALL"), force__cpusubtype__ALL, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2278
OPTION(prefix_1, llvm::StringLiteral("force_flat_namespace"), force__flat__namespace, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2279
OPTION(prefix_1, llvm::StringLiteral("force_load"), force__load, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2280
OPTION(prefix_1, llvm::StringLiteral("forder-file-instrumentation"), forder_file_instrumentation, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2281
       "Generate instrumented code to collect order file into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)", nullptr, nullptr)
2282
OPTION(prefix_1, llvm::StringLiteral("foutput-class-dir="), foutput_class_dir_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2283
OPTION(prefix_1, llvm::StringLiteral("foverride-record-layout="), foverride_record_layout_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2284
       "Override record layouts with those in the given file", nullptr, nullptr)
2285
OPTION(prefix_2, llvm::StringLiteral("Fo"), Fo, JoinedOrSeparate, dxc_Group, o, nullptr, DXCOption | NoXarchOption | DXCOption, 0,
2286
       "Output object file", nullptr, nullptr)
2287
OPTION(prefix_2, llvm::StringLiteral("Fo"), _SLASH_Fo, Joined, cl_compile_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
2288
       "Set output object file (with /c)", "<file or dir/>", nullptr)
2289
OPTION(prefix_2, llvm::StringLiteral("fp:contract"), _SLASH_fp_contract, Flag, cl_Group, ffp_contract, "on\0", CLOption | NoXarchOption | CLDXCOption, 0,
2290
       "", nullptr, nullptr)
2291
OPTION(prefix_2, llvm::StringLiteral("fp:except-"), _SLASH_fp_except_, Flag, cl_Group, ffp_exception_behavior_EQ, "ignore\0", CLOption | NoXarchOption | CLDXCOption, 0,
2292
       "", nullptr, nullptr)
2293
OPTION(prefix_2, llvm::StringLiteral("fp:except"), _SLASH_fp_except, Flag, cl_Group, ffp_exception_behavior_EQ, "strict\0", CLOption | NoXarchOption | CLDXCOption, 0,
2294
       "", nullptr, nullptr)
2295
OPTION(prefix_2, llvm::StringLiteral("fp:fast"), _SLASH_fp_fast, Flag, cl_Group, ffast_math, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
2296
       "", nullptr, nullptr)
2297
OPTION(prefix_2, llvm::StringLiteral("fp:precise"), _SLASH_fp_precise, Flag, cl_Group, ffp_model_EQ, "precise\0", CLOption | NoXarchOption | CLDXCOption, 0,
2298
       "", nullptr, nullptr)
2299
OPTION(prefix_2, llvm::StringLiteral("fp:strict"), _SLASH_fp_strict, Flag, cl_Group, ffp_model_EQ, "strict\0", CLOption | NoXarchOption | CLDXCOption, 0,
2300
       "", nullptr, nullptr)
2301
OPTION(prefix_1, llvm::StringLiteral("fpack-derived"), fpack_derived, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2302
OPTION(prefix_1, llvm::StringLiteral("fpack-struct="), fpack_struct_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2303
       "Specify the default maximum struct packing alignment", nullptr, nullptr)
2304
OPTION(prefix_1, llvm::StringLiteral("fpack-struct"), fpack_struct, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2305
OPTION(prefix_1, llvm::StringLiteral("fpadding-on-unsigned-fixed-point"), fpadding_on_unsigned_fixed_point, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2306
       "Force each unsigned fixed point type to have an extra bit of padding to align their scales with those of signed fixed point types", nullptr, nullptr)
2307
OPTION(prefix_1, llvm::StringLiteral("fparse-all-comments"), fparse_all_comments, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
2308
OPTION(prefix_1, llvm::StringLiteral("fpascal-strings"), fpascal_strings, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2309
       "Recognize and construct Pascal-style string literals", nullptr, nullptr)
2310
OPTION(prefix_1, llvm::StringLiteral("fpass-by-value-is-noalias"), fpass_by_value_is_noalias, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2311
       "Allows assuming by-value parameters do not alias any other value. Has no effect on non-trivially-copyable classes in C++.", nullptr, nullptr)
2312
OPTION(prefix_1, llvm::StringLiteral("fpass-plugin="), fpass_plugin_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | FlangOption | FC1Option, 0,
2313
       "Load pass plugin from a dynamic shared object file (only with new pass manager).", "<dsopath>", nullptr)
2314
OPTION(prefix_1, llvm::StringLiteral("fpatchable-function-entry-offset="), fpatchable_function_entry_offset_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2315
       "Generate M NOPs before function entry", "<M>", nullptr)
2316
OPTION(prefix_1, llvm::StringLiteral("fpatchable-function-entry="), fpatchable_function_entry_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2317
       "Generate M NOPs before function entry and N-M NOPs after function entry", "<N,M>", nullptr)
2318
OPTION(prefix_1, llvm::StringLiteral("fpcc-struct-return"), fpcc_struct_return, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2319
       "Override the default ABI to return all structs on the stack", nullptr, nullptr)
2320
OPTION(prefix_1, llvm::StringLiteral("fpch-codegen"), fpch_codegen, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2321
       "Generate code for uses of this PCH that assumes an explicit object file will be built for the PCH", nullptr, nullptr)
2322
OPTION(prefix_1, llvm::StringLiteral("fpch-debuginfo"), fpch_debuginfo, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2323
       "Generate debug info for types in an object file built from this PCH and do not generate them elsewhere", nullptr, nullptr)
2324
OPTION(prefix_1, llvm::StringLiteral("fpch-instantiate-templates"), fpch_instantiate_templates, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2325
       "Instantiate templates already while building a PCH", nullptr, nullptr)
2326
OPTION(prefix_1, llvm::StringLiteral("fpch-preprocess"), fpch_preprocess, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2327
OPTION(prefix_1, llvm::StringLiteral("fpch-validate-input-files-content"), fpch_validate_input_files_content, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0,
2328
       "Validate PCH input files based on content if mtime differs", nullptr, nullptr)
2329
OPTION(prefix_1, llvm::StringLiteral("fpeel-loops"), fpeel_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2330
OPTION(prefix_1, llvm::StringLiteral("fpermissive"), fpermissive, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2331
OPTION(prefix_1, llvm::StringLiteral("fPIC"), fPIC, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2332
OPTION(prefix_1, llvm::StringLiteral("fpic"), fpic, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2333
OPTION(prefix_1, llvm::StringLiteral("fPIE"), fPIE, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2334
OPTION(prefix_1, llvm::StringLiteral("fpie"), fpie, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2335
OPTION(prefix_1, llvm::StringLiteral("fplt"), fplt, Flag, f_Group, INVALID, nullptr, 0, 0,
2336
       "", nullptr, nullptr)
2337
OPTION(prefix_1, llvm::StringLiteral("fplugin-arg-"), fplugin_arg, Joined, INVALID, INVALID, nullptr, 0, 0,
2338
       "Pass <arg> to plugin <name>", "<name>-<arg>", nullptr)
2339
OPTION(prefix_1, llvm::StringLiteral("fplugin="), fplugin_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption, 0,
2340
       "Load the named plugin (dynamic shared object)", "<dsopath>", nullptr)
2341
OPTION(prefix_1, llvm::StringLiteral("fprebuilt-implicit-modules"), fprebuilt_implicit_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
2342
       "Look up implicit modules in the prebuilt module path", nullptr, nullptr)
2343
OPTION(prefix_1, llvm::StringLiteral("fprebuilt-module-path="), fprebuilt_module_path, Joined, i_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
2344
       "Specify the prebuilt module path", "<directory>", nullptr)
2345
OPTION(prefix_1, llvm::StringLiteral("fprefetch-loop-arrays"), fprefetch_loop_arrays, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2346
OPTION(prefix_1, llvm::StringLiteral("fpreserve-as-comments"), fpreserve_as_comments, Flag, f_Group, INVALID, nullptr, 0, 0,
2347
       "", nullptr, nullptr)
2348
OPTION(prefix_1, llvm::StringLiteral("fpreserve-vec3-type"), fpreserve_vec3_type, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2349
       "Preserve 3-component vector type", nullptr, nullptr)
2350
OPTION(prefix_1, llvm::StringLiteral("fprintf"), fprintf, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2351
OPTION(prefix_1, llvm::StringLiteral("fproc-stat-report="), fproc_stat_report_EQ, Joined, f_Group, INVALID, nullptr, 0, 0,
2352
       "Save subprocess statistics to the given file", nullptr, nullptr)
2353
OPTION(prefix_1, llvm::StringLiteral("fproc-stat-report"), fproc_stat_report, Joined, f_Group, INVALID, nullptr, 0, 0,
2354
       "Print subprocess statistics", nullptr, nullptr)
2355
OPTION(prefix_1, llvm::StringLiteral("fprofile-arcs"), fprofile_arcs, Flag, f_Group, INVALID, nullptr, CC1Option | LinkOption, 0,
2356
       "", nullptr, nullptr)
2357
OPTION(prefix_1, llvm::StringLiteral("fprofile-correction"), fprofile_correction, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2358
OPTION(prefix_1, llvm::StringLiteral("fprofile-dir="), fprofile_dir, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2359
OPTION(prefix_1, llvm::StringLiteral("fprofile-exclude-files="), fprofile_exclude_files_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2360
       "Instrument only functions from files where names don't match all the regexes separated by a semi-colon", nullptr, nullptr)
2361
OPTION(prefix_1, llvm::StringLiteral("fprofile-filter-files="), fprofile_filter_files_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2362
       "Instrument only functions from files where names match any regex separated by a semi-colon", nullptr, nullptr)
2363
OPTION(prefix_1, llvm::StringLiteral("fprofile-function-groups="), fprofile_function_groups, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2364
       "Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group", "<N>", nullptr)
2365
OPTION(prefix_1, llvm::StringLiteral("fprofile-generate-sampling"), fprofile_generate_sampling, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2366
OPTION(prefix_1, llvm::StringLiteral("fprofile-generate="), fprofile_generate_EQ, Joined, f_Group, INVALID, nullptr, CoreOption, 0,
2367
       "Generate instrumented code to collect execution counts into <directory>/default.profraw (overridden by LLVM_PROFILE_FILE env var)", "<directory>", nullptr)
2368
OPTION(prefix_1, llvm::StringLiteral("fprofile-generate"), fprofile_generate, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
2369
       "Generate instrumented code to collect execution counts into default.profraw (overridden by LLVM_PROFILE_FILE env var)", nullptr, nullptr)
2370
OPTION(prefix_1, llvm::StringLiteral("fprofile-instr-generate="), fprofile_instr_generate_EQ, Joined, f_Group, INVALID, nullptr, CoreOption, 0,
2371
       "Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)", "<file>", nullptr)
2372
OPTION(prefix_1, llvm::StringLiteral("fprofile-instr-generate"), fprofile_instr_generate, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
2373
       "Generate instrumented code to collect execution counts into default.profraw file (overridden by '=' form of option or LLVM_PROFILE_FILE env var)", nullptr, nullptr)
2374
OPTION(prefix_1, llvm::StringLiteral("fprofile-instr-use="), fprofile_instr_use_EQ, Joined, f_Group, INVALID, nullptr, CoreOption, 0,
2375
       "Use instrumentation data for profile-guided optimization", nullptr, nullptr)
2376
OPTION(prefix_1, llvm::StringLiteral("fprofile-instr-use"), fprofile_instr_use, Flag, f_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
2377
OPTION(prefix_1, llvm::StringLiteral("fprofile-instrument-path="), fprofile_instrument_path_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2378
       "Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)", nullptr, nullptr)
2379
OPTION(prefix_1, llvm::StringLiteral("fprofile-instrument-use-path="), fprofile_instrument_use_path_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2380
       "Specify the profile path in PGO use compilation", nullptr, nullptr)
2381
OPTION(prefix_1, llvm::StringLiteral("fprofile-instrument="), fprofile_instrument_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2382
       "Enable PGO instrumentation", nullptr, "none,clang,llvm,csllvm")
2383
OPTION(prefix_1, llvm::StringLiteral("fprofile-list="), fprofile_list_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2384
       "Filename defining the list of functions/files to instrument", nullptr, nullptr)
2385
OPTION(prefix_1, llvm::StringLiteral("fprofile-remapping-file="), fprofile_remapping_file_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2386
       "Use the remappings described in <file> to match the profile data against names in the program", "<file>", nullptr)
2387
OPTION(prefix_1, llvm::StringLiteral("fprofile-reusedist"), fprofile_reusedist, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2388
OPTION(prefix_1, llvm::StringLiteral("fprofile-sample-accurate"), fprofile_sample_accurate, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
2389
       "Specifies that the sample profile is accurate", nullptr, nullptr)
2390
OPTION(prefix_1, llvm::StringLiteral("fprofile-sample-use="), fprofile_sample_use_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
2391
       "Enable sample-based profile guided optimizations", nullptr, nullptr)
2392
OPTION(prefix_1, llvm::StringLiteral("fprofile-sample-use"), fprofile_sample_use, Flag, f_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
2393
OPTION(prefix_1, llvm::StringLiteral("fprofile-selected-function-group="), fprofile_selected_function_group, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2394
       "Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive", "<i>", nullptr)
2395
OPTION(prefix_1, llvm::StringLiteral("fprofile-update="), fprofile_update_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2396
       "Set update method of profile counters", "<method>", "atomic,prefer-atomic,single")
2397
OPTION(prefix_1, llvm::StringLiteral("fprofile-use="), fprofile_use_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
2398
       "Use instrumentation data for profile-guided optimization. If pathname is a directory, it reads from <pathname>/default.profdata. Otherwise, it reads from file <pathname>.", "<pathname>", nullptr)
2399
OPTION(prefix_1, llvm::StringLiteral("fprofile-use"), fprofile_use, Flag, f_Group, fprofile_instr_use, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
2400
OPTION(prefix_1, llvm::StringLiteral("fprofile-values"), fprofile_values, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2401
OPTION(prefix_1, llvm::StringLiteral("fprofile"), fprofile, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2402
OPTION(prefix_1, llvm::StringLiteral("fprotect-parens"), fprotect_parens, Flag, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
2403
       "Determines whether the optimizer honors parentheses when floating-point expressions are evaluated", nullptr, nullptr)
2404
OPTION(prefix_1, llvm::StringLiteral("fpseudo-probe-for-profiling"), fpseudo_probe_for_profiling, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
2405
       "Emit pseudo probes for sample profiling", nullptr, nullptr)
2406
OPTION(prefix_2, llvm::StringLiteral("Fp"), _SLASH_Fp, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
2407
       "Set pch file name (with /Yc and /Yu)", "<file>", nullptr)
2408
OPTION(prefix_1, llvm::StringLiteral("framework"), framework, Separate, INVALID, INVALID, nullptr, LinkerInput, 0, nullptr, nullptr, nullptr)
2409
OPTION(prefix_1, llvm::StringLiteral("frandom-seed="), frandom_seed_EQ, Joined, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2410
OPTION(prefix_1, llvm::StringLiteral("frandomize-layout-seed-file="), frandomize_layout_seed_file_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option, 0,
2411
       "File holding the seed used by the randomize structure layout feature", "<file>", nullptr)
2412
OPTION(prefix_1, llvm::StringLiteral("frandomize-layout-seed="), frandomize_layout_seed_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option, 0,
2413
       "The seed used by the randomize structure layout feature", "<seed>", nullptr)
2414
OPTION(prefix_1, llvm::StringLiteral("frange-check"), frange_check, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2415
OPTION(prefix_1, llvm::StringLiteral("freal-4-real-10"), freal_4_real_10, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2416
OPTION(prefix_1, llvm::StringLiteral("freal-4-real-16"), freal_4_real_16, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2417
OPTION(prefix_1, llvm::StringLiteral("freal-4-real-8"), freal_4_real_8, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2418
OPTION(prefix_1, llvm::StringLiteral("freal-8-real-10"), freal_8_real_10, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2419
OPTION(prefix_1, llvm::StringLiteral("freal-8-real-16"), freal_8_real_16, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2420
OPTION(prefix_1, llvm::StringLiteral("freal-8-real-4"), freal_8_real_4, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2421
OPTION(prefix_1, llvm::StringLiteral("frealloc-lhs"), frealloc_lhs, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2422
OPTION(prefix_1, llvm::StringLiteral("freciprocal-math"), freciprocal_math, Flag, f_Group, INVALID, nullptr, CC1Option | FC1Option | FlangOption, 0,
2423
       "Allow division operations to be reassociated", nullptr, nullptr)
2424
OPTION(prefix_1, llvm::StringLiteral("frecord-command-line"), frecord_command_line, Flag, f_clang_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2425
OPTION(prefix_1, llvm::StringLiteral("frecord-gcc-switches"), anonymous_289, Flag, INVALID, frecord_command_line, nullptr, 0, 0, nullptr, nullptr, nullptr)
2426
OPTION(prefix_1, llvm::StringLiteral("frecord-marker="), frecord_marker_EQ, Joined, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2427
OPTION(prefix_1, llvm::StringLiteral("frecovery-ast-type"), frecovery_ast_type, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2428
       "Preserve the type for recovery expressions when possible", nullptr, nullptr)
2429
OPTION(prefix_1, llvm::StringLiteral("frecovery-ast"), frecovery_ast, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2430
       "Preserve expressions in AST rather than dropping them when encountering semantic errors", nullptr, nullptr)
2431
OPTION(prefix_1, llvm::StringLiteral("frecursive"), frecursive, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2432
OPTION(prefix_1, llvm::StringLiteral("freg-struct-return"), freg_struct_return, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2433
       "Override the default ABI to return small structs in registers", nullptr, nullptr)
2434
OPTION(prefix_1, llvm::StringLiteral("fregister-global-dtors-with-atexit"), fregister_global_dtors_with_atexit, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2435
       "Use atexit or __cxa_atexit to register global destructors", nullptr, nullptr)
2436
OPTION(prefix_1, llvm::StringLiteral("fregs-graph"), fregs_graph, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2437
OPTION(prefix_1, llvm::StringLiteral("frelaxed-template-template-args"), frelaxed_template_template_args, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2438
       "Enable C++17 relaxed template template argument matching", nullptr, nullptr)
2439
OPTION(prefix_1, llvm::StringLiteral("frename-registers"), frename_registers, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2440
OPTION(prefix_1, llvm::StringLiteral("freorder-blocks"), freorder_blocks, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2441
OPTION(prefix_1, llvm::StringLiteral("frepack-arrays"), frepack_arrays, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2442
OPTION(prefix_1, llvm::StringLiteral("freroll-loops"), freroll_loops, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2443
       "Turn on loop reroller", nullptr, nullptr)
2444
OPTION(prefix_1, llvm::StringLiteral("fretain-comments-from-system-headers"), fretain_comments_from_system_headers, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
2445
OPTION(prefix_1, llvm::StringLiteral("frewrite-imports"), frewrite_imports, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2446
       "", nullptr, nullptr)
2447
OPTION(prefix_1, llvm::StringLiteral("frewrite-includes"), frewrite_includes, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2448
       "", nullptr, nullptr)
2449
OPTION(prefix_1, llvm::StringLiteral("frewrite-map-file="), frewrite_map_file_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0, nullptr, nullptr, nullptr)
2450
OPTION(prefix_1, llvm::StringLiteral("fripa"), fripa, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2451
OPTION(prefix_1, llvm::StringLiteral("fropi"), fropi, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2452
       "Generate read-only position independent code (ARM only)", nullptr, nullptr)
2453
OPTION(prefix_1, llvm::StringLiteral("frounding-math"), frounding_math, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
2454
OPTION(prefix_1, llvm::StringLiteral("frtlib-add-rpath"), frtlib_add_rpath, Flag, INVALID, INVALID, nullptr, NoArgumentUnused, 0,
2455
       "Add -rpath with architecture-specific resource directory to the linker flags", nullptr, nullptr)
2456
OPTION(prefix_1, llvm::StringLiteral("frtti-data"), frtti_data, Flag, f_Group, INVALID, nullptr, 0, 0,
2457
       "", nullptr, nullptr)
2458
OPTION(prefix_1, llvm::StringLiteral("frtti"), frtti, Flag, f_Group, INVALID, nullptr, 0, 0,
2459
       "", nullptr, nullptr)
2460
OPTION(prefix_1, llvm::StringLiteral("frwpi"), frwpi, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2461
       "Generate read-write position independent code (ARM only)", nullptr, nullptr)
2462
OPTION(prefix_2, llvm::StringLiteral("FR"), _SLASH_FR, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2463
OPTION(prefix_2, llvm::StringLiteral("Fr"), _SLASH_Fr, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2464
OPTION(prefix_1, llvm::StringLiteral("fsample-profile-use-profi"), fsample_profile_use_profi, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
2465
       "Use profi to infer block and edge counts", nullptr, nullptr)
2466
OPTION(prefix_1, llvm::StringLiteral("fsanitize-address-destructor="), sanitize_address_destructor_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2467
       "Set destructor type used in ASan instrumentation", nullptr, "none,global")
2468
OPTION(prefix_1, llvm::StringLiteral("fsanitize-address-field-padding="), fsanitize_address_field_padding, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2469
       "Level of field padding for AddressSanitizer", nullptr, nullptr)
2470
OPTION(prefix_1, llvm::StringLiteral("fsanitize-address-globals-dead-stripping"), fsanitize_address_globals_dead_stripping, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2471
       "Enable linker dead stripping of globals in AddressSanitizer", nullptr, nullptr)
2472
OPTION(prefix_1, llvm::StringLiteral("fsanitize-address-outline-instrumentation"), fsanitize_address_outline_instrumentation, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2473
       "Always generate function calls for address sanitizer instrumentation", nullptr, nullptr)
2474
OPTION(prefix_1, llvm::StringLiteral("fsanitize-address-poison-custom-array-cookie"), fsanitize_address_poison_custom_array_cookie, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2475
       "Enable poisoning array cookies when using custom operator new[] in AddressSanitizer", nullptr, nullptr)
2476
OPTION(prefix_1, llvm::StringLiteral("fsanitize-address-use-after-return="), sanitize_address_use_after_return_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2477
       "Select the mode of detecting stack use-after-return in AddressSanitizer", "<mode>", "never,runtime,always")
2478
OPTION(prefix_2, llvm::StringLiteral("fsanitize-address-use-after-return"), _SLASH_fsanitize_address_use_after_return, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2479
OPTION(prefix_1, llvm::StringLiteral("fsanitize-address-use-after-scope"), fsanitize_address_use_after_scope, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2480
       "Enable use-after-scope detection in AddressSanitizer", nullptr, nullptr)
2481
OPTION(prefix_1, llvm::StringLiteral("fsanitize-address-use-odr-indicator"), fsanitize_address_use_odr_indicator, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2482
       "Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size", nullptr, nullptr)
2483
OPTION(prefix_1, llvm::StringLiteral("fsanitize-blacklist="), anonymous_465, Joined, f_clang_Group, fsanitize_ignorelist_EQ, nullptr, CC1Option | CoreOption, 0,
2484
       "Alias for -fsanitize-ignorelist=", nullptr, nullptr)
2485
OPTION(prefix_1, llvm::StringLiteral("fsanitize-cfi-canonical-jump-tables"), fsanitize_cfi_canonical_jump_tables, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2486
       "Make the jump table addresses canonical in the symbol table", nullptr, nullptr)
2487
OPTION(prefix_1, llvm::StringLiteral("fsanitize-cfi-cross-dso"), fsanitize_cfi_cross_dso, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2488
       "Enable control flow integrity (CFI) checks for cross-DSO calls.", nullptr, nullptr)
2489
OPTION(prefix_1, llvm::StringLiteral("fsanitize-cfi-icall-generalize-pointers"), fsanitize_cfi_icall_generalize_pointers, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2490
       "Generalize pointers in CFI indirect call type signature checks", nullptr, nullptr)
2491
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-8bit-counters"), fsanitize_coverage_8bit_counters, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2492
       "Enable frequency counters in sanitizer coverage", nullptr, nullptr)
2493
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-allowlist="), fsanitize_coverage_allowlist, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2494
       "Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones", nullptr, nullptr)
2495
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-control-flow"), fsanitize_coverage_control_flow, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2496
       "Collect control flow of function", nullptr, nullptr)
2497
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-ignorelist="), fsanitize_coverage_ignorelist, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2498
       "Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones", nullptr, nullptr)
2499
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-indirect-calls"), fsanitize_coverage_indirect_calls, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2500
       "Enable sanitizer coverage for indirect calls", nullptr, nullptr)
2501
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-inline-8bit-counters"), fsanitize_coverage_inline_8bit_counters, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2502
       "Enable inline 8-bit counters in sanitizer coverage", nullptr, nullptr)
2503
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-inline-bool-flag"), fsanitize_coverage_inline_bool_flag, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2504
       "Enable inline bool flag in sanitizer coverage", nullptr, nullptr)
2505
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-no-prune"), fsanitize_coverage_no_prune, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2506
       "Disable coverage pruning (i.e. instrument all blocks/edges)", nullptr, nullptr)
2507
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-pc-table"), fsanitize_coverage_pc_table, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2508
       "Create a table of coverage-instrumented PCs", nullptr, nullptr)
2509
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-stack-depth"), fsanitize_coverage_stack_depth, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2510
       "Enable max stack depth tracing", nullptr, nullptr)
2511
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-bb"), fsanitize_coverage_trace_bb, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2512
       "Enable basic block tracing in sanitizer coverage", nullptr, nullptr)
2513
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-cmp"), fsanitize_coverage_trace_cmp, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2514
       "Enable cmp instruction tracing in sanitizer coverage", nullptr, nullptr)
2515
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-div"), fsanitize_coverage_trace_div, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2516
       "Enable div instruction tracing in sanitizer coverage", nullptr, nullptr)
2517
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-gep"), fsanitize_coverage_trace_gep, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2518
       "Enable gep instruction tracing in sanitizer coverage", nullptr, nullptr)
2519
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-loads"), fsanitize_coverage_trace_loads, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2520
       "Enable tracing of loads", nullptr, nullptr)
2521
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-pc-guard"), fsanitize_coverage_trace_pc_guard, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2522
       "Enable PC tracing with guard in sanitizer coverage", nullptr, nullptr)
2523
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-pc"), fsanitize_coverage_trace_pc, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2524
       "Enable PC tracing in sanitizer coverage", nullptr, nullptr)
2525
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-stores"), fsanitize_coverage_trace_stores, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2526
       "Enable tracing of stores", nullptr, nullptr)
2527
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage-type="), fsanitize_coverage_type, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2528
       "Sanitizer coverage type", nullptr, nullptr)
2529
OPTION(prefix_1, llvm::StringLiteral("fsanitize-coverage="), fsanitize_coverage, CommaJoined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2530
       "Specify the type of coverage instrumentation for Sanitizers", nullptr, nullptr)
2531
OPTION(prefix_1, llvm::StringLiteral("fsanitize-hwaddress-abi="), fsanitize_hwaddress_abi_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2532
       "Select the HWAddressSanitizer ABI to target (interceptor or platform, default interceptor). This option is currently unused.", nullptr, nullptr)
2533
OPTION(prefix_1, llvm::StringLiteral("fsanitize-hwaddress-experimental-aliasing"), fsanitize_hwaddress_experimental_aliasing, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2534
       "Enable aliasing mode in HWAddressSanitizer", nullptr, nullptr)
2535
OPTION(prefix_1, llvm::StringLiteral("fsanitize-ignorelist="), fsanitize_ignorelist_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2536
       "Path to ignorelist file for sanitizers", nullptr, nullptr)
2537
OPTION(prefix_1, llvm::StringLiteral("fsanitize-link-c++-runtime"), fsanitize_link_cxx_runtime, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0, nullptr, nullptr, nullptr)
2538
OPTION(prefix_1, llvm::StringLiteral("fsanitize-link-runtime"), fsanitize_link_runtime, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0, nullptr, nullptr, nullptr)
2539
OPTION(prefix_1, llvm::StringLiteral("fsanitize-memory-param-retval"), fsanitize_memory_param_retval, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2540
       "Enable detection of uninitialized parameters and return values", nullptr, nullptr)
2541
OPTION(prefix_1, llvm::StringLiteral("fsanitize-memory-track-origins="), fsanitize_memory_track_origins_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2542
       "Enable origins tracking in MemorySanitizer", nullptr, nullptr)
2543
OPTION(prefix_1, llvm::StringLiteral("fsanitize-memory-track-origins"), fsanitize_memory_track_origins, Flag, f_clang_Group, fsanitize_memory_track_origins_EQ, "2\0", CC1Option | CoreOption, 0,
2544
       "Enable origins tracking in MemorySanitizer", nullptr, nullptr)
2545
OPTION(prefix_1, llvm::StringLiteral("fsanitize-memory-use-after-dtor"), fsanitize_memory_use_after_dtor, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2546
       "Enable use-after-destroy detection in MemorySanitizer", nullptr, nullptr)
2547
OPTION(prefix_1, llvm::StringLiteral("fsanitize-memtag-mode="), fsanitize_memtag_mode_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2548
       "Set default MTE mode to 'sync' (default) or 'async'", nullptr, nullptr)
2549
OPTION(prefix_1, llvm::StringLiteral("fsanitize-minimal-runtime"), fsanitize_minimal_runtime, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2550
       "", nullptr, nullptr)
2551
OPTION(prefix_1, llvm::StringLiteral("fsanitize-recover="), fsanitize_recover_EQ, CommaJoined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2552
       "Enable recovery for specified sanitizers", nullptr, nullptr)
2553
OPTION(prefix_1, llvm::StringLiteral("fsanitize-recover"), fsanitize_recover, Flag, f_clang_Group, fsanitize_recover_EQ, "all\0", CC1Option | CoreOption, 0, nullptr, nullptr, nullptr)
2554
OPTION(prefix_1, llvm::StringLiteral("fsanitize-stats"), fsanitize_stats, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2555
       "Enable sanitizer statistics gathering.", nullptr, nullptr)
2556
OPTION(prefix_1, llvm::StringLiteral("fsanitize-system-blacklist="), anonymous_466, Joined, INVALID, fsanitize_system_ignorelist_EQ, nullptr, CC1Option | CoreOption, 0,
2557
       "Alias for -fsanitize-system-ignorelist=", nullptr, nullptr)
2558
OPTION(prefix_1, llvm::StringLiteral("fsanitize-system-ignorelist="), fsanitize_system_ignorelist_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | CoreOption, 0,
2559
       "Path to system ignorelist file for sanitizers", nullptr, nullptr)
2560
OPTION(prefix_1, llvm::StringLiteral("fsanitize-thread-atomics"), fsanitize_thread_atomics, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2561
       "Enable atomic operations instrumentation in ThreadSanitizer (default)", nullptr, nullptr)
2562
OPTION(prefix_1, llvm::StringLiteral("fsanitize-thread-func-entry-exit"), fsanitize_thread_func_entry_exit, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2563
       "Enable function entry/exit instrumentation in ThreadSanitizer (default)", nullptr, nullptr)
2564
OPTION(prefix_1, llvm::StringLiteral("fsanitize-thread-memory-access"), fsanitize_thread_memory_access, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2565
       "Enable memory access instrumentation in ThreadSanitizer (default)", nullptr, nullptr)
2566
OPTION(prefix_1, llvm::StringLiteral("fsanitize-trap="), fsanitize_trap_EQ, CommaJoined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2567
       "Enable trapping for specified sanitizers", nullptr, nullptr)
2568
OPTION(prefix_1, llvm::StringLiteral("fsanitize-trap"), fsanitize_trap, Flag, f_clang_Group, fsanitize_trap_EQ, "all\0", CC1Option | CoreOption, 0,
2569
       "Enable trapping for all sanitizers", nullptr, nullptr)
2570
OPTION(prefix_1, llvm::StringLiteral("fsanitize-undefined-strip-path-components="), fsanitize_undefined_strip_path_components_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2571
       "Strip (or keep only, if negative) a given number of path components when emitting check metadata.", "<number>", nullptr)
2572
OPTION(prefix_1, llvm::StringLiteral("fsanitize-undefined-trap-on-error"), fsanitize_undefined_trap_on_error, Flag, f_clang_Group, fsanitize_trap_EQ, "undefined\0", CC1Option | CoreOption, 0, nullptr, nullptr, nullptr)
2573
OPTION(prefix_2, llvm::StringLiteral("fsanitize=address"), _SLASH_fsanitize_EQ_address, Flag, cl_Group, fsanitize_EQ, "address\0", CLOption | NoXarchOption | CLDXCOption, 0,
2574
       "Enable AddressSanitizer", nullptr, nullptr)
2575
OPTION(prefix_1, llvm::StringLiteral("fsanitize="), fsanitize_EQ, CommaJoined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2576
       "Turn on runtime checks for various forms of undefined or suspicious behavior. See user manual for available checks", "<check>", nullptr)
2577
OPTION(prefix_1, llvm::StringLiteral("fsave-optimization-record="), fsave_optimization_record_EQ, Joined, f_Group, INVALID, nullptr, 0, 0,
2578
       "Generate an optimization record file in a specific format", "<format>", nullptr)
2579
OPTION(prefix_1, llvm::StringLiteral("fsave-optimization-record"), fsave_optimization_record, Flag, f_Group, INVALID, nullptr, 0, 0,
2580
       "Generate a YAML optimization record file", nullptr, nullptr)
2581
OPTION(prefix_1, llvm::StringLiteral("fsched-interblock"), anonymous_986, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2582
OPTION(prefix_1, llvm::StringLiteral("fschedule-insns2"), fschedule_insns2, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2583
OPTION(prefix_1, llvm::StringLiteral("fschedule-insns"), fschedule_insns, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2584
OPTION(prefix_1, llvm::StringLiteral("fsecond-underscore"), fsecond_underscore, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2585
OPTION(prefix_1, llvm::StringLiteral("fsee"), fsee, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2586
OPTION(prefix_1, llvm::StringLiteral("fseh-exceptions"), fseh_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
2587
       "Use SEH style exceptions", nullptr, nullptr)
2588
OPTION(prefix_1, llvm::StringLiteral("fsemantic-interposition"), fsemantic_interposition, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2589
       "", nullptr, nullptr)
2590
OPTION(prefix_1, llvm::StringLiteral("fshort-enums"), fshort_enums, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2591
       "Allocate to an enum type only as many bytes as it needs for the declared range of possible values", nullptr, nullptr)
2592
OPTION(prefix_1, llvm::StringLiteral("fshort-wchar"), fshort_wchar, Flag, f_Group, INVALID, nullptr, 0, 0,
2593
       "Force wchar_t to be a short unsigned int", nullptr, nullptr)
2594
OPTION(prefix_1, llvm::StringLiteral("fshow-column"), fshow_column, Flag, f_Group, INVALID, nullptr, 0, 0,
2595
       "", nullptr, nullptr)
2596
OPTION(prefix_1, llvm::StringLiteral("fshow-overloads="), fshow_overloads_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2597
       "Which overload candidates to show when overload resolution fails. Defaults to 'all'", nullptr, "best,all")
2598
OPTION(prefix_1, llvm::StringLiteral("fshow-skipped-includes"), fshow_skipped_includes, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
2599
       "Show skipped includes in -H output.", nullptr, nullptr)
2600
OPTION(prefix_1, llvm::StringLiteral("fshow-source-location"), fshow_source_location, Flag, f_Group, INVALID, nullptr, 0, 0,
2601
       "", nullptr, nullptr)
2602
OPTION(prefix_1, llvm::StringLiteral("fsign-zero"), fsign_zero, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2603
OPTION(prefix_1, llvm::StringLiteral("fsignaling-math"), fsignaling_math, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2604
OPTION(prefix_1, llvm::StringLiteral("fsignaling-nans"), fsignaling_nans, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2605
OPTION(prefix_1, llvm::StringLiteral("fsigned-bitfields"), fsigned_bitfields, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2606
OPTION(prefix_1, llvm::StringLiteral("fsigned-char"), fsigned_char, Flag, f_Group, INVALID, nullptr, 0, 0,
2607
       "char is signed", nullptr, nullptr)
2608
OPTION(prefix_1, llvm::StringLiteral("fsigned-wchar"), fsigned_wchar, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2609
       "Use a signed type for wchar_t", nullptr, nullptr)
2610
OPTION(prefix_1, llvm::StringLiteral("fsigned-zeros"), fsigned_zeros, Flag, f_Group, INVALID, nullptr, 0, 0,
2611
       "", nullptr, nullptr)
2612
OPTION(prefix_1, llvm::StringLiteral("fsingle-precision-constant"), fsingle_precision_constant, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2613
OPTION(prefix_1, llvm::StringLiteral("fsized-deallocation"), fsized_deallocation, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2614
       "Enable C++14 sized global deallocation functions", nullptr, nullptr)
2615
OPTION(prefix_1, llvm::StringLiteral("fsjlj-exceptions"), fsjlj_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
2616
       "Use SjLj style exceptions", nullptr, nullptr)
2617
OPTION(prefix_1, llvm::StringLiteral("fslp-vectorize-aggressive"), anonymous_0, Flag, clang_ignored_legacy_options_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2618
OPTION(prefix_1, llvm::StringLiteral("fslp-vectorize"), fslp_vectorize, Flag, f_Group, INVALID, nullptr, 0, 0,
2619
       "Enable the superword-level parallelism vectorization passes", nullptr, nullptr)
2620
OPTION(prefix_1, llvm::StringLiteral("fspec-constr-count"), fspec_constr_count, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2621
OPTION(prefix_1, llvm::StringLiteral("fspell-checking-limit="), fspell_checking_limit_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2622
OPTION(prefix_1, llvm::StringLiteral("fspell-checking-limit"), fspell_checking_limit, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2623
       "Set the maximum number of times to perform spell checking on unrecognized identifiers (0 = no limit).", "<N>", nullptr)
2624
OPTION(prefix_1, llvm::StringLiteral("fspell-checking"), fspell_checking, Flag, f_Group, INVALID, nullptr, 0, 0,
2625
       "", nullptr, nullptr)
2626
OPTION(prefix_1, llvm::StringLiteral("fsplit-dwarf-inlining"), fsplit_dwarf_inlining, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2627
       "Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF", nullptr, nullptr)
2628
OPTION(prefix_1, llvm::StringLiteral("fsplit-lto-unit"), fsplit_lto_unit, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2629
       "Enables splitting of the LTO unit", nullptr, nullptr)
2630
OPTION(prefix_1, llvm::StringLiteral("fsplit-machine-functions"), fsplit_machine_functions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2631
       "Enable late function splitting using profile information (x86 ELF)", nullptr, nullptr)
2632
OPTION(prefix_1, llvm::StringLiteral("fsplit-stack"), fsplit_stack, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2633
       "Use segmented stack", nullptr, nullptr)
2634
OPTION(prefix_1, llvm::StringLiteral("fstack-arrays"), fstack_arrays, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2635
OPTION(prefix_1, llvm::StringLiteral("fstack-check"), fstack_check, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2636
OPTION(prefix_1, llvm::StringLiteral("fstack-clash-protection"), fstack_clash_protection, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2637
       "Enable stack clash protection", nullptr, nullptr)
2638
OPTION(prefix_1, llvm::StringLiteral("fstack-protector-all"), fstack_protector_all, Flag, f_Group, INVALID, nullptr, 0, 0,
2639
       "Enable stack protectors for all functions", nullptr, nullptr)
2640
OPTION(prefix_1, llvm::StringLiteral("fstack-protector-strong"), fstack_protector_strong, Flag, f_Group, INVALID, nullptr, 0, 0,
2641
       "Enable stack protectors for some functions vulnerable to stack smashing. Compared to -fstack-protector, this uses a stronger heuristic that includes functions containing arrays of any size (and any type), as well as any calls to alloca or the taking of an address from a local variable", nullptr, nullptr)
2642
OPTION(prefix_1, llvm::StringLiteral("fstack-protector"), fstack_protector, Flag, f_Group, INVALID, nullptr, 0, 0,
2643
       "Enable stack protectors for some functions vulnerable to stack smashing. This uses a loose heuristic which considers functions vulnerable if they contain a char (or 8bit integer) array or constant sized calls to alloca , which are of greater size than ssp-buffer-size (default: 8 bytes). All variable sized calls to alloca are considered vulnerable. A function with a stack protector has a guard value added to the stack frame that is checked on function exit. The guard value must be positioned in the stack frame such that a buffer overflow from a vulnerable variable will overwrite the guard value before overwriting the function's return address. The reference stack guard value is stored in a global variable.", nullptr, nullptr)
2644
OPTION(prefix_1, llvm::StringLiteral("fstack-size-section"), fstack_size_section, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2645
       "Emit section containing metadata on function stack sizes", nullptr, nullptr)
2646
OPTION(prefix_1, llvm::StringLiteral("fstack-usage"), fstack_usage, Flag, f_Group, INVALID, nullptr, 0, 0,
2647
       "Emit .su file containing information on function stack sizes", nullptr, nullptr)
2648
OPTION(prefix_1, llvm::StringLiteral("fstandalone-debug"), fstandalone_debug, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
2649
       "Emit full debug info for all types used by the program", nullptr, nullptr)
2650
OPTION(prefix_1, llvm::StringLiteral("fstrength-reduce"), fstrength_reduce, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2651
OPTION(prefix_1, llvm::StringLiteral("fstrict-aliasing"), fstrict_aliasing, Flag, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0, nullptr, nullptr, nullptr)
2652
OPTION(prefix_1, llvm::StringLiteral("fstrict-enums"), fstrict_enums, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2653
       "Enable optimizations based on the strict definition of an enum's value range", nullptr, nullptr)
2654
OPTION(prefix_1, llvm::StringLiteral("fstrict-flex-arrays="), fstrict_flex_arrays_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2655
       "Enable optimizations based on the strict definition of flexible arrays", "<n>", "0,1,2,3")
2656
OPTION(prefix_1, llvm::StringLiteral("fstrict-float-cast-overflow"), fstrict_float_cast_overflow, Flag, f_Group, INVALID, nullptr, 0, 0,
2657
       "Assume that overflowing float-to-int casts are undefined (default)", nullptr, nullptr)
2658
OPTION(prefix_1, llvm::StringLiteral("fstrict-overflow"), fstrict_overflow, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2659
OPTION(prefix_1, llvm::StringLiteral("fstrict-return"), fstrict_return, Flag, f_Group, INVALID, nullptr, 0, 0,
2660
       "", nullptr, nullptr)
2661
OPTION(prefix_1, llvm::StringLiteral("fstrict-vtable-pointers"), fstrict_vtable_pointers, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2662
       "Enable optimizations based on the strict rules for overwriting polymorphic C++ objects", nullptr, nullptr)
2663
OPTION(prefix_1, llvm::StringLiteral("fstruct-path-tbaa"), fstruct_path_tbaa, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2664
OPTION(prefix_1, llvm::StringLiteral("fswift-async-fp="), fswift_async_fp_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CC1AsOption | CoreOption, 0,
2665
       "Control emission of Swift async extended frame info", "<option>", "auto,always,never")
2666
OPTION(prefix_1, llvm::StringLiteral("fsycl-is-device"), fsycl_is_device, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2667
       "Generate code for SYCL device.", nullptr, nullptr)
2668
OPTION(prefix_1, llvm::StringLiteral("fsycl-is-host"), fsycl_is_host, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2669
       "SYCL host compilation", nullptr, nullptr)
2670
OPTION(prefix_1, llvm::StringLiteral("fsycl"), fsycl, Flag, sycl_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
2671
       "Enables SYCL kernels compilation for device", nullptr, nullptr)
2672
OPTION(prefix_1, llvm::StringLiteral("fsymbol-partition="), fsymbol_partition_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
2673
OPTION(prefix_1, llvm::StringLiteral("fsyntax-only"), fsyntax_only, Flag, Action_Group, INVALID, nullptr, NoXarchOption | CoreOption | CC1Option | FC1Option | FlangOption, 0,
2674
       "Run the preprocessor, parser and semantic analysis stages", nullptr, nullptr)
2675
OPTION(prefix_1, llvm::StringLiteral("fsystem-module"), fsystem_module, Flag, INVALID, INVALID, nullptr, CC1Option | CoreOption, 0,
2676
       "Build this module as a system module. Only used with -emit-module", nullptr, nullptr)
2677
OPTION(prefix_2, llvm::StringLiteral("FS"), _SLASH_FS, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
2678
OPTION(prefix_1, llvm::StringLiteral("ftabstop="), ftabstop_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2679
OPTION(prefix_1, llvm::StringLiteral("ftabstop"), ftabstop, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2680
       "Set the tab stop distance.", "<N>", nullptr)
2681
OPTION(prefix_1, llvm::StringLiteral("ftemplate-backtrace-limit="), ftemplate_backtrace_limit_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2682
OPTION(prefix_1, llvm::StringLiteral("ftemplate-backtrace-limit"), ftemplate_backtrace_limit, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2683
       "Set the maximum number of entries to print in a template instantiation backtrace (0 = no limit).", "<N>", nullptr)
2684
OPTION(prefix_1, llvm::StringLiteral("ftemplate-depth-"), ftemplate_depth_, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2685
OPTION(prefix_1, llvm::StringLiteral("ftemplate-depth="), ftemplate_depth_EQ, Joined, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2686
OPTION(prefix_1, llvm::StringLiteral("ftemplate-depth"), ftemplate_depth, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2687
       "Maximum depth of recursive template instantiation", nullptr, nullptr)
2688
OPTION(prefix_1, llvm::StringLiteral("fterminated-vtables"), anonymous_1060, Flag, INVALID, fapple_kext, nullptr, 0, 0, nullptr, nullptr, nullptr)
2689
OPTION(prefix_1, llvm::StringLiteral("ftest-coverage"), ftest_coverage, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2690
       "", nullptr, nullptr)
2691
OPTION(prefix_1, llvm::StringLiteral("ftest-module-file-extension="), ftest_module_file_extension_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2692
       "introduce a module file extension for testing purposes. The argument is parsed as blockname:major:minor:hashed:user info", nullptr, nullptr)
2693
OPTION(prefix_1, llvm::StringLiteral("fthin-link-bitcode="), fthin_link_bitcode_EQ, Joined, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
2694
       "Write minimized bitcode to <file> for the ThinLTO thin link only", nullptr, nullptr)
2695
OPTION(prefix_1, llvm::StringLiteral("fthinlto-index="), fthinlto_index_EQ, Joined, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
2696
       "Perform ThinLTO importing using provided function summary index", nullptr, nullptr)
2697
OPTION(prefix_1, llvm::StringLiteral("fthreadsafe-statics"), fthreadsafe_statics, Flag, f_Group, INVALID, nullptr, 0, 0,
2698
       "", nullptr, nullptr)
2699
OPTION(prefix_1, llvm::StringLiteral("ftime-report="), ftime_report_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2700
       "(For new pass manager) 'per-pass': one report for each pass; 'per-pass-run': one report for each pass invocation", nullptr, "per-pass,per-pass-run")
2701
OPTION(prefix_1, llvm::StringLiteral("ftime-report"), ftime_report, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
2702
OPTION(prefix_1, llvm::StringLiteral("ftime-trace-granularity="), ftime_trace_granularity_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2703
       "Minimum time granularity (in microseconds) traced by time profiler", nullptr, nullptr)
2704
OPTION(prefix_1, llvm::StringLiteral("ftime-trace="), ftime_trace_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2705
       "Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file", nullptr, nullptr)
2706
OPTION(prefix_1, llvm::StringLiteral("ftime-trace"), ftime_trace, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2707
       "Turn on time profiler. Generates JSON file based on output filename.", nullptr, nullptr)
2708
OPTION(prefix_1, llvm::StringLiteral("ftls-model="), ftlsmodel_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, "global-dynamic,local-dynamic,initial-exec,local-exec")
2709
OPTION(prefix_1, llvm::StringLiteral("ftls-model"), ftls_model, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2710
OPTION(prefix_1, llvm::StringLiteral("ftracer"), ftracer, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2711
OPTION(prefix_1, llvm::StringLiteral("ftrap-function="), ftrap_function_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2712
       "Issue call to specified function rather than a trap instruction", nullptr, nullptr)
2713
OPTION(prefix_1, llvm::StringLiteral("ftrapping-math"), ftrapping_math, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2714
OPTION(prefix_1, llvm::StringLiteral("ftrapv-handler="), ftrapv_handler_EQ, Joined, f_Group, INVALID, nullptr, 0, 0,
2715
       "Specify the function to be called on overflow", "<function name>", nullptr)
2716
OPTION(prefix_1, llvm::StringLiteral("ftrapv-handler"), ftrapv_handler, Separate, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
2717
OPTION(prefix_1, llvm::StringLiteral("ftrapv"), ftrapv, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2718
       "Trap on integer overflow", nullptr, nullptr)
2719
OPTION(prefix_1, llvm::StringLiteral("ftree-dce"), ftree_dce, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2720
OPTION(prefix_1, llvm::StringLiteral("ftree-salias"), ftree_salias, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2721
OPTION(prefix_1, llvm::StringLiteral("ftree-slp-vectorize"), anonymous_1057, Flag, INVALID, fslp_vectorize, nullptr, 0, 0, nullptr, nullptr, nullptr)
2722
OPTION(prefix_1, llvm::StringLiteral("ftree-ter"), ftree_ter, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2723
OPTION(prefix_1, llvm::StringLiteral("ftree-vectorizer-verbose"), ftree_vectorizer_verbose, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2724
OPTION(prefix_1, llvm::StringLiteral("ftree-vectorize"), anonymous_1055, Flag, INVALID, fvectorize, nullptr, 0, 0, nullptr, nullptr, nullptr)
2725
OPTION(prefix_1, llvm::StringLiteral("ftree-vrp"), ftree_vrp, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2726
OPTION(prefix_1, llvm::StringLiteral("ftrigraphs"), ftrigraphs, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2727
       "Process trigraph sequences", nullptr, nullptr)
2728
OPTION(prefix_1, llvm::StringLiteral("ftrivial-auto-var-init-stop-after="), ftrivial_auto_var_init_stop_after, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2729
       "Stop initializing trivial automatic stack variables after the specified number of instances", nullptr, nullptr)
2730
OPTION(prefix_1, llvm::StringLiteral("ftrivial-auto-var-init="), ftrivial_auto_var_init, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2731
       "Initialize trivial automatic stack variables. Defaults to 'uninitialized'", nullptr, "uninitialized,zero,pattern")
2732
OPTION(prefix_1, llvm::StringLiteral("ftype-visibility="), ftype_visibility, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2733
       "Default type visibility", nullptr, "default,hidden,internal,protected")
2734
OPTION(prefix_1, llvm::StringLiteral("function-alignment"), function_alignment, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2735
       "default alignment for functions", nullptr, nullptr)
2736
OPTION(prefix_1, llvm::StringLiteral("funderscoring"), funderscoring, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2737
OPTION(prefix_1, llvm::StringLiteral("funique-basic-block-section-names"), funique_basic_block_section_names, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2738
       "Use unique names for basic block sections (ELF Only)", nullptr, nullptr)
2739
OPTION(prefix_1, llvm::StringLiteral("funique-internal-linkage-names"), funique_internal_linkage_names, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2740
       "Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path", nullptr, nullptr)
2741
OPTION(prefix_1, llvm::StringLiteral("funique-section-names"), funique_section_names, Flag, f_Group, INVALID, nullptr, 0, 0,
2742
       "", nullptr, nullptr)
2743
OPTION(prefix_1, llvm::StringLiteral("funit-at-a-time"), fanonymous_1414, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2744
OPTION(prefix_1, llvm::StringLiteral("funknown-anytype"), funknown_anytype, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2745
       "Enable parser support for the __unknown_anytype type; for testing purposes only", nullptr, nullptr)
2746
OPTION(prefix_1, llvm::StringLiteral("funroll-all-loops"), funroll_all_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2747
OPTION(prefix_1, llvm::StringLiteral("funroll-loops"), funroll_loops, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2748
       "Turn on loop unroller", nullptr, nullptr)
2749
OPTION(prefix_1, llvm::StringLiteral("funsafe-loop-optimizations"), funsafe_loop_optimizations, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2750
OPTION(prefix_1, llvm::StringLiteral("funsafe-math-optimizations"), funsafe_math_optimizations, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2751
       "Allow unsafe floating-point math optimizations which may decrease precision", nullptr, nullptr)
2752
OPTION(prefix_1, llvm::StringLiteral("funsigned-bitfields"), funsigned_bitfields, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2753
OPTION(prefix_1, llvm::StringLiteral("funsigned-char"), funsigned_char, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2754
OPTION(prefix_1, llvm::StringLiteral("funswitch-loops"), funswitch_loops, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2755
OPTION(prefix_1, llvm::StringLiteral("funwind-tables="), funwind_tables_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2756
       "Generate unwinding tables for all functions", nullptr, nullptr)
2757
OPTION(prefix_1, llvm::StringLiteral("funwind-tables"), funwind_tables, Flag, f_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2758
OPTION(prefix_1, llvm::StringLiteral("fuse-ctor-homing"), fuse_ctor_homing, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
2759
       "Use constructor homing if we are using limited debug info already", nullptr, nullptr)
2760
OPTION(prefix_1, llvm::StringLiteral("fuse-cuid="), fuse_cuid_EQ, Joined, INVALID, INVALID, nullptr, 0, 0,
2761
       "Method to generate ID's for compilation units for single source offloading languages CUDA and HIP: 'hash' (ID's generated by hashing file path and command line options) | 'random' (ID's generated as random numbers) | 'none' (disabled). Default is 'hash'. This option will be overridden by option '-cuid=[ID]' if it is specified.", nullptr, nullptr)
2762
OPTION(prefix_1, llvm::StringLiteral("fuse-cxa-atexit"), fuse_cxa_atexit, Flag, f_Group, INVALID, nullptr, 0, 0,
2763
       "", nullptr, nullptr)
2764
OPTION(prefix_1, llvm::StringLiteral("fuse-init-array"), fuse_init_array, Flag, f_Group, INVALID, nullptr, 0, 0,
2765
       "", nullptr, nullptr)
2766
OPTION(prefix_1, llvm::StringLiteral("fuse-ld="), fuse_ld_EQ, Joined, f_Group, INVALID, nullptr, CoreOption | LinkOption, 0, nullptr, nullptr, nullptr)
2767
OPTION(prefix_1, llvm::StringLiteral("fuse-line-directives"), fuse_line_directives, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2768
       "Use #line in preprocessed output", nullptr, nullptr)
2769
OPTION(prefix_1, llvm::StringLiteral("fuse-linker-plugin"), fuse_linker_plugin, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2770
OPTION(prefix_1, llvm::StringLiteral("fuse-register-sized-bitfield-access"), fuse_register_sized_bitfield_access, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2771
       "Use register sized accesses to bit-fields, when possible.", nullptr, nullptr)
2772
OPTION(prefix_2, llvm::StringLiteral("FU"), _SLASH_FU, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2773
OPTION(prefix_1, llvm::StringLiteral("fvalidate-ast-input-files-content"), fvalidate_ast_input_files_content, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2774
       "Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical", nullptr, nullptr)
2775
OPTION(prefix_1, llvm::StringLiteral("fvariable-expansion-in-unroller"), fvariable_expansion_in_unroller, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2776
OPTION(prefix_1, llvm::StringLiteral("fveclib="), fveclib, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2777
       "Use the given vector functions library", nullptr, "Accelerate,libmvec,MASSV,SVML,SLEEF,Darwin_libsystem_m,none")
2778
OPTION(prefix_1, llvm::StringLiteral("fvect-cost-model"), fvect_cost_model, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2779
OPTION(prefix_1, llvm::StringLiteral("fvectorize"), fvectorize, Flag, f_Group, INVALID, nullptr, 0, 0,
2780
       "Enable the loop vectorization passes", nullptr, nullptr)
2781
OPTION(prefix_1, llvm::StringLiteral("fverbose-asm"), fverbose_asm, Flag, f_Group, INVALID, nullptr, 0, 0,
2782
       "Generate verbose assembly output", nullptr, nullptr)
2783
OPTION(prefix_1, llvm::StringLiteral("fverify-debuginfo-preserve-export="), fverify_debuginfo_preserve_export, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2784
       "Export debug info (by testing original Debug Info) failures into specified (JSON) file (should be abs path as we use append mode to insert new JSON objects).", "<file>", nullptr)
2785
OPTION(prefix_1, llvm::StringLiteral("fverify-debuginfo-preserve"), fverify_debuginfo_preserve, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2786
       "Enable Debug Info Metadata preservation testing in optimizations.", nullptr, nullptr)
2787
OPTION(prefix_1, llvm::StringLiteral("fvirtual-function-elimination"), fvirtual_function_elimination, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2788
       "Enables dead virtual function elimination optimization. Requires -flto=full", nullptr, nullptr)
2789
OPTION(prefix_1, llvm::StringLiteral("fvisibility-dllexport="), fvisibility_dllexport_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2790
       "The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]", nullptr, "default,hidden,internal,protected")
2791
OPTION(prefix_1, llvm::StringLiteral("fvisibility-externs-dllimport="), fvisibility_externs_dllimport_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2792
       "The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]", nullptr, "default,hidden,internal,protected")
2793
OPTION(prefix_1, llvm::StringLiteral("fvisibility-externs-nodllstorageclass="), fvisibility_externs_nodllstorageclass_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2794
       "The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]", nullptr, "default,hidden,internal,protected")
2795
OPTION(prefix_1, llvm::StringLiteral("fvisibility-from-dllstorageclass"), fvisibility_from_dllstorageclass, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2796
       "Set the visibility of symbols in the generated code from their DLL storage class", nullptr, nullptr)
2797
OPTION(prefix_1, llvm::StringLiteral("fvisibility-global-new-delete-hidden"), fvisibility_global_new_delete_hidden, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2798
       "Give global C++ operator new and delete declarations hidden visibility", nullptr, nullptr)
2799
OPTION(prefix_1, llvm::StringLiteral("fvisibility-inlines-hidden-static-local-var"), fvisibility_inlines_hidden_static_local_var, Flag, f_Group, INVALID, nullptr, CC1Option | CC1Option, 0,
2800
       "When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default", nullptr, nullptr)
2801
OPTION(prefix_1, llvm::StringLiteral("fvisibility-inlines-hidden"), fvisibility_inlines_hidden, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2802
       "Give inline C++ member functions hidden visibility by default", nullptr, nullptr)
2803
OPTION(prefix_1, llvm::StringLiteral("fvisibility-ms-compat"), fvisibility_ms_compat, Flag, f_Group, INVALID, nullptr, 0, 0,
2804
       "Give global types 'default' visibility and global functions and variables 'hidden' visibility by default", nullptr, nullptr)
2805
OPTION(prefix_1, llvm::StringLiteral("fvisibility-nodllstorageclass="), fvisibility_nodllstorageclass_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2806
       "The visibility for definitions without an explicit DLL export class [-fvisibility-from-dllstorageclass]", nullptr, "default,hidden,internal,protected")
2807
OPTION(prefix_1, llvm::StringLiteral("fvisibility="), fvisibility_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2808
       "Set the default symbol visibility for all global definitions", nullptr, "default,hidden,internal,protected")
2809
OPTION(prefix_1, llvm::StringLiteral("fwarn-stack-size="), fwarn_stack_size_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
2810
OPTION(prefix_1, llvm::StringLiteral("fwasm-exceptions"), fwasm_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
2811
       "Use WebAssembly style exceptions", nullptr, nullptr)
2812
OPTION(prefix_1, llvm::StringLiteral("fwchar-type="), fwchar_type_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2813
       "Select underlying type for wchar_t", nullptr, "char,short,int")
2814
OPTION(prefix_1, llvm::StringLiteral("fweb"), fweb, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2815
OPTION(prefix_1, llvm::StringLiteral("fwhole-file"), fwhole_file, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2816
OPTION(prefix_1, llvm::StringLiteral("fwhole-program-vtables"), fwhole_program_vtables, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2817
       "Enables whole-program vtable optimization. Requires -flto", nullptr, nullptr)
2818
OPTION(prefix_1, llvm::StringLiteral("fwhole-program"), fwhole_program, Flag, clang_ignored_gcc_optimization_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
2819
OPTION(prefix_1, llvm::StringLiteral("fwrapv"), fwrapv, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2820
       "Treat signed integer overflow as two's complement", nullptr, nullptr)
2821
OPTION(prefix_1, llvm::StringLiteral("fwritable-strings"), fwritable_strings, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2822
       "Store string literals as writable data", nullptr, nullptr)
2823
OPTION(prefix_1, llvm::StringLiteral("fxl-pragma-pack"), fxl_pragma_pack, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2824
       "Enable IBM XL #pragma pack handling", nullptr, nullptr)
2825
OPTION(prefix_1, llvm::StringLiteral("fxor-operator"), fxor_operator, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
2826
       "Enable .XOR. as a synonym of .NEQV.", nullptr, nullptr)
2827
OPTION(prefix_1, llvm::StringLiteral("fxray-always-emit-customevents"), fxray_always_emit_customevents, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2828
       "Always emit __xray_customevent(...) calls even if the containing function is not always instrumented", nullptr, nullptr)
2829
OPTION(prefix_1, llvm::StringLiteral("fxray-always-emit-typedevents"), fxray_always_emit_typedevents, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2830
       "Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented", nullptr, nullptr)
2831
OPTION(prefix_1, llvm::StringLiteral("fxray-always-instrument="), fxray_always_instrument, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2832
       "DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.", nullptr, nullptr)
2833
OPTION(prefix_1, llvm::StringLiteral("fxray-attr-list="), fxray_attr_list, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2834
       "Filename defining the list of functions/types for imbuing XRay attributes.", nullptr, nullptr)
2835
OPTION(prefix_1, llvm::StringLiteral("fxray-function-groups="), fxray_function_groups, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2836
       "Only instrument 1 of N groups", nullptr, nullptr)
2837
OPTION(prefix_1, llvm::StringLiteral("fxray-function-index"), fxray_function_index, Flag, f_Group, INVALID, nullptr, 0, 0,
2838
       "", nullptr, nullptr)
2839
OPTION(prefix_1, llvm::StringLiteral("fxray-ignore-loops"), fxray_ignore_loops, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2840
       "Don't instrument functions with loops unless they also meet the minimum function size", nullptr, nullptr)
2841
OPTION(prefix_1, llvm::StringLiteral("fxray-instruction-threshold="), fxray_instruction_threshold_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2842
       "Sets the minimum function size to instrument with XRay", nullptr, nullptr)
2843
OPTION(prefix_1, llvm::StringLiteral("fxray-instrumentation-bundle="), fxray_instrumentation_bundle, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2844
       "Select which XRay instrumentation points to emit. Options: all, none, function-entry, function-exit, function, custom. Default is 'all'.  'function' includes both 'function-entry' and 'function-exit'.", nullptr, nullptr)
2845
OPTION(prefix_1, llvm::StringLiteral("fxray-instrument"), fxray_instrument, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2846
       "Generate XRay instrumentation sleds on function entry and exit", nullptr, nullptr)
2847
OPTION(prefix_1, llvm::StringLiteral("fxray-link-deps"), fxray_link_deps, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2848
       "Tells clang to add the link dependencies for XRay.", nullptr, nullptr)
2849
OPTION(prefix_1, llvm::StringLiteral("fxray-modes="), fxray_modes, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2850
       "List of modes to link in by default into XRay instrumented binaries.", nullptr, nullptr)
2851
OPTION(prefix_1, llvm::StringLiteral("fxray-never-instrument="), fxray_never_instrument, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2852
       "DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.", nullptr, nullptr)
2853
OPTION(prefix_1, llvm::StringLiteral("fxray-selected-function-group="), fxray_selected_function_group, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2854
       "When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1", nullptr, nullptr)
2855
OPTION(prefix_2, llvm::StringLiteral("Fx"), _SLASH_Fx, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2856
OPTION(prefix_1, llvm::StringLiteral("fzero-call-used-regs="), fzero_call_used_regs_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
2857
       "Clear call-used registers upon function return (AArch64/x86 only)", nullptr, "skip,used-gpr-arg,used-gpr,used-arg,used,all-gpr-arg,all-gpr,all-arg,all")
2858
OPTION(prefix_1, llvm::StringLiteral("fzero-initialized-in-bss"), fzero_initialized_in_bss, Flag, f_Group, INVALID, nullptr, 0, 0,
2859
       "", nullptr, nullptr)
2860
OPTION(prefix_1, llvm::StringLiteral("fzvector"), fzvector, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
2861
       "Enable System z vector language extension", nullptr, nullptr)
2862
OPTION(prefix_1, llvm::StringLiteral("F"), F, JoinedOrSeparate, INVALID, INVALID, nullptr, RenderJoined | CC1Option, 0,
2863
       "Add directory to framework include search path", nullptr, nullptr)
2864
OPTION(prefix_2, llvm::StringLiteral("F"), _SLASH_F, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2865
OPTION(prefix_1, llvm::StringLiteral("g0"), g0, Flag, gN_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2866
OPTION(prefix_2, llvm::StringLiteral("G1"), _SLASH_G1, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2867
OPTION(prefix_1, llvm::StringLiteral("g1"), g1, Flag, gN_Group, gline_tables_only, nullptr, 0, 0, nullptr, nullptr, nullptr)
2868
OPTION(prefix_2, llvm::StringLiteral("G2"), _SLASH_G2, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2869
OPTION(prefix_1, llvm::StringLiteral("g2"), g2, Flag, gN_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2870
OPTION(prefix_1, llvm::StringLiteral("g3"), g3, Flag, gN_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2871
OPTION(prefix_1, llvm::StringLiteral("G="), G_EQ, Joined, m_Group, G, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
2872
OPTION(prefix_2, llvm::StringLiteral("GA"), _SLASH_GA, Flag, cl_Group, ftlsmodel_EQ, "local-exec\0", CLOption | NoXarchOption | CLDXCOption, 0,
2873
       "Assume thread-local variables are defined in the executable", nullptr, nullptr)
2874
OPTION(prefix_3, llvm::StringLiteral("gcc-install-dir="), gcc_install_dir_EQ, Joined, INVALID, INVALID, nullptr, 0, 0,
2875
       "Use GCC installation in the specified directory. The directory ends with path components like 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation", nullptr, nullptr)
2876
OPTION(prefix_3, llvm::StringLiteral("gcc-toolchain="), gcc_toolchain, Joined, INVALID, INVALID, nullptr, NoXarchOption, 0,
2877
       "Specify a directory where Clang can find 'include' and 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Clang will use the GCC installation with the largest version", nullptr, nullptr)
2878
OPTION(prefix_1, llvm::StringLiteral("gcodeview-command-line"), gcodeview_command_line, Flag, INVALID, INVALID, nullptr, CoreOption | CC1Option, 0,
2879
       "Emit compiler path and command line into CodeView debug information", nullptr, nullptr)
2880
OPTION(prefix_1, llvm::StringLiteral("gcodeview-ghash"), gcodeview_ghash, Flag, INVALID, INVALID, nullptr, CC1Option | CoreOption, 0,
2881
       "Emit type record hashes in a .debug$H section", nullptr, nullptr)
2882
OPTION(prefix_1, llvm::StringLiteral("gcodeview"), gcodeview, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | CoreOption, 0,
2883
       "Generate CodeView debug information", nullptr, nullptr)
2884
OPTION(prefix_1, llvm::StringLiteral("gcoff"), gcoff, Joined, g_Group, INVALID, nullptr, Unsupported, 0, nullptr, nullptr, nullptr)
2885
OPTION(prefix_1, llvm::StringLiteral("gcolumn-info"), gcolumn_info, Flag, g_flags_Group, INVALID, nullptr, CoreOption, 0,
2886
       "", nullptr, nullptr)
2887
OPTION(prefix_1, llvm::StringLiteral("gdbx"), gdbx, Flag, gTune_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2888
OPTION(prefix_1, llvm::StringLiteral("gdwarf-2"), gdwarf_2, Flag, g_Group, INVALID, nullptr, 0, 0,
2889
       "Generate source-level debug information with dwarf version 2", nullptr, nullptr)
2890
OPTION(prefix_1, llvm::StringLiteral("gdwarf-3"), gdwarf_3, Flag, g_Group, INVALID, nullptr, 0, 0,
2891
       "Generate source-level debug information with dwarf version 3", nullptr, nullptr)
2892
OPTION(prefix_1, llvm::StringLiteral("gdwarf-4"), gdwarf_4, Flag, g_Group, INVALID, nullptr, 0, 0,
2893
       "Generate source-level debug information with dwarf version 4", nullptr, nullptr)
2894
OPTION(prefix_1, llvm::StringLiteral("gdwarf-5"), gdwarf_5, Flag, g_Group, INVALID, nullptr, 0, 0,
2895
       "Generate source-level debug information with dwarf version 5", nullptr, nullptr)
2896
OPTION(prefix_1, llvm::StringLiteral("gdwarf-aranges"), gdwarf_aranges, Flag, g_flags_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2897
OPTION(prefix_1, llvm::StringLiteral("gdwarf32"), gdwarf32, Flag, g_Group, INVALID, nullptr, CC1Option | CC1AsOption, 0,
2898
       "Enables DWARF32 format for ELF binaries, if debug information emission is enabled.", nullptr, nullptr)
2899
OPTION(prefix_1, llvm::StringLiteral("gdwarf64"), gdwarf64, Flag, g_Group, INVALID, nullptr, CC1Option | CC1AsOption, 0,
2900
       "Enables DWARF64 format for ELF binaries, if debug information emission is enabled.", nullptr, nullptr)
2901
OPTION(prefix_1, llvm::StringLiteral("gdwarf"), gdwarf, Flag, g_Group, INVALID, nullptr, CoreOption, 0,
2902
       "Generate source-level debug information with the default dwarf version", nullptr, nullptr)
2903
OPTION(prefix_2, llvm::StringLiteral("Gd"), _SLASH_Gd, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
2904
       "Set __cdecl as a default calling convention", nullptr, nullptr)
2905
OPTION(prefix_1, llvm::StringLiteral("gembed-source"), gembed_source, Flag, g_flags_Group, INVALID, nullptr, CC1Option, 0,
2906
       "Embed source text in DWARF debug sections", nullptr, nullptr)
2907
OPTION(prefix_1, llvm::StringLiteral("gen-cdb-fragment-path"), gen_cdb_fragment_path, Separate, internal_debug_Group, INVALID, nullptr, NoXarchOption | HelpHidden | CoreOption, 0,
2908
       "Emit a compilation database fragment to the specified directory", nullptr, nullptr)
2909
OPTION(prefix_1, llvm::StringLiteral("gen-reproducer="), gen_reproducer_eq, Joined, INVALID, INVALID, nullptr, NoArgumentUnused | CoreOption, 0,
2910
       "Emit reproducer on (option: off, crash (default), error, always)", nullptr, nullptr)
2911
OPTION(prefix_1, llvm::StringLiteral("gen-reproducer"), gen_reproducer, Flag, internal_debug_Group, gen_reproducer_eq, "always\0", NoXarchOption | HelpHidden | CoreOption, 0,
2912
       "Auto-generates preprocessed source files and a reproduction script", nullptr, nullptr)
2913
OPTION(prefix_2, llvm::StringLiteral("Ge"), _SLASH_Ge, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2914
OPTION(prefix_2, llvm::StringLiteral("GF-"), _SLASH_GF_, Flag, cl_Group, fwritable_strings, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
2915
       "Disable string pooling", nullptr, nullptr)
2916
OPTION(prefix_1, llvm::StringLiteral("gfull"), gfull, Flag, g_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2917
OPTION(prefix_2, llvm::StringLiteral("GF"), _SLASH_GF, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
2918
       "Enable string pooling (default)", nullptr, nullptr)
2919
OPTION(prefix_1, llvm::StringLiteral("ggdb0"), ggdb0, Flag, ggdbN_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2920
OPTION(prefix_1, llvm::StringLiteral("ggdb1"), ggdb1, Flag, ggdbN_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2921
OPTION(prefix_1, llvm::StringLiteral("ggdb2"), ggdb2, Flag, ggdbN_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2922
OPTION(prefix_1, llvm::StringLiteral("ggdb3"), ggdb3, Flag, ggdbN_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2923
OPTION(prefix_1, llvm::StringLiteral("ggdb"), ggdb, Flag, gTune_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2924
OPTION(prefix_1, llvm::StringLiteral("ggnu-pubnames"), ggnu_pubnames, Flag, g_flags_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
2925
OPTION(prefix_2, llvm::StringLiteral("GH"), _SLASH_GH, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2926
OPTION(prefix_2, llvm::StringLiteral("Gh"), _SLASH_Gh, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2927
OPTION(prefix_1, llvm::StringLiteral("ginline-line-tables"), ginline_line_tables, Flag, g_Group, INVALID, nullptr, CoreOption, 0,
2928
       "", nullptr, nullptr)
2929
OPTION(prefix_2, llvm::StringLiteral("GL-"), _SLASH_GL_, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2930
OPTION(prefix_1, llvm::StringLiteral("gline-directives-only"), gline_directives_only, Flag, gN_Group, INVALID, nullptr, CoreOption, 0,
2931
       "Emit debug line info directives only", nullptr, nullptr)
2932
OPTION(prefix_1, llvm::StringLiteral("gline-tables-only"), gline_tables_only, Flag, gN_Group, INVALID, nullptr, CoreOption, 0,
2933
       "Emit debug line number tables only", nullptr, nullptr)
2934
OPTION(prefix_1, llvm::StringLiteral("glldb"), glldb, Flag, gTune_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2935
OPTION(prefix_2, llvm::StringLiteral("GL"), _SLASH_GL, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2936
OPTION(prefix_2, llvm::StringLiteral("Gm-"), _SLASH_Gm_, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2937
OPTION(prefix_1, llvm::StringLiteral("gmlt"), gmlt, Flag, INVALID, gline_tables_only, nullptr, 0, 0, nullptr, nullptr, nullptr)
2938
OPTION(prefix_1, llvm::StringLiteral("gmodules"), gmodules, Flag, gN_Group, INVALID, nullptr, 0, 0,
2939
       "Generate debug info with external references to clang modules or precompiled headers", nullptr, nullptr)
2940
OPTION(prefix_2, llvm::StringLiteral("Gm"), _SLASH_Gm, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
2941
OPTION(prefix_1, llvm::StringLiteral("gno-codeview-command-line"), gno_codeview_command_line, Flag, INVALID, INVALID, nullptr, CoreOption | CC1Option, 0,
2942
       "Don't emit compiler path and command line into CodeView debug information", nullptr, nullptr)
2943
OPTION(prefix_1, llvm::StringLiteral("gno-codeview-ghash"), gno_codeview_ghash, Flag, INVALID, INVALID, nullptr, CoreOption, 0,
2944
       "", nullptr, nullptr)
2945
OPTION(prefix_1, llvm::StringLiteral("gno-column-info"), gno_column_info, Flag, g_flags_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2946
       "", nullptr, nullptr)
2947
OPTION(prefix_1, llvm::StringLiteral("gno-embed-source"), gno_embed_source, Flag, g_flags_Group, INVALID, nullptr, NoXarchOption, 0,
2948
       "Restore the default behavior of not embedding source text in DWARF debug sections", nullptr, nullptr)
2949
OPTION(prefix_1, llvm::StringLiteral("gno-gnu-pubnames"), gno_gnu_pubnames, Flag, g_flags_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2950
OPTION(prefix_1, llvm::StringLiteral("gno-inline-line-tables"), gno_inline_line_tables, Flag, g_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2951
       "Don't emit inline line tables.", nullptr, nullptr)
2952
OPTION(prefix_1, llvm::StringLiteral("gno-modules"), gno_modules, Flag, g_flags_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2953
OPTION(prefix_1, llvm::StringLiteral("gno-pubnames"), gno_pubnames, Flag, g_flags_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2954
OPTION(prefix_1, llvm::StringLiteral("gno-record-command-line"), gno_record_command_line, Flag, g_flags_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2955
OPTION(prefix_1, llvm::StringLiteral("gno-record-gcc-switches"), anonymous_1265, Flag, INVALID, gno_record_command_line, nullptr, 0, 0, nullptr, nullptr, nullptr)
2956
OPTION(prefix_1, llvm::StringLiteral("gno-simple-template-names"), gno_simple_template_names, Flag, g_flags_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2957
OPTION(prefix_1, llvm::StringLiteral("gno-split-dwarf"), gno_split_dwarf, Flag, g_flags_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2958
OPTION(prefix_1, llvm::StringLiteral("gno-strict-dwarf"), gno_strict_dwarf, Flag, g_flags_Group, INVALID, nullptr, CoreOption, 0,
2959
       "", nullptr, nullptr)
2960
OPTION(prefix_3, llvm::StringLiteral("gpu-bundle-output"), gpu_bundle_output, Flag, f_Group, INVALID, nullptr, 0, 0,
2961
       "Bundle output files of HIP device compilation", nullptr, nullptr)
2962
OPTION(prefix_3, llvm::StringLiteral("gpu-instrument-lib="), gpu_instrument_lib_EQ, Joined, INVALID, INVALID, nullptr, 0, 0,
2963
       "Instrument device library for HIP, which is a LLVM bitcode containing __cyg_profile_func_enter and __cyg_profile_func_exit", nullptr, nullptr)
2964
OPTION(prefix_3, llvm::StringLiteral("gpu-max-threads-per-block="), gpu_max_threads_per_block_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0,
2965
       "Default max threads per block for kernel launch bounds for HIP", nullptr, nullptr)
2966
OPTION(prefix_3, llvm::StringLiteral("gpu-use-aux-triple-only"), gpu_use_aux_triple_only, Flag, internal_driver_Group, INVALID, nullptr, NoXarchOption | HelpHidden, 0,
2967
       "Prepare '-aux-triple' only without populating '-aux-target-cpu' and '-aux-target-feature'.", nullptr, nullptr)
2968
OPTION(prefix_1, llvm::StringLiteral("gpubnames"), gpubnames, Flag, g_flags_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
2969
OPTION(prefix_2, llvm::StringLiteral("GR-"), _SLASH_GR_, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
2970
       "Do not emit RTTI data", nullptr, nullptr)
2971
OPTION(prefix_1, llvm::StringLiteral("grecord-command-line"), grecord_command_line, Flag, g_flags_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2972
OPTION(prefix_1, llvm::StringLiteral("grecord-gcc-switches"), anonymous_1264, Flag, INVALID, grecord_command_line, nullptr, 0, 0, nullptr, nullptr, nullptr)
2973
OPTION(prefix_2, llvm::StringLiteral("Gregcall"), _SLASH_Gregcall, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
2974
       "Set __regcall as a default calling convention", nullptr, nullptr)
2975
OPTION(prefix_2, llvm::StringLiteral("GR"), _SLASH_GR, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
2976
       "Emit RTTI data (default)", nullptr, nullptr)
2977
OPTION(prefix_2, llvm::StringLiteral("Gr"), _SLASH_Gr, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
2978
       "Set __fastcall as a default calling convention", nullptr, nullptr)
2979
OPTION(prefix_2, llvm::StringLiteral("GS-"), _SLASH_GS_, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
2980
       "Disable buffer security check", nullptr, nullptr)
2981
OPTION(prefix_1, llvm::StringLiteral("gsce"), gsce, Flag, gTune_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2982
OPTION(prefix_1, llvm::StringLiteral("gsimple-template-names="), gsimple_template_names_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
2983
       "Use simple template names in DWARF, or include the full template name with a modified prefix for validation", nullptr, "simple,mangled")
2984
OPTION(prefix_1, llvm::StringLiteral("gsimple-template-names"), gsimple_template_names, Flag, g_flags_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2985
OPTION(prefix_1, llvm::StringLiteral("gsplit-dwarf="), gsplit_dwarf_EQ, Joined, g_flags_Group, INVALID, nullptr, 0, 0,
2986
       "Set DWARF fission mode", nullptr, "split,single")
2987
OPTION(prefix_1, llvm::StringLiteral("gsplit-dwarf"), gsplit_dwarf, Flag, g_flags_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
2988
OPTION(prefix_1, llvm::StringLiteral("gsrc-hash="), gsrc_hash_EQ, Joined, g_flags_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, "md5,sha1,sha256")
2989
OPTION(prefix_1, llvm::StringLiteral("gstabs"), gstabs, Joined, g_Group, INVALID, nullptr, Unsupported, 0, nullptr, nullptr, nullptr)
2990
OPTION(prefix_1, llvm::StringLiteral("gstrict-dwarf"), gstrict_dwarf, Flag, g_flags_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
2991
       "", nullptr, nullptr)
2992
OPTION(prefix_2, llvm::StringLiteral("GS"), _SLASH_GS, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
2993
       "Enable buffer security check (default)", nullptr, nullptr)
2994
OPTION(prefix_2, llvm::StringLiteral("Gs"), anonymous_1775, Flag, cl_Group, mstack_probe_size, "4096\0", CLOption | NoXarchOption | CLDXCOption, 0,
2995
       "Use stack probes (default)", nullptr, nullptr)
2996
OPTION(prefix_2, llvm::StringLiteral("Gs"), _SLASH_Gs, Joined, cl_Group, mstack_probe_size, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
2997
       "Set stack probe size (default 4096)", nullptr, nullptr)
2998
OPTION(prefix_1, llvm::StringLiteral("gtoggle"), gtoggle, Flag, g_flags_Group, INVALID, nullptr, Unsupported, 0, nullptr, nullptr, nullptr)
2999
OPTION(prefix_2, llvm::StringLiteral("GT"), _SLASH_GT, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
3000
OPTION(prefix_2, llvm::StringLiteral("guard:"), _SLASH_guard, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3001
       "Enable Control Flow Guard with /guard:cf, or only the table with /guard:cf,nochecks. Enable EH Continuation Guard with /guard:ehcont", nullptr, nullptr)
3002
OPTION(prefix_1, llvm::StringLiteral("gused"), gused, Flag, g_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3003
OPTION(prefix_1, llvm::StringLiteral("gvms"), gvms, Joined, g_Group, INVALID, nullptr, Unsupported, 0, nullptr, nullptr, nullptr)
3004
OPTION(prefix_2, llvm::StringLiteral("Gv"), _SLASH_Gv, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3005
       "Set __vectorcall as a default calling convention", nullptr, nullptr)
3006
OPTION(prefix_2, llvm::StringLiteral("Gw-"), _SLASH_Gw_, Flag, cl_Group, fno_data_sections, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3007
       "Do not put each data item in its own section (default)", nullptr, nullptr)
3008
OPTION(prefix_2, llvm::StringLiteral("Gw"), _SLASH_Gw, Flag, cl_Group, fdata_sections, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3009
       "Put each data item in its own section", nullptr, nullptr)
3010
OPTION(prefix_2, llvm::StringLiteral("GX-"), _SLASH_GX_, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3011
       "Deprecated (like not passing /EH)", nullptr, nullptr)
3012
OPTION(prefix_1, llvm::StringLiteral("gxcoff"), gxcoff, Joined, g_Group, INVALID, nullptr, Unsupported, 0, nullptr, nullptr, nullptr)
3013
OPTION(prefix_2, llvm::StringLiteral("GX"), _SLASH_GX, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3014
       "Deprecated; use /EHsc", nullptr, nullptr)
3015
OPTION(prefix_2, llvm::StringLiteral("Gy-"), _SLASH_Gy_, Flag, cl_Group, fno_function_sections, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3016
       "Do not put each function in its own section (default)", nullptr, nullptr)
3017
OPTION(prefix_2, llvm::StringLiteral("Gy"), _SLASH_Gy, Flag, cl_Group, ffunction_sections, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3018
       "Put each function in its own section", nullptr, nullptr)
3019
OPTION(prefix_1, llvm::StringLiteral("gz="), gz_EQ, Joined, g_flags_Group, INVALID, nullptr, 0, 0,
3020
       "DWARF debug sections compression type", nullptr, nullptr)
3021
OPTION(prefix_2, llvm::StringLiteral("GZ"), _SLASH_GZ, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
3022
OPTION(prefix_2, llvm::StringLiteral("Gz"), _SLASH_Gz, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3023
       "Set __stdcall as a default calling convention", nullptr, nullptr)
3024
OPTION(prefix_1, llvm::StringLiteral("gz"), gz, Flag, g_flags_Group, gz_EQ, "zlib\0", 0, 0, nullptr, nullptr, nullptr)
3025
OPTION(prefix_1, llvm::StringLiteral("G"), G, JoinedOrSeparate, m_Group, INVALID, nullptr, NoXarchOption, 0,
3026
       "Put objects of at most <size> bytes into small data section (MIPS / Hexagon)", "<size>", nullptr)
3027
OPTION(prefix_1, llvm::StringLiteral("g"), g_Flag, Flag, g_Group, INVALID, nullptr, 0, 0,
3028
       "Generate source-level debug information", nullptr, nullptr)
3029
OPTION(prefix_1, llvm::StringLiteral("header-include-file"), header_include_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3030
       "Filename (or -) to write header include output to", nullptr, nullptr)
3031
OPTION(prefix_1, llvm::StringLiteral("header-include-filtering="), header_include_filtering_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3032
       "set the flag that enables filtering header information", nullptr, "none,only-direct-system")
3033
OPTION(prefix_1, llvm::StringLiteral("header-include-format="), header_include_format_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3034
       "set format in which header info is emitted", nullptr, "textual,json")
3035
OPTION(prefix_2, llvm::StringLiteral("headerName:"), _SLASH_headername, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
3036
OPTION(prefix_1, llvm::StringLiteral("headerpad_max_install_names"), headerpad__max__install__names, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3037
OPTION(prefix_2, llvm::StringLiteral("headerUnit:angle"), _SLASH_headerUnitAngle, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
3038
OPTION(prefix_2, llvm::StringLiteral("headerUnit:quote"), _SLASH_headerUnitQuote, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
3039
OPTION(prefix_2, llvm::StringLiteral("headerUnit"), _SLASH_headerUnit, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
3040
OPTION(prefix_3, llvm::StringLiteral("help-hidden"), _help_hidden, Flag, INVALID, INVALID, nullptr, 0, 0,
3041
       "Display help for hidden options", nullptr, nullptr)
3042
OPTION(prefix_2, llvm::StringLiteral("HELP"), _SLASH_HELP, Flag, cl_Group, help, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
3043
OPTION(prefix_4, llvm::StringLiteral("help"), help, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | FC1Option | FlangOption, 0,
3044
       "Display available options", nullptr, nullptr)
3045
OPTION(prefix_2, llvm::StringLiteral("help"), _SLASH_help, Flag, cl_Group, help, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3046
       "Display available options", nullptr, nullptr)
3047
OPTION(prefix_6, llvm::StringLiteral("help"), dxc_help, Joined, dxc_Group, help, nullptr, DXCOption | NoXarchOption | DXCOption, 0,
3048
       "Display available options", nullptr, nullptr)
3049
OPTION(prefix_3, llvm::StringLiteral("hip-device-lib-path="), anonymous_67, Joined, INVALID, rocm_device_lib_path_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
3050
OPTION(prefix_3, llvm::StringLiteral("hip-device-lib="), hip_device_lib_EQ, Joined, Link_Group, INVALID, nullptr, 0, 0,
3051
       "HIP device library", nullptr, nullptr)
3052
OPTION(prefix_3, llvm::StringLiteral("hip-link"), hip_link, Flag, INVALID, INVALID, nullptr, 0, 0,
3053
       "Link clang-offload-bundler bundles for HIP", nullptr, nullptr)
3054
OPTION(prefix_3, llvm::StringLiteral("hip-path="), hip_path_EQ, Joined, i_Group, INVALID, nullptr, 0, 0,
3055
       "HIP runtime installation path, used for finding HIP version and adding HIP include path.", nullptr, nullptr)
3056
OPTION(prefix_3, llvm::StringLiteral("hip-version="), hip_version_EQ, Joined, INVALID, INVALID, nullptr, 0, 0,
3057
       "HIP version in the format of major.minor.patch", nullptr, nullptr)
3058
OPTION(prefix_3, llvm::StringLiteral("hipspv-pass-plugin="), hipspv_pass_plugin_EQ, Joined, Link_Group, INVALID, nullptr, 0, 0,
3059
       "path to a pass plugin for HIP to SPIR-V passes.", "<dsopath>", nullptr)
3060
OPTION(prefix_1, llvm::StringLiteral("hlsl-entry"), hlsl_entrypoint, Separate, dxc_Group, INVALID, nullptr, CC1Option | DXCOption, 0,
3061
       "Entry point name for hlsl", nullptr, nullptr)
3062
OPTION(prefix_2, llvm::StringLiteral("hlsl-no-stdinc"), dxc_no_stdinc, Flag, dxc_Group, INVALID, nullptr, DXCOption | NoXarchOption | DXCOption, 0,
3063
       "HLSL only. Disables all standard includes containing non-native compiler types and functions.", nullptr, nullptr)
3064
OPTION(prefix_2, llvm::StringLiteral("homeparams"), _SLASH_homeparams, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
3065
OPTION(prefix_2, llvm::StringLiteral("hotpatch"), _SLASH_hotpatch, Flag, cl_Group, fms_hotpatch, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3066
       "Create hotpatchable image", nullptr, nullptr)
3067
OPTION(prefix_1, llvm::StringLiteral("H"), H, Flag, Preprocessor_Group, INVALID, nullptr, CC1Option, 0,
3068
       "Show header includes and nesting depth", nullptr, nullptr)
3069
OPTION(prefix_2, llvm::StringLiteral("H"), _SLASH_H, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
3070
OPTION(prefix_1, llvm::StringLiteral("I-"), I_, Flag, I_Group, INVALID, nullptr, 0, 0,
3071
       "Restrict all prior -I flags to double-quoted inclusion and remove current directory from include path", nullptr, nullptr)
3072
OPTION(prefix_1, llvm::StringLiteral("ibuiltininc"), ibuiltininc, Flag, INVALID, INVALID, nullptr, 0, 0,
3073
       "Enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc. Using -nobuiltininc after the option disables it", nullptr, nullptr)
3074
OPTION(prefix_1, llvm::StringLiteral("idirafter"), idirafter, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3075
       "Add directory to AFTER include search path", nullptr, nullptr)
3076
OPTION(prefix_1, llvm::StringLiteral("iframeworkwithsysroot"), iframeworkwithsysroot, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3077
       "Add directory to SYSTEM framework search path, absolute paths are relative to -isysroot", "<directory>", nullptr)
3078
OPTION(prefix_1, llvm::StringLiteral("iframework"), iframework, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3079
       "Add directory to SYSTEM framework search path", nullptr, nullptr)
3080
OPTION(prefix_3, llvm::StringLiteral("imacros="), _imacros_EQ, Joined, INVALID, imacros, nullptr, 0, 0, nullptr, nullptr, nullptr)
3081
OPTION(prefix_4, llvm::StringLiteral("imacros"), imacros, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3082
       "Include macros from file before parsing", "<file>", nullptr)
3083
OPTION(prefix_1, llvm::StringLiteral("image_base"), image__base, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3084
OPTION(prefix_2, llvm::StringLiteral("imsvc"), _SLASH_imsvc, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3085
       "Add <dir> to system include search path, as if in %INCLUDE%", "<dir>", nullptr)
3086
OPTION(prefix_1, llvm::StringLiteral("imultilib"), imultilib, Separate, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3087
OPTION(prefix_3, llvm::StringLiteral("include-barrier"), _include_barrier, Flag, INVALID, I_, nullptr, 0, 0, nullptr, nullptr, nullptr)
3088
OPTION(prefix_3, llvm::StringLiteral("include-directory-after="), _include_directory_after_EQ, Joined, INVALID, idirafter, nullptr, 0, 0, nullptr, nullptr, nullptr)
3089
OPTION(prefix_3, llvm::StringLiteral("include-directory-after"), _include_directory_after, Separate, INVALID, idirafter, nullptr, 0, 0, nullptr, nullptr, nullptr)
3090
OPTION(prefix_3, llvm::StringLiteral("include-directory="), _include_directory_EQ, Joined, INVALID, I, nullptr, 0, 0, nullptr, nullptr, nullptr)
3091
OPTION(prefix_3, llvm::StringLiteral("include-directory"), _include_directory, Separate, INVALID, I, nullptr, 0, 0, nullptr, nullptr, nullptr)
3092
OPTION(prefix_1, llvm::StringLiteral("include-pch"), include_pch, Separate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3093
       "Include precompiled header file", "<file>", nullptr)
3094
OPTION(prefix_3, llvm::StringLiteral("include-prefix="), _include_prefix_EQ, Joined, INVALID, iprefix, nullptr, 0, 0, nullptr, nullptr, nullptr)
3095
OPTION(prefix_3, llvm::StringLiteral("include-prefix"), _include_prefix, Separate, INVALID, iprefix, nullptr, 0, 0, nullptr, nullptr, nullptr)
3096
OPTION(prefix_3, llvm::StringLiteral("include-with-prefix-after="), _include_with_prefix_after_EQ, Joined, INVALID, iwithprefix, nullptr, 0, 0, nullptr, nullptr, nullptr)
3097
OPTION(prefix_3, llvm::StringLiteral("include-with-prefix-after"), _include_with_prefix_after, Separate, INVALID, iwithprefix, nullptr, 0, 0, nullptr, nullptr, nullptr)
3098
OPTION(prefix_3, llvm::StringLiteral("include-with-prefix-before="), _include_with_prefix_before_EQ, Joined, INVALID, iwithprefixbefore, nullptr, 0, 0, nullptr, nullptr, nullptr)
3099
OPTION(prefix_3, llvm::StringLiteral("include-with-prefix-before"), _include_with_prefix_before, Separate, INVALID, iwithprefixbefore, nullptr, 0, 0, nullptr, nullptr, nullptr)
3100
OPTION(prefix_3, llvm::StringLiteral("include-with-prefix="), _include_with_prefix_EQ, Joined, INVALID, iwithprefix, nullptr, 0, 0, nullptr, nullptr, nullptr)
3101
OPTION(prefix_3, llvm::StringLiteral("include-with-prefix"), _include_with_prefix, Separate, INVALID, iwithprefix, nullptr, 0, 0, nullptr, nullptr, nullptr)
3102
OPTION(prefix_3, llvm::StringLiteral("include="), _include_EQ, Joined, INVALID, include, nullptr, 0, 0, nullptr, nullptr, nullptr)
3103
OPTION(prefix_4, llvm::StringLiteral("include"), include, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3104
       "Include file before parsing", "<file>", nullptr)
3105
OPTION(prefix_1, llvm::StringLiteral("index-header-map"), index_header_map, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
3106
       "Make the next included directory (-I or -F) an indexer header map", nullptr, nullptr)
3107
OPTION(prefix_1, llvm::StringLiteral("init-only"), init_only, Flag, Action_Group, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
3108
       "Only execute frontend initialization", nullptr, nullptr)
3109
OPTION(prefix_1, llvm::StringLiteral("init"), init, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3110
OPTION(prefix_1, llvm::StringLiteral("inline-asm="), inline_asm_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, "att,intel")
3111
OPTION(prefix_1, llvm::StringLiteral("install_name"), install__name, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3112
OPTION(prefix_1, llvm::StringLiteral("integrated-as"), anonymous_1407, Flag, INVALID, fintegrated_as, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
3113
OPTION(prefix_1, llvm::StringLiteral("interface-stub-version="), interface_stub_version_EQ, JoinedOrSeparate, INVALID, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
3114
OPTION(prefix_1, llvm::StringLiteral("internal-externc-isystem"), internal_externc_isystem, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3115
       "Add directory to the internal system include search path with implicit extern \"C\" semantics; these are assumed to not be user-provided and are used to model system and standard headers' paths.", "<directory>", nullptr)
3116
OPTION(prefix_1, llvm::StringLiteral("internal-isystem"), internal_isystem, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3117
       "Add directory to the internal system include search path; these are assumed to not be user-provided and are used to model system and standard headers' paths.", "<directory>", nullptr)
3118
OPTION(prefix_1, llvm::StringLiteral("iprefix"), iprefix, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3119
       "Set the -iwithprefix/-iwithprefixbefore prefix", "<dir>", nullptr)
3120
OPTION(prefix_1, llvm::StringLiteral("iquote"), iquote, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3121
       "Add directory to QUOTE include search path", "<directory>", nullptr)
3122
OPTION(prefix_1, llvm::StringLiteral("isysroot"), isysroot, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3123
       "Set the system root directory (usually /)", "<dir>", nullptr)
3124
OPTION(prefix_1, llvm::StringLiteral("isystem-after"), isystem_after, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, NoXarchOption, 0,
3125
       "Add directory to end of the SYSTEM include search path", "<directory>", nullptr)
3126
OPTION(prefix_1, llvm::StringLiteral("isystem"), isystem, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3127
       "Add directory to SYSTEM include search path", "<directory>", nullptr)
3128
OPTION(prefix_1, llvm::StringLiteral("ivfsoverlay"), ivfsoverlay, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3129
       "Overlay the virtual filesystem described by file over the real file system", nullptr, nullptr)
3130
OPTION(prefix_1, llvm::StringLiteral("iwithprefixbefore"), iwithprefixbefore, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3131
       "Set directory to include search path with prefix", "<dir>", nullptr)
3132
OPTION(prefix_1, llvm::StringLiteral("iwithprefix"), iwithprefix, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3133
       "Set directory to SYSTEM include search path with prefix", "<dir>", nullptr)
3134
OPTION(prefix_1, llvm::StringLiteral("iwithsysroot"), iwithsysroot, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
3135
       "Add directory to SYSTEM include search path, absolute paths are relative to -isysroot", "<directory>", nullptr)
3136
OPTION(prefix_1, llvm::StringLiteral("I"), I, JoinedOrSeparate, I_Group, INVALID, nullptr, CC1Option | CC1AsOption | FlangOption | FC1Option, 0,
3137
       "Add directory to the end of the list of include search paths", "<dir>", nullptr)
3138
OPTION(prefix_2, llvm::StringLiteral("I"), _SLASH_I, JoinedOrSeparate, cl_Group, I, nullptr, CLDXCOption | NoXarchOption | CLDXCOption, 0,
3139
       "Add directory to include search path", "<dir>", nullptr)
3140
OPTION(prefix_2, llvm::StringLiteral("JMC-"), _SLASH_JMC_, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3141
       "Disable just-my-code debugging (default)", nullptr, nullptr)
3142
OPTION(prefix_2, llvm::StringLiteral("JMC"), _SLASH_JMC, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3143
       "Enable just-my-code debugging", nullptr, nullptr)
3144
OPTION(prefix_1, llvm::StringLiteral("J"), J, JoinedOrSeparate, gfortran_Group, module_dir, nullptr, RenderJoined | FlangOption | FC1Option | FlangOnlyOption, 0, nullptr, nullptr, nullptr)
3145
OPTION(prefix_2, llvm::StringLiteral("J"), _SLASH_J, Flag, cl_Group, funsigned_char, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3146
       "Make char type unsigned", nullptr, nullptr)
3147
OPTION(prefix_1, llvm::StringLiteral("keep_private_externs"), keep__private__externs, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3148
OPTION(prefix_2, llvm::StringLiteral("kernel-"), _SLASH_kernel_, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
3149
OPTION(prefix_2, llvm::StringLiteral("kernel"), _SLASH_kernel, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
3150
OPTION(prefix_3, llvm::StringLiteral("language="), _language_EQ, Joined, INVALID, x, nullptr, 0, 0, nullptr, nullptr, nullptr)
3151
OPTION(prefix_3, llvm::StringLiteral("language"), _language, Separate, INVALID, x, nullptr, 0, 0, nullptr, nullptr, nullptr)
3152
OPTION(prefix_1, llvm::StringLiteral("lazy_framework"), lazy__framework, Separate, INVALID, INVALID, nullptr, LinkerInput, 0, nullptr, nullptr, nullptr)
3153
OPTION(prefix_1, llvm::StringLiteral("lazy_library"), lazy__library, Separate, INVALID, INVALID, nullptr, LinkerInput, 0, nullptr, nullptr, nullptr)
3154
OPTION(prefix_3, llvm::StringLiteral("ld-path="), ld_path_EQ, Joined, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3155
OPTION(prefix_2, llvm::StringLiteral("LDd"), _SLASH_LDd, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3156
       "Create debug DLL", nullptr, nullptr)
3157
OPTION(prefix_2, llvm::StringLiteral("LD"), _SLASH_LD, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3158
       "Create DLL", nullptr, nullptr)
3159
OPTION(prefix_3, llvm::StringLiteral("libomptarget-amdgcn-bc-path="), libomptarget_amdgcn_bc_path_EQ, Joined, i_Group, libomptarget_amdgpu_bc_path_EQ, nullptr, 0, 0,
3160
       "Path to libomptarget-amdgcn bitcode library", nullptr, nullptr)
3161
OPTION(prefix_3, llvm::StringLiteral("libomptarget-amdgpu-bc-path="), libomptarget_amdgpu_bc_path_EQ, Joined, i_Group, INVALID, nullptr, 0, 0,
3162
       "Path to libomptarget-amdgcn bitcode library", nullptr, nullptr)
3163
OPTION(prefix_3, llvm::StringLiteral("libomptarget-nvptx-bc-path="), libomptarget_nvptx_bc_path_EQ, Joined, i_Group, INVALID, nullptr, 0, 0,
3164
       "Path to libomptarget-nvptx bitcode library", nullptr, nullptr)
3165
OPTION(prefix_3, llvm::StringLiteral("library-directory="), _library_directory_EQ, Joined, INVALID, L, nullptr, 0, 0, nullptr, nullptr, nullptr)
3166
OPTION(prefix_3, llvm::StringLiteral("library-directory"), _library_directory, Separate, INVALID, L, nullptr, 0, 0, nullptr, nullptr, nullptr)
3167
OPTION(prefix_3, llvm::StringLiteral("linker-option="), linker_option, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3168
       "Add linker option", nullptr, nullptr)
3169
OPTION(prefix_2, llvm::StringLiteral("link"), _SLASH_link, RemainingArgsJoined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
3170
       "Forward options to the linker", "<options>", nullptr)
3171
OPTION(prefix_2, llvm::StringLiteral("LN"), _SLASH_LN, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
3172
OPTION(prefix_1, llvm::StringLiteral("load"), load, Separate, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
3173
       "Load the named plugin (dynamic shared object)", "<dsopath>", nullptr)
3174
OPTION(prefix_1, llvm::StringLiteral("L"), L, JoinedOrSeparate, Link_Group, INVALID, nullptr, RenderJoined, 0,
3175
       "Add directory to library search path", "<dir>", nullptr)
3176
OPTION(prefix_1, llvm::StringLiteral("l"), l, JoinedOrSeparate, Link_Group, INVALID, nullptr, LinkerInput | RenderJoined, 0, nullptr, nullptr, nullptr)
3177
OPTION(prefix_1, llvm::StringLiteral("m16"), m16, Flag, m_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0, nullptr, nullptr, nullptr)
3178
OPTION(prefix_1, llvm::StringLiteral("m32"), m32, Flag, m_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0, nullptr, nullptr, nullptr)
3179
OPTION(prefix_1, llvm::StringLiteral("m3dnowa"), m3dnowa, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3180
OPTION(prefix_1, llvm::StringLiteral("m3dnow"), m3dnow, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3181
OPTION(prefix_1, llvm::StringLiteral("m64"), m64, Flag, m_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0, nullptr, nullptr, nullptr)
3182
OPTION(prefix_1, llvm::StringLiteral("m68000"), m68000, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3183
OPTION(prefix_1, llvm::StringLiteral("m68010"), m68010, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3184
OPTION(prefix_1, llvm::StringLiteral("m68020"), m68020, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3185
OPTION(prefix_1, llvm::StringLiteral("m68030"), m68030, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3186
OPTION(prefix_1, llvm::StringLiteral("m68040"), m68040, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3187
OPTION(prefix_1, llvm::StringLiteral("m68060"), m68060, Flag, m_m68k_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3188
OPTION(prefix_1, llvm::StringLiteral("m80387"), m80387, Flag, INVALID, mx87, nullptr, 0, 0, nullptr, nullptr, nullptr)
3189
OPTION(prefix_1, llvm::StringLiteral("mabi=ieeelongdouble"), mabi_EQ_ieeelongdouble, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3190
       "Use IEEE 754 quadruple-precision for long double", nullptr, nullptr)
3191
OPTION(prefix_1, llvm::StringLiteral("mabi=quadword-atomics"), mabi_EQ_quadword_atomics, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3192
       "Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.", nullptr, nullptr)
3193
OPTION(prefix_1, llvm::StringLiteral("mabi=vec-default"), mabi_EQ_vec_default, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3194
       "Enable the default Altivec ABI on AIX (AIX only). Uses only volatile vector registers.", nullptr, nullptr)
3195
OPTION(prefix_1, llvm::StringLiteral("mabi=vec-extabi"), mabi_EQ_vec_extabi, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3196
       "Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers", nullptr, nullptr)
3197
OPTION(prefix_1, llvm::StringLiteral("mabi="), mabi_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3198
OPTION(prefix_1, llvm::StringLiteral("mabicalls"), mabicalls, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3199
       "Enable SVR4-style position-independent code (Mips only)", nullptr, nullptr)
3200
OPTION(prefix_1, llvm::StringLiteral("mabs="), mabs_EQ, Joined, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3201
OPTION(prefix_1, llvm::StringLiteral("Mach"), Mach, Flag, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3202
OPTION(prefix_1, llvm::StringLiteral("madx"), madx, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3203
OPTION(prefix_1, llvm::StringLiteral("maes"), maes, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3204
OPTION(prefix_1, llvm::StringLiteral("main-file-name"), main_file_name, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
3205
       "Main file name to use for debug info and source if missing", nullptr, nullptr)
3206
OPTION(prefix_1, llvm::StringLiteral("maix-struct-return"), maix_struct_return, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3207
       "Return all structs in memory (PPC32 only)", nullptr, nullptr)
3208
OPTION(prefix_1, llvm::StringLiteral("malign-branch-boundary="), malign_branch_boundary_EQ, Joined, m_Group, INVALID, nullptr, NoXarchOption, 0,
3209
       "Specify the boundary's size to align branches", nullptr, nullptr)
3210
OPTION(prefix_1, llvm::StringLiteral("malign-branch="), malign_branch_EQ, CommaJoined, m_Group, INVALID, nullptr, NoXarchOption, 0,
3211
       "Specify types of branches to align", nullptr, nullptr)
3212
OPTION(prefix_1, llvm::StringLiteral("malign-double"), malign_double, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3213
       "Align doubles to two words in structs (x86 only)", nullptr, nullptr)
3214
OPTION(prefix_1, llvm::StringLiteral("malign-functions="), malign_functions_EQ, Joined, clang_ignored_m_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
3215
OPTION(prefix_1, llvm::StringLiteral("malign-jumps="), malign_jumps_EQ, Joined, clang_ignored_m_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
3216
OPTION(prefix_1, llvm::StringLiteral("malign-loops="), malign_loops_EQ, Joined, clang_ignored_m_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
3217
OPTION(prefix_1, llvm::StringLiteral("maltivec"), maltivec, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3218
OPTION(prefix_1, llvm::StringLiteral("mamdgpu-ieee"), mamdgpu_ieee, Flag, m_Group, INVALID, nullptr, 0, 0,
3219
       "Sets the IEEE bit in the expected default floating point  mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)", nullptr, nullptr)
3220
OPTION(prefix_1, llvm::StringLiteral("mamx-bf16"), mamx_bf16, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3221
OPTION(prefix_1, llvm::StringLiteral("mamx-fp16"), mamx_fp16, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3222
OPTION(prefix_1, llvm::StringLiteral("mamx-int8"), mamx_int8, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3223
OPTION(prefix_1, llvm::StringLiteral("mamx-tile"), mamx_tile, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3224
OPTION(prefix_1, llvm::StringLiteral("mappletvos-version-min="), mappletvos_version_min_EQ, Joined, INVALID, mtvos_version_min_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
3225
OPTION(prefix_1, llvm::StringLiteral("mappletvsimulator-version-min="), mappletvsimulator_version_min_EQ, Joined, INVALID, mtvos_simulator_version_min_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
3226
OPTION(prefix_1, llvm::StringLiteral("march="), march_EQ, Joined, m_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3227
OPTION(prefix_1, llvm::StringLiteral("marm"), marm, Flag, INVALID, mno_thumb, nullptr, 0, 0, nullptr, nullptr, nullptr)
3228
OPTION(prefix_1, llvm::StringLiteral("masm="), masm_EQ, Joined, m_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
3229
OPTION(prefix_1, llvm::StringLiteral("massembler-fatal-warnings"), massembler_fatal_warnings, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
3230
       "Make assembler warnings fatal", nullptr, nullptr)
3231
OPTION(prefix_1, llvm::StringLiteral("massembler-no-warn"), massembler_no_warn, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
3232
       "Make assembler not emit warnings", nullptr, nullptr)
3233
OPTION(prefix_1, llvm::StringLiteral("matomics"), matomics, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3234
OPTION(prefix_1, llvm::StringLiteral("mavx2"), mavx2, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3235
OPTION(prefix_1, llvm::StringLiteral("mavx512bf16"), mavx512bf16, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3236
OPTION(prefix_1, llvm::StringLiteral("mavx512bitalg"), mavx512bitalg, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3237
OPTION(prefix_1, llvm::StringLiteral("mavx512bw"), mavx512bw, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3238
OPTION(prefix_1, llvm::StringLiteral("mavx512cd"), mavx512cd, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3239
OPTION(prefix_1, llvm::StringLiteral("mavx512dq"), mavx512dq, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3240
OPTION(prefix_1, llvm::StringLiteral("mavx512er"), mavx512er, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3241
OPTION(prefix_1, llvm::StringLiteral("mavx512fp16"), mavx512fp16, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3242
OPTION(prefix_1, llvm::StringLiteral("mavx512f"), mavx512f, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3243
OPTION(prefix_1, llvm::StringLiteral("mavx512ifma"), mavx512ifma, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3244
OPTION(prefix_1, llvm::StringLiteral("mavx512pf"), mavx512pf, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3245
OPTION(prefix_1, llvm::StringLiteral("mavx512vbmi2"), mavx512vbmi2, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3246
OPTION(prefix_1, llvm::StringLiteral("mavx512vbmi"), mavx512vbmi, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3247
OPTION(prefix_1, llvm::StringLiteral("mavx512vl"), mavx512vl, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3248
OPTION(prefix_1, llvm::StringLiteral("mavx512vnni"), mavx512vnni, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3249
OPTION(prefix_1, llvm::StringLiteral("mavx512vp2intersect"), mavx512vp2intersect, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3250
OPTION(prefix_1, llvm::StringLiteral("mavx512vpopcntdq"), mavx512vpopcntdq, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3251
OPTION(prefix_1, llvm::StringLiteral("mavxifma"), mavxifma, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3252
OPTION(prefix_1, llvm::StringLiteral("mavxneconvert"), mavxneconvert, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3253
OPTION(prefix_1, llvm::StringLiteral("mavxvnniint8"), mavxvnniint8, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3254
OPTION(prefix_1, llvm::StringLiteral("mavxvnni"), mavxvnni, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3255
OPTION(prefix_1, llvm::StringLiteral("mavx"), mavx, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3256
OPTION(prefix_1, llvm::StringLiteral("mbackchain"), mbackchain, Flag, m_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
3257
       "Link stack frames through backchain on System Z", nullptr, nullptr)
3258
OPTION(prefix_1, llvm::StringLiteral("mbig-endian"), mbig_endian, Flag, INVALID, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
3259
OPTION(prefix_1, llvm::StringLiteral("mbmi2"), mbmi2, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3260
OPTION(prefix_1, llvm::StringLiteral("mbmi"), mbmi, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3261
OPTION(prefix_1, llvm::StringLiteral("mbranch-likely"), mbranch_likely, Flag, m_Group, INVALID, nullptr, HelpHidden, 0, nullptr, nullptr, nullptr)
3262
OPTION(prefix_1, llvm::StringLiteral("mbranch-protection="), mbranch_protection_EQ, Joined, m_Group, INVALID, nullptr, 0, 0,
3263
       "Enforce targets of indirect branches and function returns", nullptr, nullptr)
3264
OPTION(prefix_1, llvm::StringLiteral("mbranch-target-enforce"), mbranch_target_enforce, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
3265
OPTION(prefix_1, llvm::StringLiteral("mbranches-within-32B-boundaries"), mbranches_within_32B_boundaries, Flag, m_Group, INVALID, nullptr, NoXarchOption, 0,
3266
       "Align selected branches (fused, jcc, jmp) within 32-byte boundary", nullptr, nullptr)
3267
OPTION(prefix_1, llvm::StringLiteral("mbulk-memory"), mbulk_memory, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3268
OPTION(prefix_1, llvm::StringLiteral("mcabac"), mcabac, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, 0,
3269
       "Enable CABAC instructions", nullptr, nullptr)
3270
OPTION(prefix_1, llvm::StringLiteral("mcheck-zero-division"), mcheck_zero_division, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3271
OPTION(prefix_1, llvm::StringLiteral("mcldemote"), mcldemote, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3272
OPTION(prefix_1, llvm::StringLiteral("mclflushopt"), mclflushopt, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3273
OPTION(prefix_1, llvm::StringLiteral("mclwb"), mclwb, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3274
OPTION(prefix_1, llvm::StringLiteral("mclzero"), mclzero, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3275
OPTION(prefix_1, llvm::StringLiteral("mcmodel=medany"), mcmodel_EQ_medany, Flag, m_Group, mcmodel_EQ, "medium\0", CC1Option, 0,
3276
       "Equivalent to -mcmodel=medium, compatible with RISC-V gcc.", nullptr, nullptr)
3277
OPTION(prefix_1, llvm::StringLiteral("mcmodel=medlow"), mcmodel_EQ_medlow, Flag, m_Group, mcmodel_EQ, "small\0", CC1Option, 0,
3278
       "Equivalent to -mcmodel=small, compatible with RISC-V gcc.", nullptr, nullptr)
3279
OPTION(prefix_1, llvm::StringLiteral("mcmodel="), mcmodel_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
3280
OPTION(prefix_1, llvm::StringLiteral("mcmpb"), mcmpb, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3281
OPTION(prefix_1, llvm::StringLiteral("mcmpccxadd"), mcmpccxadd, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3282
OPTION(prefix_1, llvm::StringLiteral("mcmse"), mcmse, Flag, m_arm_Features_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
3283
       "Allow use of CMSE (Armv8-M Security Extensions)", nullptr, nullptr)
3284
OPTION(prefix_1, llvm::StringLiteral("mcode-object-v3"), mcode_object_v3_legacy, Flag, m_Group, INVALID, nullptr, 0, 0,
3285
       "Legacy option to specify code object ABI V3 (AMDGPU only)", nullptr, nullptr)
3286
OPTION(prefix_1, llvm::StringLiteral("mcode-object-version="), mcode_object_version_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
3287
       "Specify code object ABI version. Defaults to 4. (AMDGPU only)", nullptr, "none,2,3,4,5")
3288
OPTION(prefix_1, llvm::StringLiteral("mcompact-branches="), mcompact_branches_EQ, Joined, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3289
OPTION(prefix_1, llvm::StringLiteral("mconsole"), mconsole, Joined, m_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
3290
OPTION(prefix_1, llvm::StringLiteral("mconstant-cfstrings"), mconstant_cfstrings, Flag, clang_ignored_m_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
3291
OPTION(prefix_1, llvm::StringLiteral("mconstructor-aliases"), mconstructor_aliases, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3292
       "Enable emitting complete constructors and destructors as aliases when possible", nullptr, nullptr)
3293
OPTION(prefix_1, llvm::StringLiteral("mcpu=?"), mcpu_EQ_QUESTION, Flag, INVALID, print_supported_cpus, nullptr, 0, 0, nullptr, nullptr, nullptr)
3294
OPTION(prefix_1, llvm::StringLiteral("mcpu="), mcpu_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3295
OPTION(prefix_1, llvm::StringLiteral("mcrbits"), mcrbits, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3296
OPTION(prefix_1, llvm::StringLiteral("mcrc32"), mcrc32, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3297
OPTION(prefix_1, llvm::StringLiteral("mcrc"), mcrc, Flag, m_Group, INVALID, nullptr, 0, 0,
3298
       "Allow use of CRC instructions (ARM/Mips only)", nullptr, nullptr)
3299
OPTION(prefix_1, llvm::StringLiteral("mcrypto"), mpower8_crypto, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3300
OPTION(prefix_1, llvm::StringLiteral("mcumode"), mcumode, Flag, m_amdgpu_Features_Group, INVALID, nullptr, 0, 0,
3301
       "Specify CU wavefront execution mode (AMDGPU only)", nullptr, nullptr)
3302
OPTION(prefix_1, llvm::StringLiteral("mcx16"), mcx16, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3303
OPTION(prefix_2, llvm::StringLiteral("MDd"), _SLASH_MDd, Flag, _SLASH_M_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
3304
       "Use DLL debug run-time", nullptr, nullptr)
3305
OPTION(prefix_1, llvm::StringLiteral("mdebug-pass"), mdebug_pass, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3306
       "Enable additional debug output", nullptr, nullptr)
3307
OPTION(prefix_1, llvm::StringLiteral("mdefault-build-attributes"), mdefault_build_attributes, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3308
OPTION(prefix_1, llvm::StringLiteral("mdefault-visibility-export-mapping="), mdefault_visibility_export_mapping_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
3309
       "Mapping between default visibility and export", nullptr, "none,explicit,all")
3310
OPTION(prefix_1, llvm::StringLiteral("mdirect-move"), mdirect_move, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3311
OPTION(prefix_1, llvm::StringLiteral("mdll"), mdll, Joined, m_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
3312
OPTION(prefix_1, llvm::StringLiteral("mdouble-float"), mdouble_float, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3313
OPTION(prefix_1, llvm::StringLiteral("mdouble="), mdouble_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
3314
       "Force double to be <n> bits", "<n", "32,64")
3315
OPTION(prefix_1, llvm::StringLiteral("mdspr2"), mdspr2, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3316
OPTION(prefix_1, llvm::StringLiteral("mdsp"), mdsp, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3317
OPTION(prefix_1, llvm::StringLiteral("mdynamic-no-pic"), mdynamic_no_pic, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3318
OPTION(prefix_1, llvm::StringLiteral("MD"), MD, Flag, M_Group, INVALID, nullptr, 0, 0,
3319
       "Write a depfile containing user and system headers", nullptr, nullptr)
3320
OPTION(prefix_2, llvm::StringLiteral("MD"), _SLASH_MD, Flag, _SLASH_M_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
3321
       "Use DLL run-time", nullptr, nullptr)
3322
OPTION(prefix_1, llvm::StringLiteral("meabi"), meabi, Separate, m_Group, INVALID, nullptr, CC1Option, 0,
3323
       "Set EABI type. Default depends on triple)", nullptr, "default,4,5,gnu")
3324
OPTION(prefix_1, llvm::StringLiteral("mefpu2"), mefpu2, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3325
OPTION(prefix_1, llvm::StringLiteral("membedded-data"), membedded_data, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3326
       "Place constants in the .rodata section instead of the .sdata section even if they meet the -G <size> threshold (MIPS)", nullptr, nullptr)
3327
OPTION(prefix_1, llvm::StringLiteral("menable-experimental-extensions"), menable_experimental_extensions, Flag, m_Group, INVALID, nullptr, 0, 0,
3328
       "Enable use of experimental RISC-V extensions.", nullptr, nullptr)
3329
OPTION(prefix_1, llvm::StringLiteral("menable-no-infs"), menable_no_infinities, Flag, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
3330
       "Allow optimization to assume there are no infinities.", nullptr, nullptr)
3331
OPTION(prefix_1, llvm::StringLiteral("menable-no-nans"), menable_no_nans, Flag, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
3332
       "Allow optimization to assume there are no NaNs.", nullptr, nullptr)
3333
OPTION(prefix_1, llvm::StringLiteral("menqcmd"), menqcmd, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3334
OPTION(prefix_1, llvm::StringLiteral("mexception-handling"), mexception_handing, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3335
OPTION(prefix_1, llvm::StringLiteral("mexec-model="), mexec_model_EQ, Joined, m_wasm_Features_Driver_Group, INVALID, nullptr, 0, 0,
3336
       "Execution model (WebAssembly only)", nullptr, "command,reactor")
3337
OPTION(prefix_1, llvm::StringLiteral("mexecute-only"), mexecute_only, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3338
       "Disallow generation of data access to code sections (ARM only)", nullptr, nullptr)
3339
OPTION(prefix_1, llvm::StringLiteral("mextended-const"), mextended_const, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3340
OPTION(prefix_1, llvm::StringLiteral("mextern-sdata"), mextern_sdata, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3341
       "Assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)", nullptr, nullptr)
3342
OPTION(prefix_1, llvm::StringLiteral("mf16c"), mf16c, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3343
OPTION(prefix_1, llvm::StringLiteral("mfancy-math-387"), mfancy_math_387, Flag, clang_ignored_m_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
3344
OPTION(prefix_1, llvm::StringLiteral("mfentry"), mfentry, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3345
       "Insert calls to fentry at function entry (x86/SystemZ only)", nullptr, nullptr)
3346
OPTION(prefix_1, llvm::StringLiteral("mfix-and-continue"), mfix_and_continue, Flag, clang_ignored_m_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
3347
OPTION(prefix_1, llvm::StringLiteral("mfix-cmse-cve-2021-35465"), mfix_cmse_cve_2021_35465, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3348
       "Work around VLLDM erratum CVE-2021-35465 (ARM only)", nullptr, nullptr)
3349
OPTION(prefix_1, llvm::StringLiteral("mfix-cortex-a53-835769"), mfix_cortex_a53_835769, Flag, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
3350
       "Workaround Cortex-A53 erratum 835769 (AArch64 only)", nullptr, nullptr)
3351
OPTION(prefix_1, llvm::StringLiteral("mfix-cortex-a57-aes-1742098"), mfix_cortex_a57_aes_1742098, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3352
       "Work around Cortex-A57 Erratum 1742098 (ARM only)", nullptr, nullptr)
3353
OPTION(prefix_1, llvm::StringLiteral("mfix-cortex-a72-aes-1655431"), mfix_cortex_a72_aes_1655431, Flag, m_arm_Features_Group, mfix_cortex_a57_aes_1742098, nullptr, 0, 0,
3354
       "Work around Cortex-A72 Erratum 1655431 (ARM only)", nullptr, nullptr)
3355
OPTION(prefix_1, llvm::StringLiteral("mfix4300"), mfix4300, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3356
OPTION(prefix_1, llvm::StringLiteral("mfloat-abi="), mfloat_abi_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, "soft,softfp,hard")
3357
OPTION(prefix_1, llvm::StringLiteral("mfloat-abi"), mfloat_abi, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3358
       "The float ABI to use", nullptr, nullptr)
3359
OPTION(prefix_1, llvm::StringLiteral("mfloat128"), mfloat128, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3360
OPTION(prefix_1, llvm::StringLiteral("mfma4"), mfma4, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3361
OPTION(prefix_1, llvm::StringLiteral("mfma"), mfma, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3362
OPTION(prefix_1, llvm::StringLiteral("mfp32"), mfp32, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3363
       "Use 32-bit floating point registers (MIPS only)", nullptr, nullptr)
3364
OPTION(prefix_1, llvm::StringLiteral("mfp64"), mfp64, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3365
       "Use 64-bit floating point registers (MIPS only)", nullptr, nullptr)
3366
OPTION(prefix_1, llvm::StringLiteral("mfpmath="), mfpmath_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3367
OPTION(prefix_1, llvm::StringLiteral("mfpmath"), mfpmath, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3368
       "Which unit to use for fp math", nullptr, nullptr)
3369
OPTION(prefix_1, llvm::StringLiteral("mfprnd"), mfprnd, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3370
OPTION(prefix_1, llvm::StringLiteral("mfpu="), mfpu_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3371
OPTION(prefix_1, llvm::StringLiteral("mfpu"), mfpu, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3372
OPTION(prefix_1, llvm::StringLiteral("mfpxx"), mfpxx, Flag, m_mips_Features_Group, INVALID, nullptr, HelpHidden, 0,
3373
       "Avoid FPU mode dependent operations when used with the O32 ABI", nullptr, nullptr)
3374
OPTION(prefix_1, llvm::StringLiteral("mframe-chain="), mframe_chain, Joined, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3375
       "Select the frame chain model used to emit frame records (Arm only).", nullptr, "none,aapcs,aapcs+leaf")
3376
OPTION(prefix_1, llvm::StringLiteral("mframe-pointer="), mframe_pointer_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3377
       "Specify which frame pointers to retain.", nullptr, "all,non-leaf,none")
3378
OPTION(prefix_1, llvm::StringLiteral("mfsgsbase"), mfsgsbase, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3379
OPTION(prefix_1, llvm::StringLiteral("mfsmuld"), mfsmuld, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3380
OPTION(prefix_1, llvm::StringLiteral("mfunction-return="), mfunction_return_EQ, Joined, m_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
3381
       "Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)", nullptr, "keep,thunk-extern")
3382
OPTION(prefix_1, llvm::StringLiteral("mfxsr"), mfxsr, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3383
OPTION(prefix_1, llvm::StringLiteral("MF"), MF, JoinedOrSeparate, M_Group, INVALID, nullptr, 0, 0,
3384
       "Write depfile output from -MMD, -MD, -MM, or -M to <file>", "<file>", nullptr)
3385
OPTION(prefix_1, llvm::StringLiteral("mgeneral-regs-only"), mgeneral_regs_only, Flag, m_Group, INVALID, nullptr, 0, 0,
3386
       "Generate code which only uses the general purpose registers (AArch64/x86 only)", nullptr, nullptr)
3387
OPTION(prefix_1, llvm::StringLiteral("mgfni"), mgfni, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3388
OPTION(prefix_1, llvm::StringLiteral("mginv"), mginv, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3389
OPTION(prefix_1, llvm::StringLiteral("mglibc"), mglibc, Flag, m_libc_Group, INVALID, nullptr, HelpHidden | HelpHidden, 0, nullptr, nullptr, nullptr)
3390
OPTION(prefix_1, llvm::StringLiteral("mglobal-merge"), mglobal_merge, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3391
       "Enable merging of globals", nullptr, nullptr)
3392
OPTION(prefix_1, llvm::StringLiteral("mgpopt"), mgpopt, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3393
       "Use GP relative accesses for symbols known to be in a small data section (MIPS)", nullptr, nullptr)
3394
OPTION(prefix_1, llvm::StringLiteral("mguard="), mguard_EQ, Joined, m_Group, INVALID, nullptr, NoXarchOption, 0,
3395
       "Enable or disable Control Flow Guard checks and guard tables emission", nullptr, "none,cf,cf-nochecks")
3396
OPTION(prefix_1, llvm::StringLiteral("MG"), MG, Flag, M_Group, INVALID, nullptr, CC1Option, 0,
3397
       "Add missing headers to depfile", nullptr, nullptr)
3398
OPTION(prefix_1, llvm::StringLiteral("mhard-float"), mhard_float, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3399
OPTION(prefix_1, llvm::StringLiteral("mhard-quad-float"), mhard_quad_float, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3400
OPTION(prefix_1, llvm::StringLiteral("mharden-sls="), mharden_sls_EQ, Joined, INVALID, INVALID, nullptr, 0, 0,
3401
       "Select straight-line speculation hardening scope (ARM/AArch64/X86 only). <arg> must be: all, none, retbr(ARM/AArch64), blr(ARM/AArch64), comdat(ARM/AArch64), nocomdat(ARM/AArch64), return(X86), indirect-jmp(X86)", nullptr, nullptr)
3402
OPTION(prefix_1, llvm::StringLiteral("mhreset"), mhreset, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3403
OPTION(prefix_1, llvm::StringLiteral("mhtm"), mhtm, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3404
OPTION(prefix_1, llvm::StringLiteral("mhvx-ieee-fp"), mhexagon_hvx_ieee_fp, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, 0,
3405
       "Enable Hexagon HVX IEEE floating-point", nullptr, nullptr)
3406
OPTION(prefix_1, llvm::StringLiteral("mhvx-length="), mhexagon_hvx_length_EQ, Joined, m_hexagon_Features_HVX_Group, INVALID, nullptr, 0, 0,
3407
       "Set Hexagon Vector Length", nullptr, "64B,128B")
3408
OPTION(prefix_1, llvm::StringLiteral("mhvx-qfloat"), mhexagon_hvx_qfloat, Flag, m_hexagon_Features_HVX_Group, INVALID, nullptr, 0, 0,
3409
       "Enable Hexagon HVX QFloat instructions", nullptr, nullptr)
3410
OPTION(prefix_1, llvm::StringLiteral("mhvx="), mhexagon_hvx_EQ, Joined, m_hexagon_Features_HVX_Group, INVALID, nullptr, 0, 0,
3411
       "Enable Hexagon Vector eXtensions", nullptr, nullptr)
3412
OPTION(prefix_1, llvm::StringLiteral("mhvx"), mhexagon_hvx, Flag, m_hexagon_Features_HVX_Group, INVALID, nullptr, 0, 0,
3413
       "Enable Hexagon Vector eXtensions", nullptr, nullptr)
3414
OPTION(prefix_3, llvm::StringLiteral("mhwdiv="), _mhwdiv_EQ, Joined, INVALID, mhwdiv_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
3415
OPTION(prefix_1, llvm::StringLiteral("mhwdiv="), mhwdiv_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3416
OPTION(prefix_3, llvm::StringLiteral("mhwdiv"), _mhwdiv, Separate, INVALID, mhwdiv_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
3417
OPTION(prefix_1, llvm::StringLiteral("mhwmult="), mhwmult_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3418
OPTION(prefix_1, llvm::StringLiteral("miamcu"), miamcu, Flag, m_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
3419
       "Use Intel MCU ABI", nullptr, nullptr)
3420
OPTION(prefix_1, llvm::StringLiteral("mieee-fp"), mieee_fp, Flag, clang_ignored_m_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
3421
OPTION(prefix_1, llvm::StringLiteral("mieee-rnd-near"), mieee_rnd_near, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3422
OPTION(prefix_1, llvm::StringLiteral("mignore-xcoff-visibility"), mignore_xcoff_visibility, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3423
       "Not emit the visibility attribute for asm in AIX OS or give all symbols 'unspecified' visibility in XCOFF object file", nullptr, nullptr)
3424
OPTION(prefix_3, llvm::StringLiteral("migrate"), _migrate, Flag, INVALID, INVALID, nullptr, NoXarchOption, 0,
3425
       "Run the migrator", nullptr, nullptr)
3426
OPTION(prefix_1, llvm::StringLiteral("migrate"), migrate, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3427
       "Migrate source code", nullptr, nullptr)
3428
OPTION(prefix_1, llvm::StringLiteral("mimplicit-float"), mimplicit_float, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3429
OPTION(prefix_1, llvm::StringLiteral("mimplicit-it="), mimplicit_it_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3430
OPTION(prefix_1, llvm::StringLiteral("mincremental-linker-compatible"), mincremental_linker_compatible, Flag, m_Group, INVALID, nullptr, CC1Option | CC1AsOption, 0,
3431
       "(integrated-as) Emit an object file which can be used with an incremental linker", nullptr, nullptr)
3432
OPTION(prefix_1, llvm::StringLiteral("mindirect-branch-cs-prefix"), mindirect_branch_cs_prefix, Flag, m_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
3433
       "Add cs prefix to call and jmp to indirect thunk", nullptr, nullptr)
3434
OPTION(prefix_1, llvm::StringLiteral("mindirect-jump="), mindirect_jump_EQ, Joined, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3435
       "Change indirect jump instructions to inhibit speculation", nullptr, nullptr)
3436
OPTION(prefix_1, llvm::StringLiteral("minline-all-stringops"), minline_all_stringops, Flag, clang_ignored_m_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
3437
OPTION(prefix_1, llvm::StringLiteral("minvariant-function-descriptors"), minvariant_function_descriptors, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3438
OPTION(prefix_1, llvm::StringLiteral("minvpcid"), minvpcid, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3439
OPTION(prefix_1, llvm::StringLiteral("mios-simulator-version-min="), mios_simulator_version_min_EQ, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3440
OPTION(prefix_1, llvm::StringLiteral("mios-version-min="), mios_version_min_EQ, Joined, m_Group, INVALID, nullptr, 0, 0,
3441
       "Set iOS deployment target", nullptr, nullptr)
3442
OPTION(prefix_1, llvm::StringLiteral("miphoneos-version-min="), anonymous_1290, Joined, m_Group, mios_version_min_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
3443
OPTION(prefix_1, llvm::StringLiteral("miphonesimulator-version-min="), anonymous_1291, Joined, INVALID, mios_simulator_version_min_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
3444
OPTION(prefix_1, llvm::StringLiteral("mips16"), mips16, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3445
OPTION(prefix_1, llvm::StringLiteral("mips1"), mips1, Flag, m_mips_Features_Group, march_EQ, "mips1\0", HelpHidden, 0,
3446
       "Equivalent to -march=mips1", nullptr, nullptr)
3447
OPTION(prefix_1, llvm::StringLiteral("mips2"), mips2, Flag, m_mips_Features_Group, march_EQ, "mips2\0", HelpHidden, 0,
3448
       "Equivalent to -march=mips2", nullptr, nullptr)
3449
OPTION(prefix_1, llvm::StringLiteral("mips32r2"), mips32r2, Flag, m_mips_Features_Group, march_EQ, "mips32r2\0", HelpHidden, 0,
3450
       "Equivalent to -march=mips32r2", nullptr, nullptr)
3451
OPTION(prefix_1, llvm::StringLiteral("mips32r3"), mips32r3, Flag, m_mips_Features_Group, march_EQ, "mips32r3\0", HelpHidden, 0,
3452
       "Equivalent to -march=mips32r3", nullptr, nullptr)
3453
OPTION(prefix_1, llvm::StringLiteral("mips32r5"), mips32r5, Flag, m_mips_Features_Group, march_EQ, "mips32r5\0", HelpHidden, 0,
3454
       "Equivalent to -march=mips32r5", nullptr, nullptr)
3455
OPTION(prefix_1, llvm::StringLiteral("mips32r6"), mips32r6, Flag, m_mips_Features_Group, march_EQ, "mips32r6\0", HelpHidden, 0,
3456
       "Equivalent to -march=mips32r6", nullptr, nullptr)
3457
OPTION(prefix_1, llvm::StringLiteral("mips32"), mips32, Flag, m_mips_Features_Group, march_EQ, "mips32\0", HelpHidden, 0,
3458
       "Equivalent to -march=mips32", nullptr, nullptr)
3459
OPTION(prefix_1, llvm::StringLiteral("mips3"), mips3, Flag, m_mips_Features_Group, march_EQ, "mips3\0", HelpHidden, 0,
3460
       "Equivalent to -march=mips3", nullptr, nullptr)
3461
OPTION(prefix_1, llvm::StringLiteral("mips4"), mips4, Flag, m_mips_Features_Group, march_EQ, "mips4\0", HelpHidden, 0,
3462
       "Equivalent to -march=mips4", nullptr, nullptr)
3463
OPTION(prefix_1, llvm::StringLiteral("mips5"), mips5, Flag, m_mips_Features_Group, march_EQ, "mips5\0", HelpHidden, 0,
3464
       "Equivalent to -march=mips5", nullptr, nullptr)
3465
OPTION(prefix_1, llvm::StringLiteral("mips64r2"), mips64r2, Flag, m_mips_Features_Group, march_EQ, "mips64r2\0", HelpHidden, 0,
3466
       "Equivalent to -march=mips64r2", nullptr, nullptr)
3467
OPTION(prefix_1, llvm::StringLiteral("mips64r3"), mips64r3, Flag, m_mips_Features_Group, march_EQ, "mips64r3\0", HelpHidden, 0,
3468
       "Equivalent to -march=mips64r3", nullptr, nullptr)
3469
OPTION(prefix_1, llvm::StringLiteral("mips64r5"), mips64r5, Flag, m_mips_Features_Group, march_EQ, "mips64r5\0", HelpHidden, 0,
3470
       "Equivalent to -march=mips64r5", nullptr, nullptr)
3471
OPTION(prefix_1, llvm::StringLiteral("mips64r6"), mips64r6, Flag, m_mips_Features_Group, march_EQ, "mips64r6\0", HelpHidden, 0,
3472
       "Equivalent to -march=mips64r6", nullptr, nullptr)
3473
OPTION(prefix_1, llvm::StringLiteral("mips64"), mips64, Flag, m_mips_Features_Group, march_EQ, "mips64\0", HelpHidden, 0,
3474
       "Equivalent to -march=mips64", nullptr, nullptr)
3475
OPTION(prefix_1, llvm::StringLiteral("misel"), misel, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3476
OPTION(prefix_1, llvm::StringLiteral("MJ"), MJ, JoinedOrSeparate, M_Group, INVALID, nullptr, 0, 0,
3477
       "Write a compilation database entry per input", nullptr, nullptr)
3478
OPTION(prefix_1, llvm::StringLiteral("mkernel"), mkernel, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3479
OPTION(prefix_1, llvm::StringLiteral("mkl"), mkl, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3480
OPTION(prefix_1, llvm::StringLiteral("mldc1-sdc1"), mldc1_sdc1, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3481
OPTION(prefix_1, llvm::StringLiteral("mlimit-float-precision"), mlimit_float_precision, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3482
       "Limit float precision to the given value", nullptr, nullptr)
3483
OPTION(prefix_1, llvm::StringLiteral("mlink-bitcode-file"), mlink_bitcode_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3484
       "Link the given bitcode file before performing optimizations.", nullptr, nullptr)
3485
OPTION(prefix_1, llvm::StringLiteral("mlink-builtin-bitcode"), mlink_builtin_bitcode, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3486
       "Link and internalize needed symbols from the given bitcode file before performing optimizations.", nullptr, nullptr)
3487
OPTION(prefix_1, llvm::StringLiteral("mlinker-version="), mlinker_version_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
3488
OPTION(prefix_1, llvm::StringLiteral("mlittle-endian"), mlittle_endian, Flag, INVALID, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
3489
OPTION(prefix_1, llvm::StringLiteral("mllvm"), mllvm, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | CoreOption | FC1Option | FlangOption, 0,
3490
       "Additional arguments to forward to LLVM's option processing", nullptr, nullptr)
3491
OPTION(prefix_1, llvm::StringLiteral("mlocal-sdata"), mlocal_sdata, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3492
       "Extend the -G behaviour to object local data (MIPS)", nullptr, nullptr)
3493
OPTION(prefix_1, llvm::StringLiteral("mlong-calls"), mlong_calls, Flag, m_Group, INVALID, nullptr, 0, 0,
3494
       "Generate branches with extended addressability, usually via indirect jumps.", nullptr, nullptr)
3495
OPTION(prefix_1, llvm::StringLiteral("mlong-double-128"), mlong_double_128, Flag, LongDouble_Group, INVALID, nullptr, CC1Option, 0,
3496
       "Force long double to be 128 bits", nullptr, nullptr)
3497
OPTION(prefix_1, llvm::StringLiteral("mlong-double-64"), mlong_double_64, Flag, LongDouble_Group, INVALID, nullptr, CC1Option, 0,
3498
       "Force long double to be 64 bits", nullptr, nullptr)
3499
OPTION(prefix_1, llvm::StringLiteral("mlong-double-80"), mlong_double_80, Flag, LongDouble_Group, INVALID, nullptr, CC1Option, 0,
3500
       "Force long double to be 80 bits, padded to 128 bits for storage", nullptr, nullptr)
3501
OPTION(prefix_1, llvm::StringLiteral("mlongcall"), mlongcall, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3502
OPTION(prefix_1, llvm::StringLiteral("mlvi-cfi"), mlvi_cfi, Flag, m_Group, INVALID, nullptr, CoreOption | NoXarchOption, 0,
3503
       "Enable only control-flow mitigations for Load Value Injection (LVI)", nullptr, nullptr)
3504
OPTION(prefix_1, llvm::StringLiteral("mlvi-hardening"), mlvi_hardening, Flag, m_Group, INVALID, nullptr, CoreOption | NoXarchOption, 0,
3505
       "Enable all mitigations for Load Value Injection (LVI)", nullptr, nullptr)
3506
OPTION(prefix_1, llvm::StringLiteral("mlwp"), mlwp, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3507
OPTION(prefix_1, llvm::StringLiteral("mlzcnt"), mlzcnt, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3508
OPTION(prefix_1, llvm::StringLiteral("mmacos-version-min="), mmacos_version_min_EQ, Joined, m_Group, INVALID, nullptr, 0, 0,
3509
       "Set macOS deployment target", nullptr, nullptr)
3510
OPTION(prefix_1, llvm::StringLiteral("mmacosx-version-min="), anonymous_1294, Joined, m_Group, mmacos_version_min_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
3511
OPTION(prefix_1, llvm::StringLiteral("mmadd4"), mmadd4, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3512
       "Enable the generation of 4-operand madd.s, madd.d and related instructions.", nullptr, nullptr)
3513
OPTION(prefix_1, llvm::StringLiteral("mmark-bti-property"), mmark_bti_property, Flag, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
3514
       "Add .note.gnu.property with BTI to assembly files (AArch64 only)", nullptr, nullptr)
3515
OPTION(prefix_1, llvm::StringLiteral("mmcu="), mmcu_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3516
OPTION(prefix_1, llvm::StringLiteral("MMD"), MMD, Flag, M_Group, INVALID, nullptr, 0, 0,
3517
       "Write a depfile containing user headers", nullptr, nullptr)
3518
OPTION(prefix_1, llvm::StringLiteral("mmemops"), mmemops, Flag, m_hexagon_Features_Group, INVALID, nullptr, CC1Option, 0,
3519
       "Enable generation of memop instructions", nullptr, nullptr)
3520
OPTION(prefix_1, llvm::StringLiteral("mmfcrf"), mmfcrf, Flag, INVALID, mmfocrf, nullptr, 0, 0, nullptr, nullptr, nullptr)
3521
OPTION(prefix_1, llvm::StringLiteral("mmfocrf"), mmfocrf, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3522
OPTION(prefix_1, llvm::StringLiteral("mmicromips"), mmicromips, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3523
OPTION(prefix_1, llvm::StringLiteral("mmlir"), mmlir, Separate, INVALID, INVALID, nullptr, CoreOption | FC1Option | FlangOption, 0,
3524
       "Additional arguments to forward to MLIR's option processing", nullptr, nullptr)
3525
OPTION(prefix_1, llvm::StringLiteral("mmma"), mmma, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3526
OPTION(prefix_1, llvm::StringLiteral("mmmx"), mmmx, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3527
OPTION(prefix_1, llvm::StringLiteral("mmovbe"), mmovbe, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3528
OPTION(prefix_1, llvm::StringLiteral("mmovdir64b"), mmovdir64b, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3529
OPTION(prefix_1, llvm::StringLiteral("mmovdiri"), mmovdiri, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3530
OPTION(prefix_1, llvm::StringLiteral("mmpx"), mmpx, Flag, clang_ignored_legacy_options_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
3531
OPTION(prefix_1, llvm::StringLiteral("mms-bitfields"), mms_bitfields, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3532
       "Set the default structure layout to be compatible with the Microsoft compiler standard", nullptr, nullptr)
3533
OPTION(prefix_1, llvm::StringLiteral("mmsa"), mmsa, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3534
       "Enable MSA ASE (MIPS only)", nullptr, nullptr)
3535
OPTION(prefix_1, llvm::StringLiteral("mmt"), mmt, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3536
       "Enable MT ASE (MIPS only)", nullptr, nullptr)
3537
OPTION(prefix_1, llvm::StringLiteral("mmultivalue"), mmultivalue, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3538
OPTION(prefix_1, llvm::StringLiteral("mmutable-globals"), mmutable_globals, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3539
OPTION(prefix_1, llvm::StringLiteral("mmwaitx"), mmwaitx, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3540
OPTION(prefix_1, llvm::StringLiteral("MM"), MM, Flag, M_Group, INVALID, nullptr, 0, 0,
3541
       "Like -MMD, but also implies -E and writes to stdout by default", nullptr, nullptr)
3542
OPTION(prefix_1, llvm::StringLiteral("mnan="), mnan_EQ, Joined, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3543
OPTION(prefix_1, llvm::StringLiteral("mno-3dnowa"), mno_3dnowa, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3544
OPTION(prefix_1, llvm::StringLiteral("mno-3dnow"), mno_3dnow, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3545
OPTION(prefix_1, llvm::StringLiteral("mno-80387"), mno_80387, Flag, INVALID, mno_x87, nullptr, 0, 0, nullptr, nullptr, nullptr)
3546
OPTION(prefix_1, llvm::StringLiteral("mno-abicalls"), mno_abicalls, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3547
       "Disable SVR4-style position-independent code (Mips only)", nullptr, nullptr)
3548
OPTION(prefix_1, llvm::StringLiteral("mno-adx"), mno_adx, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3549
OPTION(prefix_1, llvm::StringLiteral("mno-aes"), mno_aes, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3550
OPTION(prefix_1, llvm::StringLiteral("mno-altivec"), mno_altivec, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3551
OPTION(prefix_1, llvm::StringLiteral("mno-amdgpu-ieee"), mno_amdgpu_ieee, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3552
       "", nullptr, nullptr)
3553
OPTION(prefix_1, llvm::StringLiteral("mno-amx-bf16"), mno_amx_bf16, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3554
OPTION(prefix_1, llvm::StringLiteral("mno-amx-fp16"), mno_amx_fp16, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3555
OPTION(prefix_1, llvm::StringLiteral("mno-amx-int8"), mno_amx_int8, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3556
OPTION(prefix_1, llvm::StringLiteral("mno-amx-tile"), mno_amx_tile, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3557
OPTION(prefix_1, llvm::StringLiteral("mno-atomics"), mno_atomics, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3558
OPTION(prefix_1, llvm::StringLiteral("mno-avx2"), mno_avx2, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3559
OPTION(prefix_1, llvm::StringLiteral("mno-avx512bf16"), mno_avx512bf16, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3560
OPTION(prefix_1, llvm::StringLiteral("mno-avx512bitalg"), mno_avx512bitalg, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3561
OPTION(prefix_1, llvm::StringLiteral("mno-avx512bw"), mno_avx512bw, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3562
OPTION(prefix_1, llvm::StringLiteral("mno-avx512cd"), mno_avx512cd, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3563
OPTION(prefix_1, llvm::StringLiteral("mno-avx512dq"), mno_avx512dq, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3564
OPTION(prefix_1, llvm::StringLiteral("mno-avx512er"), mno_avx512er, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3565
OPTION(prefix_1, llvm::StringLiteral("mno-avx512fp16"), mno_avx512fp16, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3566
OPTION(prefix_1, llvm::StringLiteral("mno-avx512f"), mno_avx512f, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3567
OPTION(prefix_1, llvm::StringLiteral("mno-avx512ifma"), mno_avx512ifma, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3568
OPTION(prefix_1, llvm::StringLiteral("mno-avx512pf"), mno_avx512pf, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3569
OPTION(prefix_1, llvm::StringLiteral("mno-avx512vbmi2"), mno_avx512vbmi2, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3570
OPTION(prefix_1, llvm::StringLiteral("mno-avx512vbmi"), mno_avx512vbmi, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3571
OPTION(prefix_1, llvm::StringLiteral("mno-avx512vl"), mno_avx512vl, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3572
OPTION(prefix_1, llvm::StringLiteral("mno-avx512vnni"), mno_avx512vnni, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3573
OPTION(prefix_1, llvm::StringLiteral("mno-avx512vp2intersect"), mno_avx512vp2intersect, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3574
OPTION(prefix_1, llvm::StringLiteral("mno-avx512vpopcntdq"), mno_avx512vpopcntdq, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3575
OPTION(prefix_1, llvm::StringLiteral("mno-avxifma"), mno_avxifma, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3576
OPTION(prefix_1, llvm::StringLiteral("mno-avxneconvert"), mno_avxneconvert, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3577
OPTION(prefix_1, llvm::StringLiteral("mno-avxvnniint8"), mno_avxvnniint8, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3578
OPTION(prefix_1, llvm::StringLiteral("mno-avxvnni"), mno_avxvnni, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3579
OPTION(prefix_1, llvm::StringLiteral("mno-avx"), mno_avx, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3580
OPTION(prefix_1, llvm::StringLiteral("mno-backchain"), mno_backchain, Flag, m_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
3581
       "", nullptr, nullptr)
3582
OPTION(prefix_1, llvm::StringLiteral("mno-bmi2"), mno_bmi2, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3583
OPTION(prefix_1, llvm::StringLiteral("mno-bmi"), mno_bmi, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3584
OPTION(prefix_1, llvm::StringLiteral("mno-branch-likely"), mno_branch_likely, Flag, m_Group, INVALID, nullptr, HelpHidden, 0, nullptr, nullptr, nullptr)
3585
OPTION(prefix_1, llvm::StringLiteral("mno-bti-at-return-twice"), mno_bti_at_return_twice, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3586
       "Do not add a BTI instruction after a setjmp or other return-twice construct (Arm/AArch64 only)", nullptr, nullptr)
3587
OPTION(prefix_1, llvm::StringLiteral("mno-bulk-memory"), mno_bulk_memory, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3588
OPTION(prefix_1, llvm::StringLiteral("mno-check-zero-division"), mno_check_zero_division, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3589
OPTION(prefix_1, llvm::StringLiteral("mno-cldemote"), mno_cldemote, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3590
OPTION(prefix_1, llvm::StringLiteral("mno-clflushopt"), mno_clflushopt, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3591
OPTION(prefix_1, llvm::StringLiteral("mno-clwb"), mno_clwb, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3592
OPTION(prefix_1, llvm::StringLiteral("mno-clzero"), mno_clzero, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3593
OPTION(prefix_1, llvm::StringLiteral("mno-cmpb"), mno_cmpb, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3594
OPTION(prefix_1, llvm::StringLiteral("mno-cmpccxadd"), mno_cmpccxadd, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3595
OPTION(prefix_1, llvm::StringLiteral("mno-code-object-v3"), mno_code_object_v3_legacy, Flag, m_Group, INVALID, nullptr, 0, 0,
3596
       "Legacy option to specify code object ABI V2 (AMDGPU only)", nullptr, nullptr)
3597
OPTION(prefix_1, llvm::StringLiteral("mno-constant-cfstrings"), mno_constant_cfstrings, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3598
OPTION(prefix_1, llvm::StringLiteral("mno-constructor-aliases"), mno_constructor_aliases, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3599
       "Disable emitting complete constructors and destructors as aliases when possible", nullptr, nullptr)
3600
OPTION(prefix_1, llvm::StringLiteral("mno-crbits"), mno_crbits, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3601
OPTION(prefix_1, llvm::StringLiteral("mno-crc32"), mno_crc32, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3602
OPTION(prefix_1, llvm::StringLiteral("mno-crc"), mno_crc, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3603
       "Disallow use of CRC instructions (Mips only)", nullptr, nullptr)
3604
OPTION(prefix_1, llvm::StringLiteral("mno-crypto"), mnopower8_crypto, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3605
OPTION(prefix_1, llvm::StringLiteral("mno-cumode"), mno_cumode, Flag, m_amdgpu_Features_Group, INVALID, nullptr, 0, 0,
3606
       "Specify WGP wavefront execution mode (AMDGPU only)", nullptr, nullptr)
3607
OPTION(prefix_1, llvm::StringLiteral("mno-cx16"), mno_cx16, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3608
OPTION(prefix_1, llvm::StringLiteral("mno-default-build-attributes"), mno_default_build_attributes, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3609
OPTION(prefix_1, llvm::StringLiteral("mno-direct-move"), mnodirect_move, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3610
OPTION(prefix_1, llvm::StringLiteral("mno-dspr2"), mno_dspr2, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3611
OPTION(prefix_1, llvm::StringLiteral("mno-dsp"), mno_dsp, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3612
OPTION(prefix_1, llvm::StringLiteral("mno-embedded-data"), mno_embedded_data, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3613
       "Do not place constants in the .rodata section instead of the .sdata if they meet the -G <size> threshold (MIPS)", nullptr, nullptr)
3614
OPTION(prefix_1, llvm::StringLiteral("mno-enqcmd"), mno_enqcmd, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3615
OPTION(prefix_1, llvm::StringLiteral("mno-exception-handling"), mno_exception_handing, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3616
OPTION(prefix_1, llvm::StringLiteral("mno-execute-only"), mno_execute_only, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3617
       "Allow generation of data access to code sections (ARM only)", nullptr, nullptr)
3618
OPTION(prefix_1, llvm::StringLiteral("mno-extended-const"), mno_extended_const, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3619
OPTION(prefix_1, llvm::StringLiteral("mno-extern-sdata"), mno_extern_sdata, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3620
       "Do not assume that externally defined data is in the small data if it meets the -G <size> threshold (MIPS)", nullptr, nullptr)
3621
OPTION(prefix_1, llvm::StringLiteral("mno-f16c"), mno_f16c, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3622
OPTION(prefix_1, llvm::StringLiteral("mno-fix-cmse-cve-2021-35465"), mno_fix_cmse_cve_2021_35465, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3623
       "Don't work around VLLDM erratum CVE-2021-35465 (ARM only)", nullptr, nullptr)
3624
OPTION(prefix_1, llvm::StringLiteral("mno-fix-cortex-a53-835769"), mno_fix_cortex_a53_835769, Flag, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
3625
       "Don't workaround Cortex-A53 erratum 835769 (AArch64 only)", nullptr, nullptr)
3626
OPTION(prefix_1, llvm::StringLiteral("mno-fix-cortex-a57-aes-1742098"), mno_fix_cortex_a57_aes_1742098, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3627
       "Don't work around Cortex-A57 Erratum 1742098 (ARM only)", nullptr, nullptr)
3628
OPTION(prefix_1, llvm::StringLiteral("mno-fix-cortex-a72-aes-1655431"), mno_fix_cortex_a72_aes_1655431, Flag, m_arm_Features_Group, mno_fix_cortex_a57_aes_1742098, nullptr, 0, 0,
3629
       "Don't work around Cortex-A72 Erratum 1655431 (ARM only)", nullptr, nullptr)
3630
OPTION(prefix_1, llvm::StringLiteral("mno-float128"), mno_float128, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3631
OPTION(prefix_1, llvm::StringLiteral("mno-fma4"), mno_fma4, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3632
OPTION(prefix_1, llvm::StringLiteral("mno-fma"), mno_fma, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3633
OPTION(prefix_1, llvm::StringLiteral("mno-fmv"), mno_fmv, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
3634
       "Disable function multiversioning", nullptr, nullptr)
3635
OPTION(prefix_1, llvm::StringLiteral("mno-fp-ret-in-387"), mno_fp_ret_in_387, Flag, INVALID, mno_x87, nullptr, 0, 0, nullptr, nullptr, nullptr)
3636
OPTION(prefix_1, llvm::StringLiteral("mno-fprnd"), mno_fprnd, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3637
OPTION(prefix_1, llvm::StringLiteral("mno-fpu"), mno_fpu, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3638
OPTION(prefix_1, llvm::StringLiteral("mno-fsgsbase"), mno_fsgsbase, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3639
OPTION(prefix_1, llvm::StringLiteral("mno-fsmuld"), mno_fsmuld, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3640
OPTION(prefix_1, llvm::StringLiteral("mno-fxsr"), mno_fxsr, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3641
OPTION(prefix_1, llvm::StringLiteral("mno-gfni"), mno_gfni, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3642
OPTION(prefix_1, llvm::StringLiteral("mno-ginv"), mno_ginv, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3643
OPTION(prefix_1, llvm::StringLiteral("mno-global-merge"), mno_global_merge, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3644
       "Disable merging of globals", nullptr, nullptr)
3645
OPTION(prefix_1, llvm::StringLiteral("mno-gpopt"), mno_gpopt, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3646
       "Do not use GP relative accesses for symbols known to be in a small data section (MIPS)", nullptr, nullptr)
3647
OPTION(prefix_1, llvm::StringLiteral("mno-hreset"), mno_hreset, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3648
OPTION(prefix_1, llvm::StringLiteral("mno-htm"), mno_htm, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3649
OPTION(prefix_1, llvm::StringLiteral("mno-hvx-ieee-fp"), mno_hexagon_hvx_ieee_fp, Flag, m_hexagon_Features_Group, INVALID, nullptr, 0, 0,
3650
       "Disable Hexagon HVX IEEE floating-point", nullptr, nullptr)
3651
OPTION(prefix_1, llvm::StringLiteral("mno-hvx-qfloat"), mno_hexagon_hvx_qfloat, Flag, m_hexagon_Features_HVX_Group, INVALID, nullptr, 0, 0,
3652
       "Disable Hexagon HVX QFloat instructions", nullptr, nullptr)
3653
OPTION(prefix_1, llvm::StringLiteral("mno-hvx"), mno_hexagon_hvx, Flag, m_hexagon_Features_HVX_Group, INVALID, nullptr, 0, 0,
3654
       "Disable Hexagon Vector eXtensions", nullptr, nullptr)
3655
OPTION(prefix_1, llvm::StringLiteral("mno-iamcu"), mno_iamcu, Flag, m_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0, nullptr, nullptr, nullptr)
3656
OPTION(prefix_1, llvm::StringLiteral("mno-implicit-float"), mno_implicit_float, Flag, m_Group, INVALID, nullptr, 0, 0,
3657
       "Don't generate implicit floating point or vector instructions", nullptr, nullptr)
3658
OPTION(prefix_1, llvm::StringLiteral("mno-incremental-linker-compatible"), mno_incremental_linker_compatible, Flag, m_Group, INVALID, nullptr, 0, 0,
3659
       "(integrated-as) Emit an object file which cannot be used with an incremental linker", nullptr, nullptr)
3660
OPTION(prefix_1, llvm::StringLiteral("mno-inline-all-stringops"), mno_inline_all_stringops, Flag, clang_ignored_m_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
3661
OPTION(prefix_1, llvm::StringLiteral("mno-invariant-function-descriptors"), mno_invariant_function_descriptors, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3662
OPTION(prefix_1, llvm::StringLiteral("mno-invpcid"), mno_invpcid, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3663
OPTION(prefix_1, llvm::StringLiteral("mno-isel"), mno_isel, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3664
OPTION(prefix_1, llvm::StringLiteral("mno-kl"), mno_kl, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3665
OPTION(prefix_1, llvm::StringLiteral("mno-ldc1-sdc1"), mno_ldc1_sdc1, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3666
OPTION(prefix_1, llvm::StringLiteral("mno-local-sdata"), mno_local_sdata, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3667
       "Do not extend the -G behaviour to object local data (MIPS)", nullptr, nullptr)
3668
OPTION(prefix_1, llvm::StringLiteral("mno-long-calls"), mno_long_calls, Flag, m_Group, INVALID, nullptr, 0, 0,
3669
       "Restore the default behaviour of not generating long calls", nullptr, nullptr)
3670
OPTION(prefix_1, llvm::StringLiteral("mno-longcall"), mno_longcall, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3671
OPTION(prefix_1, llvm::StringLiteral("mno-lvi-cfi"), mno_lvi_cfi, Flag, m_Group, INVALID, nullptr, CoreOption | NoXarchOption, 0,
3672
       "Disable control-flow mitigations for Load Value Injection (LVI)", nullptr, nullptr)
3673
OPTION(prefix_1, llvm::StringLiteral("mno-lvi-hardening"), mno_lvi_hardening, Flag, m_Group, INVALID, nullptr, CoreOption | NoXarchOption, 0,
3674
       "Disable mitigations for Load Value Injection (LVI)", nullptr, nullptr)
3675
OPTION(prefix_1, llvm::StringLiteral("mno-lwp"), mno_lwp, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3676
OPTION(prefix_1, llvm::StringLiteral("mno-lzcnt"), mno_lzcnt, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3677
OPTION(prefix_1, llvm::StringLiteral("mno-madd4"), mno_madd4, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3678
       "Disable the generation of 4-operand madd.s, madd.d and related instructions.", nullptr, nullptr)
3679
OPTION(prefix_1, llvm::StringLiteral("mno-memops"), mno_memops, Flag, m_hexagon_Features_Group, INVALID, nullptr, CC1Option, 0,
3680
       "Disable generation of memop instructions", nullptr, nullptr)
3681
OPTION(prefix_1, llvm::StringLiteral("mno-mfcrf"), mno_mfcrf, Flag, INVALID, mno_mfocrf, nullptr, 0, 0, nullptr, nullptr, nullptr)
3682
OPTION(prefix_1, llvm::StringLiteral("mno-mfocrf"), mno_mfocrf, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3683
OPTION(prefix_1, llvm::StringLiteral("mno-micromips"), mno_micromips, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3684
OPTION(prefix_1, llvm::StringLiteral("mno-mips16"), mno_mips16, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3685
OPTION(prefix_1, llvm::StringLiteral("mno-mma"), mno_mma, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3686
OPTION(prefix_1, llvm::StringLiteral("mno-mmx"), mno_mmx, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3687
OPTION(prefix_1, llvm::StringLiteral("mno-movbe"), mno_movbe, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3688
OPTION(prefix_1, llvm::StringLiteral("mno-movdir64b"), mno_movdir64b, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3689
OPTION(prefix_1, llvm::StringLiteral("mno-movdiri"), mno_movdiri, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3690
OPTION(prefix_1, llvm::StringLiteral("mno-movt"), mno_movt, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3691
       "Disallow use of movt/movw pairs (ARM only)", nullptr, nullptr)
3692
OPTION(prefix_1, llvm::StringLiteral("mno-mpx"), mno_mpx, Flag, clang_ignored_legacy_options_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
3693
OPTION(prefix_1, llvm::StringLiteral("mno-ms-bitfields"), mno_ms_bitfields, Flag, m_Group, INVALID, nullptr, 0, 0,
3694
       "Do not set the default structure layout to be compatible with the Microsoft compiler standard", nullptr, nullptr)
3695
OPTION(prefix_1, llvm::StringLiteral("mno-msa"), mno_msa, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3696
       "Disable MSA ASE (MIPS only)", nullptr, nullptr)
3697
OPTION(prefix_1, llvm::StringLiteral("mno-mt"), mno_mt, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0,
3698
       "Disable MT ASE (MIPS only)", nullptr, nullptr)
3699
OPTION(prefix_1, llvm::StringLiteral("mno-multivalue"), mno_multivalue, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3700
OPTION(prefix_1, llvm::StringLiteral("mno-mutable-globals"), mno_mutable_globals, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3701
OPTION(prefix_1, llvm::StringLiteral("mno-mwaitx"), mno_mwaitx, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3702
OPTION(prefix_1, llvm::StringLiteral("mno-neg-immediates"), mno_neg_immediates, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3703
       "Disallow converting instructions with negative immediates to their negation or inversion.", nullptr, nullptr)
3704
OPTION(prefix_1, llvm::StringLiteral("mno-nontrapping-fptoint"), mno_nontrapping_fptoint, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3705
OPTION(prefix_1, llvm::StringLiteral("mno-nvj"), mno_nvj, Flag, m_hexagon_Features_Group, INVALID, nullptr, CC1Option, 0,
3706
       "Disable generation of new-value jumps", nullptr, nullptr)
3707
OPTION(prefix_1, llvm::StringLiteral("mno-nvs"), mno_nvs, Flag, m_hexagon_Features_Group, INVALID, nullptr, CC1Option, 0,
3708
       "Disable generation of new-value stores", nullptr, nullptr)
3709
OPTION(prefix_1, llvm::StringLiteral("mno-odd-spreg"), mno_odd_spreg, Flag, m_mips_Features_Group, INVALID, nullptr, HelpHidden, 0,
3710
       "Disable odd single-precision floating point registers", nullptr, nullptr)
3711
OPTION(prefix_1, llvm::StringLiteral("mno-omit-leaf-frame-pointer"), mno_omit_leaf_frame_pointer, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3712
OPTION(prefix_1, llvm::StringLiteral("mno-outline-atomics"), mno_outline_atomics, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
3713
       "Don't generate local calls to out-of-line atomic operations", nullptr, nullptr)
3714
OPTION(prefix_1, llvm::StringLiteral("mno-outline"), mno_outline, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
3715
       "Disable function outlining (AArch64 only)", nullptr, nullptr)
3716
OPTION(prefix_1, llvm::StringLiteral("mno-packed-stack"), mno_packed_stack, Flag, m_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
3717
OPTION(prefix_1, llvm::StringLiteral("mno-packets"), mno_packets, Flag, m_hexagon_Features_Group, INVALID, nullptr, CC1Option, 0,
3718
       "Disable generation of instruction packets", nullptr, nullptr)
3719
OPTION(prefix_1, llvm::StringLiteral("mno-paired-vector-memops"), mnopaired_vector_memops, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3720
OPTION(prefix_1, llvm::StringLiteral("mno-pascal-strings"), mno_pascal_strings, Flag, INVALID, fno_pascal_strings, nullptr, 0, 0, nullptr, nullptr, nullptr)
3721
OPTION(prefix_1, llvm::StringLiteral("mno-pclmul"), mno_pclmul, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3722
OPTION(prefix_1, llvm::StringLiteral("mno-pconfig"), mno_pconfig, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3723
OPTION(prefix_1, llvm::StringLiteral("mno-pcrel"), mno_pcrel, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3724
OPTION(prefix_1, llvm::StringLiteral("mno-pic-data-is-text-relative"), mno_pic_data_is_text_relative, Flag, m_Group, INVALID, nullptr, 0, 0,
3725
       "Don't assume data segments are relative to text segment", nullptr, nullptr)
3726
OPTION(prefix_1, llvm::StringLiteral("mno-pku"), mno_pku, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3727
OPTION(prefix_1, llvm::StringLiteral("mno-popcntd"), mno_popcntd, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3728
OPTION(prefix_1, llvm::StringLiteral("mno-popcnt"), mno_popcnt, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3729
OPTION(prefix_1, llvm::StringLiteral("mno-popc"), mno_popc, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3730
OPTION(prefix_1, llvm::StringLiteral("mno-power10-vector"), mno_power10_vector, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3731
OPTION(prefix_1, llvm::StringLiteral("mno-power8-vector"), mno_power8_vector, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3732
OPTION(prefix_1, llvm::StringLiteral("mno-power9-vector"), mno_power9_vector, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3733
OPTION(prefix_1, llvm::StringLiteral("mno-prefetchi"), mno_prefetchi, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3734
OPTION(prefix_1, llvm::StringLiteral("mno-prefetchwt1"), mno_prefetchwt1, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3735
OPTION(prefix_1, llvm::StringLiteral("mno-prefixed"), mno_prefixed, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3736
OPTION(prefix_1, llvm::StringLiteral("mno-prfchw"), mno_prfchw, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3737
OPTION(prefix_1, llvm::StringLiteral("mno-ptwrite"), mno_ptwrite, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3738
OPTION(prefix_1, llvm::StringLiteral("mno-pure-code"), mno_pure_code, Flag, INVALID, mno_execute_only, nullptr, 0, 0, nullptr, nullptr, nullptr)
3739
OPTION(prefix_1, llvm::StringLiteral("mno-raoint"), mno_raoint, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3740
OPTION(prefix_1, llvm::StringLiteral("mno-rdpid"), mno_rdpid, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3741
OPTION(prefix_1, llvm::StringLiteral("mno-rdpru"), mno_rdpru, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3742
OPTION(prefix_1, llvm::StringLiteral("mno-rdrnd"), mno_rdrnd, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3743
OPTION(prefix_1, llvm::StringLiteral("mno-rdseed"), mno_rdseed, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3744
OPTION(prefix_1, llvm::StringLiteral("mno-red-zone"), mno_red_zone, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3745
OPTION(prefix_1, llvm::StringLiteral("mno-reference-types"), mno_reference_types, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3746
OPTION(prefix_1, llvm::StringLiteral("mno-relax-all"), mno_relax_all, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3747
OPTION(prefix_1, llvm::StringLiteral("mno-relax-pic-calls"), mno_relax_pic_calls, Flag, m_mips_Features_Group, INVALID, nullptr, HelpHidden, 0,
3748
       "Do not produce relaxation hints for linkers to try optimizing PIC call sequences into direct calls (MIPS only)", nullptr, nullptr)
3749
OPTION(prefix_1, llvm::StringLiteral("mno-relaxed-simd"), mno_relaxed_simd, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3750
OPTION(prefix_1, llvm::StringLiteral("mno-relax"), mno_relax, Flag, m_Group, INVALID, nullptr, 0, 0,
3751
       "Disable linker relaxation", nullptr, nullptr)
3752
OPTION(prefix_1, llvm::StringLiteral("mno-restrict-it"), mno_restrict_it, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3753
       "Allow generation of complex IT blocks.", nullptr, nullptr)
3754
OPTION(prefix_1, llvm::StringLiteral("mno-retpoline-external-thunk"), mno_retpoline_external_thunk, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3755
OPTION(prefix_1, llvm::StringLiteral("mno-retpoline"), mno_retpoline, Flag, m_Group, INVALID, nullptr, CoreOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
3756
OPTION(prefix_1, llvm::StringLiteral("mno-rtd"), mno_rtd, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3757
OPTION(prefix_1, llvm::StringLiteral("mno-rtm"), mno_rtm, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3758
OPTION(prefix_1, llvm::StringLiteral("mno-sahf"), mno_sahf, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3759
OPTION(prefix_1, llvm::StringLiteral("mno-save-restore"), mno_save_restore, Flag, m_riscv_Features_Group, INVALID, nullptr, 0, 0,
3760
       "Disable using library calls for save and restore", nullptr, nullptr)
3761
OPTION(prefix_1, llvm::StringLiteral("mno-serialize"), mno_serialize, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3762
OPTION(prefix_1, llvm::StringLiteral("mno-seses"), mno_seses, Flag, m_Group, INVALID, nullptr, CoreOption | NoXarchOption, 0,
3763
       "Disable speculative execution side effect suppression (SESES)", nullptr, nullptr)
3764
OPTION(prefix_1, llvm::StringLiteral("mno-sgx"), mno_sgx, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3765
OPTION(prefix_1, llvm::StringLiteral("mno-sha"), mno_sha, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3766
OPTION(prefix_1, llvm::StringLiteral("mno-shstk"), mno_shstk, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3767
OPTION(prefix_1, llvm::StringLiteral("mno-sign-ext"), mno_sign_ext, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3768
OPTION(prefix_1, llvm::StringLiteral("mno-simd128"), mno_simd128, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3769
OPTION(prefix_1, llvm::StringLiteral("mno-skip-rax-setup"), mno_skip_rax_setup, Flag, m_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
3770
OPTION(prefix_1, llvm::StringLiteral("mno-soft-float"), mno_soft_float, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3771
OPTION(prefix_1, llvm::StringLiteral("mno-speculative-load-hardening"), mno_speculative_load_hardening, Flag, m_Group, INVALID, nullptr, CoreOption, 0,
3772
       "", nullptr, nullptr)
3773
OPTION(prefix_1, llvm::StringLiteral("mno-spe"), mno_spe, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3774
OPTION(prefix_1, llvm::StringLiteral("mno-sse2"), mno_sse2, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3775
OPTION(prefix_1, llvm::StringLiteral("mno-sse3"), mno_sse3, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3776
OPTION(prefix_1, llvm::StringLiteral("mno-sse4.1"), mno_sse4_1, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3777
OPTION(prefix_1, llvm::StringLiteral("mno-sse4.2"), mno_sse4_2, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3778
OPTION(prefix_1, llvm::StringLiteral("mno-sse4a"), mno_sse4a, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3779
OPTION(prefix_1, llvm::StringLiteral("mno-sse4"), mno_sse4, Flag, INVALID, mno_sse4_1, nullptr, 0, 0, nullptr, nullptr, nullptr)
3780
OPTION(prefix_1, llvm::StringLiteral("mno-sse"), mno_sse, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3781
OPTION(prefix_1, llvm::StringLiteral("mno-ssse3"), mno_ssse3, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3782
OPTION(prefix_1, llvm::StringLiteral("mno-stack-arg-probe"), mno_stack_arg_probe, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3783
       "Disable stack probes which are enabled by default", nullptr, nullptr)
3784
OPTION(prefix_1, llvm::StringLiteral("mno-stackrealign"), mno_stackrealign, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3785
OPTION(prefix_1, llvm::StringLiteral("mno-tail-call"), mno_tail_call, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3786
OPTION(prefix_1, llvm::StringLiteral("mno-tbm"), mno_tbm, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3787
OPTION(prefix_1, llvm::StringLiteral("mno-tgsplit"), mno_tgsplit, Flag, m_amdgpu_Features_Group, INVALID, nullptr, 0, 0,
3788
       "Disable threadgroup split execution mode (AMDGPU only)", nullptr, nullptr)
3789
OPTION(prefix_1, llvm::StringLiteral("mno-thumb"), mno_thumb, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3790
OPTION(prefix_1, llvm::StringLiteral("mno-tls-direct-seg-refs"), mno_tls_direct_seg_refs, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3791
       "Disable direct TLS access through segment registers", nullptr, nullptr)
3792
OPTION(prefix_1, llvm::StringLiteral("mno-tsxldtrk"), mno_tsxldtrk, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3793
OPTION(prefix_1, llvm::StringLiteral("mno-type-check"), mno_type_check, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
3794
       "Don't perform type checking of the assembly code (wasm only)", nullptr, nullptr)
3795
OPTION(prefix_1, llvm::StringLiteral("mno-uintr"), mno_uintr, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3796
OPTION(prefix_1, llvm::StringLiteral("mno-unaligned-access"), mno_unaligned_access, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3797
       "Force all memory accesses to be aligned (AArch32/AArch64 only)", nullptr, nullptr)
3798
OPTION(prefix_1, llvm::StringLiteral("mno-unsafe-fp-atomics"), mno_unsafe_fp_atomics, Flag, m_Group, INVALID, nullptr, 0, 0,
3799
       "", nullptr, nullptr)
3800
OPTION(prefix_1, llvm::StringLiteral("mno-vaes"), mno_vaes, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3801
OPTION(prefix_1, llvm::StringLiteral("mno-virt"), mno_virt, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3802
OPTION(prefix_1, llvm::StringLiteral("mno-vis2"), mno_vis2, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3803
OPTION(prefix_1, llvm::StringLiteral("mno-vis3"), mno_vis3, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3804
OPTION(prefix_1, llvm::StringLiteral("mno-vis"), mno_vis, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3805
OPTION(prefix_1, llvm::StringLiteral("mno-vpclmulqdq"), mno_vpclmulqdq, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3806
OPTION(prefix_1, llvm::StringLiteral("mno-vsx"), mno_vsx, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3807
OPTION(prefix_1, llvm::StringLiteral("mno-vx"), mno_vx, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3808
OPTION(prefix_1, llvm::StringLiteral("mno-vzeroupper"), mno_vzeroupper, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3809
OPTION(prefix_1, llvm::StringLiteral("mno-waitpkg"), mno_waitpkg, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3810
OPTION(prefix_1, llvm::StringLiteral("mno-warn-nonportable-cfstrings"), mno_warn_nonportable_cfstrings, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3811
OPTION(prefix_1, llvm::StringLiteral("mno-wavefrontsize64"), mno_wavefrontsize64, Flag, m_Group, INVALID, nullptr, 0, 0,
3812
       "Specify wavefront size 32 mode (AMDGPU only)", nullptr, nullptr)
3813
OPTION(prefix_1, llvm::StringLiteral("mno-wbnoinvd"), mno_wbnoinvd, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3814
OPTION(prefix_1, llvm::StringLiteral("mno-widekl"), mno_widekl, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3815
OPTION(prefix_1, llvm::StringLiteral("mno-x87"), mno_x87, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3816
OPTION(prefix_1, llvm::StringLiteral("mno-xgot"), mno_xgot, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3817
OPTION(prefix_1, llvm::StringLiteral("mno-xop"), mno_xop, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3818
OPTION(prefix_1, llvm::StringLiteral("mno-xsavec"), mno_xsavec, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3819
OPTION(prefix_1, llvm::StringLiteral("mno-xsaveopt"), mno_xsaveopt, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3820
OPTION(prefix_1, llvm::StringLiteral("mno-xsaves"), mno_xsaves, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3821
OPTION(prefix_1, llvm::StringLiteral("mno-xsave"), mno_xsave, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3822
OPTION(prefix_1, llvm::StringLiteral("mno-zvector"), mno_zvector, Flag, INVALID, fno_zvector, nullptr, 0, 0, nullptr, nullptr, nullptr)
3823
OPTION(prefix_1, llvm::StringLiteral("mnocrc"), mnocrc, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3824
       "Disallow use of CRC instructions (ARM only)", nullptr, nullptr)
3825
OPTION(prefix_1, llvm::StringLiteral("mnoexecstack"), mno_exec_stack, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
3826
       "Mark the file as not needing an executable stack", nullptr, nullptr)
3827
OPTION(prefix_1, llvm::StringLiteral("mnontrapping-fptoint"), mnontrapping_fptoint, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3828
OPTION(prefix_1, llvm::StringLiteral("mnop-mcount"), mnop_mcount, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3829
       "Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.", nullptr, nullptr)
3830
OPTION(prefix_1, llvm::StringLiteral("mnvj"), mnvj, Flag, m_hexagon_Features_Group, INVALID, nullptr, CC1Option, 0,
3831
       "Enable generation of new-value jumps", nullptr, nullptr)
3832
OPTION(prefix_1, llvm::StringLiteral("mnvs"), mnvs, Flag, m_hexagon_Features_Group, INVALID, nullptr, CC1Option, 0,
3833
       "Enable generation of new-value stores", nullptr, nullptr)
3834
OPTION(prefix_1, llvm::StringLiteral("modd-spreg"), modd_spreg, Flag, m_mips_Features_Group, INVALID, nullptr, HelpHidden, 0,
3835
       "Enable odd single-precision floating point registers", nullptr, nullptr)
3836
OPTION(prefix_1, llvm::StringLiteral("module-dependency-dir"), module_dependency_dir, Separate, INVALID, INVALID, nullptr, CC1Option, 0,
3837
       "Directory to dump module dependencies to", nullptr, nullptr)
3838
OPTION(prefix_1, llvm::StringLiteral("module-dir"), module_dir, JoinedOrSeparate, INVALID, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
3839
       "Put MODULE files in <dir>", "<dir>", nullptr)
3840
OPTION(prefix_1, llvm::StringLiteral("module-file-deps"), module_file_deps, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3841
       "Include module files in dependency output", nullptr, nullptr)
3842
OPTION(prefix_1, llvm::StringLiteral("module-file-info"), module_file_info, Flag, Action_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
3843
       "Provide information about a particular module file", nullptr, nullptr)
3844
OPTION(prefix_1, llvm::StringLiteral("module-suffix"), module_suffix, Separate, f_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
3845
       "Use <suffix> as the suffix for module files (the default value is `.mod`)", "<suffix>", nullptr)
3846
OPTION(prefix_1, llvm::StringLiteral("momit-leaf-frame-pointer"), momit_leaf_frame_pointer, Flag, m_Group, INVALID, nullptr, 0, 0,
3847
       "Omit frame pointer setup for leaf functions", nullptr, nullptr)
3848
OPTION(prefix_1, llvm::StringLiteral("moslib="), moslib_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3849
OPTION(prefix_1, llvm::StringLiteral("moutline-atomics"), moutline_atomics, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
3850
       "Generate local calls to out-of-line atomic operations", nullptr, nullptr)
3851
OPTION(prefix_1, llvm::StringLiteral("moutline"), moutline, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
3852
       "Enable function outlining (AArch64 only)", nullptr, nullptr)
3853
OPTION(prefix_1, llvm::StringLiteral("mpacked-stack"), mpacked_stack, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3854
       "Use packed stack layout (SystemZ only).", nullptr, nullptr)
3855
OPTION(prefix_1, llvm::StringLiteral("mpackets"), mpackets, Flag, m_hexagon_Features_Group, INVALID, nullptr, CC1Option, 0,
3856
       "Enable generation of instruction packets", nullptr, nullptr)
3857
OPTION(prefix_1, llvm::StringLiteral("mpad-max-prefix-size="), mpad_max_prefix_size_EQ, Joined, m_Group, INVALID, nullptr, NoXarchOption, 0,
3858
       "Specify maximum number of prefixes to use for padding", nullptr, nullptr)
3859
OPTION(prefix_1, llvm::StringLiteral("mpaired-vector-memops"), mpaired_vector_memops, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3860
OPTION(prefix_1, llvm::StringLiteral("mpascal-strings"), mpascal_strings, Flag, INVALID, fpascal_strings, nullptr, 0, 0, nullptr, nullptr, nullptr)
3861
OPTION(prefix_1, llvm::StringLiteral("mpclmul"), mpclmul, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3862
OPTION(prefix_1, llvm::StringLiteral("mpconfig"), mpconfig, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3863
OPTION(prefix_1, llvm::StringLiteral("mpcrel"), mpcrel, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3864
OPTION(prefix_1, llvm::StringLiteral("mpic-data-is-text-relative"), mpic_data_is_text_relative, Flag, m_Group, INVALID, nullptr, 0, 0,
3865
       "Assume data segments are relative to text segment", nullptr, nullptr)
3866
OPTION(prefix_1, llvm::StringLiteral("mpku"), mpku, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3867
OPTION(prefix_1, llvm::StringLiteral("mpopcntd"), mpopcntd, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3868
OPTION(prefix_1, llvm::StringLiteral("mpopcnt"), mpopcnt, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3869
OPTION(prefix_1, llvm::StringLiteral("mpopc"), mpopc, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3870
OPTION(prefix_1, llvm::StringLiteral("mpower10-vector"), mpower10_vector, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3871
OPTION(prefix_1, llvm::StringLiteral("mpower8-vector"), mpower8_vector, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3872
OPTION(prefix_1, llvm::StringLiteral("mpower9-vector"), mpower9_vector, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3873
OPTION(prefix_1, llvm::StringLiteral("mprefer-vector-width="), mprefer_vector_width_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
3874
       "Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.", nullptr, nullptr)
3875
OPTION(prefix_1, llvm::StringLiteral("mprefetchi"), mprefetchi, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3876
OPTION(prefix_1, llvm::StringLiteral("mprefetchwt1"), mprefetchwt1, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3877
OPTION(prefix_1, llvm::StringLiteral("mprefixed"), mprefixed, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3878
OPTION(prefix_1, llvm::StringLiteral("mprfchw"), mprfchw, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3879
OPTION(prefix_1, llvm::StringLiteral("mprivileged"), mprivileged, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3880
OPTION(prefix_1, llvm::StringLiteral("mptwrite"), mptwrite, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3881
OPTION(prefix_1, llvm::StringLiteral("mpure-code"), mpure_code, Flag, INVALID, mexecute_only, nullptr, 0, 0, nullptr, nullptr, nullptr)
3882
OPTION(prefix_1, llvm::StringLiteral("MP"), MP, Flag, M_Group, INVALID, nullptr, CC1Option, 0,
3883
       "Create phony target for each dependency (other than main file)", nullptr, nullptr)
3884
OPTION(prefix_2, llvm::StringLiteral("MP"), _SLASH_MP, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
3885
OPTION(prefix_1, llvm::StringLiteral("mqdsp6-compat"), mqdsp6_compat, Flag, m_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
3886
       "Enable hexagon-qdsp6 backward compatibility", nullptr, nullptr)
3887
OPTION(prefix_1, llvm::StringLiteral("MQ"), MQ, JoinedOrSeparate, M_Group, INVALID, nullptr, CC1Option, 0,
3888
       "Specify name of main file output to quote in depfile", nullptr, nullptr)
3889
OPTION(prefix_1, llvm::StringLiteral("mraoint"), mraoint, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3890
OPTION(prefix_1, llvm::StringLiteral("mrdpid"), mrdpid, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3891
OPTION(prefix_1, llvm::StringLiteral("mrdpru"), mrdpru, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3892
OPTION(prefix_1, llvm::StringLiteral("mrdrnd"), mrdrnd, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3893
OPTION(prefix_1, llvm::StringLiteral("mrdseed"), mrdseed, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3894
OPTION(prefix_1, llvm::StringLiteral("mreassociate"), mreassociate, Flag, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
3895
       "Allow reassociation transformations for floating-point instructions", nullptr, nullptr)
3896
OPTION(prefix_1, llvm::StringLiteral("mrecip="), mrecip_EQ, CommaJoined, m_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
3897
OPTION(prefix_1, llvm::StringLiteral("mrecip"), mrecip, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3898
OPTION(prefix_1, llvm::StringLiteral("mrecord-mcount"), mrecord_mcount, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3899
       "Generate a __mcount_loc section entry for each __fentry__ call.", nullptr, nullptr)
3900
OPTION(prefix_1, llvm::StringLiteral("mred-zone"), mred_zone, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3901
OPTION(prefix_1, llvm::StringLiteral("mreference-types"), mreference_types, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3902
OPTION(prefix_1, llvm::StringLiteral("mregparm="), mregparm_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3903
OPTION(prefix_1, llvm::StringLiteral("mregparm"), mregparm, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3904
       "Limit the number of registers available for integer arguments", nullptr, nullptr)
3905
OPTION(prefix_1, llvm::StringLiteral("mrelax-all"), mrelax_all, Flag, m_Group, INVALID, nullptr, CC1Option | CC1AsOption, 0,
3906
       "(integrated-as) Relax all machine instructions", nullptr, nullptr)
3907
OPTION(prefix_1, llvm::StringLiteral("mrelax-pic-calls"), mrelax_pic_calls, Flag, m_mips_Features_Group, INVALID, nullptr, HelpHidden, 0,
3908
       "Produce relaxation hints for linkers to try optimizing PIC call sequences into direct calls (MIPS only)", nullptr, nullptr)
3909
OPTION(prefix_1, llvm::StringLiteral("mrelax-relocations=no"), mrelax_relocations_no, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
3910
       "Disable x86 relax relocations", nullptr, nullptr)
3911
OPTION(prefix_1, llvm::StringLiteral("mrelaxed-simd"), mrelaxed_simd, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3912
OPTION(prefix_1, llvm::StringLiteral("mrelax"), mrelax, Flag, m_Group, INVALID, nullptr, 0, 0,
3913
       "Enable linker relaxation", nullptr, nullptr)
3914
OPTION(prefix_1, llvm::StringLiteral("mrelocation-model"), mrelocation_model, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | FC1Option | NoDriverOption, 0,
3915
       "The relocation model to use", nullptr, "static,pic,ropi,rwpi,ropi-rwpi,dynamic-no-pic")
3916
OPTION(prefix_1, llvm::StringLiteral("mrestrict-it"), mrestrict_it, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
3917
       "Disallow generation of complex IT blocks.", nullptr, nullptr)
3918
OPTION(prefix_1, llvm::StringLiteral("mretpoline-external-thunk"), mretpoline_external_thunk, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3919
OPTION(prefix_1, llvm::StringLiteral("mretpoline"), mretpoline, Flag, m_Group, INVALID, nullptr, CoreOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
3920
OPTION(prefix_1, llvm::StringLiteral("mrop-protect"), mrop_protect, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3921
OPTION(prefix_1, llvm::StringLiteral("mrtd"), mrtd, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3922
       "Make StdCall calling convention the default", nullptr, nullptr)
3923
OPTION(prefix_1, llvm::StringLiteral("mrtm"), mrtm, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3924
OPTION(prefix_1, llvm::StringLiteral("msahf"), msahf, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3925
OPTION(prefix_1, llvm::StringLiteral("msave-restore"), msave_restore, Flag, m_riscv_Features_Group, INVALID, nullptr, 0, 0,
3926
       "Enable using library calls for save and restore", nullptr, nullptr)
3927
OPTION(prefix_1, llvm::StringLiteral("msave-temp-labels"), msave_temp_labels, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
3928
       "Save temporary labels in the symbol table. Note this may change .s semantics and shouldn't generally be used on compiler-generated code.", nullptr, nullptr)
3929
OPTION(prefix_1, llvm::StringLiteral("msecure-plt"), msecure_plt, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3930
OPTION(prefix_1, llvm::StringLiteral("mserialize"), mserialize, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3931
OPTION(prefix_1, llvm::StringLiteral("mseses"), m_seses, Flag, m_Group, INVALID, nullptr, CoreOption | NoXarchOption, 0,
3932
       "Enable speculative execution side effect suppression (SESES). Includes LVI control flow integrity mitigations", nullptr, nullptr)
3933
OPTION(prefix_1, llvm::StringLiteral("msgx"), msgx, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3934
OPTION(prefix_1, llvm::StringLiteral("msha"), msha, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3935
OPTION(prefix_1, llvm::StringLiteral("mshstk"), mshstk, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3936
OPTION(prefix_1, llvm::StringLiteral("msign-ext"), msign_ext, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3937
OPTION(prefix_1, llvm::StringLiteral("msign-return-address-key="), msign_return_address_key_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, "a_key,b_key")
3938
OPTION(prefix_1, llvm::StringLiteral("msign-return-address="), msign_return_address_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
3939
       "Select return address signing scope", nullptr, "none,all,non-leaf")
3940
OPTION(prefix_1, llvm::StringLiteral("msimd128"), msimd128, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3941
OPTION(prefix_1, llvm::StringLiteral("msim"), msim, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3942
OPTION(prefix_1, llvm::StringLiteral("msingle-float"), msingle_float, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3943
OPTION(prefix_1, llvm::StringLiteral("mskip-rax-setup"), mskip_rax_setup, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3944
       "Skip setting up RAX register when passing variable arguments (x86 only)", nullptr, nullptr)
3945
OPTION(prefix_1, llvm::StringLiteral("msmall-data-limit="), msmall_data_limit_EQ, Joined, m_Group, G, nullptr, 0, 0,
3946
       "Put global and static data smaller than the limit into a special section", nullptr, nullptr)
3947
OPTION(prefix_1, llvm::StringLiteral("msmall-data-limit"), msmall_data_limit, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3948
       "Put global and static data smaller than the limit into a special section", nullptr, nullptr)
3949
OPTION(prefix_1, llvm::StringLiteral("msmall-data-threshold="), msmall_data_threshold_EQ, Joined, m_Group, G, nullptr, 0, 0, nullptr, nullptr, nullptr)
3950
OPTION(prefix_1, llvm::StringLiteral("msoft-float"), msoft_float, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3951
       "Use software floating point", nullptr, nullptr)
3952
OPTION(prefix_1, llvm::StringLiteral("msoft-quad-float"), msoft_quad_float, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3953
OPTION(prefix_1, llvm::StringLiteral("mspeculative-load-hardening"), mspeculative_load_hardening, Flag, m_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
3954
       "", nullptr, nullptr)
3955
OPTION(prefix_1, llvm::StringLiteral("mspe"), mspe, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3956
OPTION(prefix_1, llvm::StringLiteral("msse2"), msse2, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3957
OPTION(prefix_1, llvm::StringLiteral("msse3"), msse3, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3958
OPTION(prefix_1, llvm::StringLiteral("msse4.1"), msse4_1, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3959
OPTION(prefix_1, llvm::StringLiteral("msse4.2"), msse4_2, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3960
OPTION(prefix_1, llvm::StringLiteral("msse4a"), msse4a, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3961
OPTION(prefix_1, llvm::StringLiteral("msse4"), msse4, Flag, INVALID, msse4_2, nullptr, 0, 0, nullptr, nullptr, nullptr)
3962
OPTION(prefix_1, llvm::StringLiteral("msse"), msse, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3963
OPTION(prefix_1, llvm::StringLiteral("mssse3"), mssse3, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3964
OPTION(prefix_1, llvm::StringLiteral("mstack-alignment="), mstack_alignment, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
3965
       "Set the stack alignment", nullptr, nullptr)
3966
OPTION(prefix_1, llvm::StringLiteral("mstack-arg-probe"), mstack_arg_probe, Flag, m_Group, INVALID, nullptr, 0, 0,
3967
       "Enable stack probes", nullptr, nullptr)
3968
OPTION(prefix_1, llvm::StringLiteral("mstack-probe-size="), mstack_probe_size, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
3969
       "Set the stack probe size", nullptr, nullptr)
3970
OPTION(prefix_1, llvm::StringLiteral("mstack-protector-guard-offset="), mstack_protector_guard_offset_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
3971
       "Use the given offset for addressing the stack-protector guard", nullptr, nullptr)
3972
OPTION(prefix_1, llvm::StringLiteral("mstack-protector-guard-reg="), mstack_protector_guard_reg_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
3973
       "Use the given reg for addressing the stack-protector guard", nullptr, nullptr)
3974
OPTION(prefix_1, llvm::StringLiteral("mstack-protector-guard-symbol="), mstack_protector_guard_symbol_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
3975
       "Use the given symbol for addressing the stack-protector guard", nullptr, nullptr)
3976
OPTION(prefix_1, llvm::StringLiteral("mstack-protector-guard="), mstack_protector_guard_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
3977
       "Use the given guard (global, tls) for addressing the stack-protector guard", nullptr, nullptr)
3978
OPTION(prefix_1, llvm::StringLiteral("mstackrealign"), mstackrealign, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3979
       "Force realign the stack at entry to every function", nullptr, nullptr)
3980
OPTION(prefix_1, llvm::StringLiteral("mstrict-align"), mstrict_align, Flag, INVALID, mno_unaligned_access, nullptr, CC1Option | HelpHidden, 0,
3981
       "Force all memory accesses to be aligned (same as mno-unaligned-access)", nullptr, nullptr)
3982
OPTION(prefix_1, llvm::StringLiteral("msve-vector-bits="), msve_vector_bits_EQ, Joined, m_aarch64_Features_Group, INVALID, nullptr, 0, 0,
3983
       "Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of \"scalable\". (AArch64 only)", nullptr, nullptr)
3984
OPTION(prefix_1, llvm::StringLiteral("msvr4-struct-return"), msvr4_struct_return, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
3985
       "Return small structs in registers (PPC32 only)", nullptr, nullptr)
3986
OPTION(prefix_1, llvm::StringLiteral("mt-migrate-directory"), mt_migrate_directory, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
3987
       "Directory for temporary files produced during ARC or ObjC migration", nullptr, nullptr)
3988
OPTION(prefix_1, llvm::StringLiteral("mtail-call"), mtail_call, Flag, m_wasm_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
3989
OPTION(prefix_1, llvm::StringLiteral("mtargetos="), mtargetos_EQ, Joined, m_Group, INVALID, nullptr, 0, 0,
3990
       "Set the deployment target to be the specified OS and OS version", nullptr, nullptr)
3991
OPTION(prefix_1, llvm::StringLiteral("mtbm"), mtbm, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
3992
OPTION(prefix_2, llvm::StringLiteral("MTd"), _SLASH_MTd, Flag, _SLASH_M_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
3993
       "Use static debug run-time", nullptr, nullptr)
3994
OPTION(prefix_1, llvm::StringLiteral("mtgsplit"), mtgsplit, Flag, m_amdgpu_Features_Group, INVALID, nullptr, 0, 0,
3995
       "Enable threadgroup split execution mode (AMDGPU only)", nullptr, nullptr)
3996
OPTION(prefix_1, llvm::StringLiteral("mthread-model"), mthread_model, Separate, m_Group, INVALID, nullptr, CC1Option, 0,
3997
       "The thread model to use. Defaults to 'posix')", nullptr, "posix,single")
3998
OPTION(prefix_1, llvm::StringLiteral("mthreads"), mthreads, Joined, m_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
3999
OPTION(prefix_1, llvm::StringLiteral("mthumb"), mthumb, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4000
OPTION(prefix_1, llvm::StringLiteral("mtls-direct-seg-refs"), mtls_direct_seg_refs, Flag, m_Group, INVALID, nullptr, 0, 0,
4001
       "Enable direct TLS access through segment registers (default)", nullptr, nullptr)
4002
OPTION(prefix_1, llvm::StringLiteral("mtls-size="), mtls_size_EQ, Joined, m_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
4003
       "Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)", nullptr, nullptr)
4004
OPTION(prefix_1, llvm::StringLiteral("mtp="), mtp_mode_EQ, Joined, m_arm_Features_Group, INVALID, nullptr, 0, 0,
4005
       "Thread pointer access method (AArch32/AArch64 only)", nullptr, "soft,cp15,el0,el1,el2,el3")
4006
OPTION(prefix_1, llvm::StringLiteral("mtp"), mtp, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4007
       "Mode for reading thread pointer", nullptr, nullptr)
4008
OPTION(prefix_1, llvm::StringLiteral("mtsxldtrk"), mtsxldtrk, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4009
OPTION(prefix_1, llvm::StringLiteral("mtune=?"), mtune_EQ_QUESTION, Flag, INVALID, print_supported_cpus, nullptr, 0, 0, nullptr, nullptr, nullptr)
4010
OPTION(prefix_1, llvm::StringLiteral("mtune="), mtune_EQ, Joined, m_Group, INVALID, nullptr, 0, 0,
4011
       "Only supported on AArch64, PowerPC, RISC-V, SystemZ, and X86", nullptr, nullptr)
4012
OPTION(prefix_1, llvm::StringLiteral("mtvos-simulator-version-min="), mtvos_simulator_version_min_EQ, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4013
OPTION(prefix_1, llvm::StringLiteral("mtvos-version-min="), mtvos_version_min_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4014
OPTION(prefix_1, llvm::StringLiteral("MT"), MT, JoinedOrSeparate, M_Group, INVALID, nullptr, CC1Option, 0,
4015
       "Specify name of main file output in depfile", nullptr, nullptr)
4016
OPTION(prefix_2, llvm::StringLiteral("MT"), _SLASH_MT, Flag, _SLASH_M_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
4017
       "Use static run-time", nullptr, nullptr)
4018
OPTION(prefix_1, llvm::StringLiteral("muclibc"), muclibc, Flag, m_libc_Group, INVALID, nullptr, HelpHidden | HelpHidden, 0, nullptr, nullptr, nullptr)
4019
OPTION(prefix_1, llvm::StringLiteral("muintr"), muintr, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4020
OPTION(prefix_1, llvm::StringLiteral("multi_module"), multi__module, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4021
OPTION(prefix_1, llvm::StringLiteral("multiply_defined_unused"), multiply__defined__unused, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4022
OPTION(prefix_1, llvm::StringLiteral("multiply_defined"), multiply__defined, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4023
OPTION(prefix_1, llvm::StringLiteral("munaligned-access"), munaligned_access, Flag, m_arm_Features_Group, INVALID, nullptr, 0, 0,
4024
       "Allow memory accesses to be unaligned (AArch32/AArch64 only)", nullptr, nullptr)
4025
OPTION(prefix_1, llvm::StringLiteral("municode"), municode, Joined, m_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
4026
OPTION(prefix_1, llvm::StringLiteral("munsafe-fp-atomics"), munsafe_fp_atomics, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
4027
       "Enable unsafe floating point atomic instructions (AMDGPU only)", nullptr, nullptr)
4028
OPTION(prefix_1, llvm::StringLiteral("mv55"), mv55, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv55\0", 0, 0, nullptr, nullptr, nullptr)
4029
OPTION(prefix_1, llvm::StringLiteral("mv5"), mv5, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv5\0", 0, 0, nullptr, nullptr, nullptr)
4030
OPTION(prefix_1, llvm::StringLiteral("mv60"), mv60, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv60\0", 0, 0, nullptr, nullptr, nullptr)
4031
OPTION(prefix_1, llvm::StringLiteral("mv62"), mv62, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv62\0", 0, 0, nullptr, nullptr, nullptr)
4032
OPTION(prefix_1, llvm::StringLiteral("mv65"), mv65, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv65\0", 0, 0, nullptr, nullptr, nullptr)
4033
OPTION(prefix_1, llvm::StringLiteral("mv66"), mv66, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv66\0", 0, 0, nullptr, nullptr, nullptr)
4034
OPTION(prefix_1, llvm::StringLiteral("mv67t"), mv67t, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv67t\0", 0, 0, nullptr, nullptr, nullptr)
4035
OPTION(prefix_1, llvm::StringLiteral("mv67"), mv67, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv67\0", 0, 0, nullptr, nullptr, nullptr)
4036
OPTION(prefix_1, llvm::StringLiteral("mv68"), mv68, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv68\0", 0, 0, nullptr, nullptr, nullptr)
4037
OPTION(prefix_1, llvm::StringLiteral("mv69"), mv69, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv69\0", 0, 0, nullptr, nullptr, nullptr)
4038
OPTION(prefix_1, llvm::StringLiteral("mv71t"), mv71t, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv71t\0", 0, 0, nullptr, nullptr, nullptr)
4039
OPTION(prefix_1, llvm::StringLiteral("mv71"), mv71, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv71\0", 0, 0, nullptr, nullptr, nullptr)
4040
OPTION(prefix_1, llvm::StringLiteral("mv73"), mv73, Flag, m_hexagon_Features_Group, mcpu_EQ, "hexagonv73\0", 0, 0, nullptr, nullptr, nullptr)
4041
OPTION(prefix_1, llvm::StringLiteral("mvaes"), mvaes, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4042
OPTION(prefix_1, llvm::StringLiteral("mvirt"), mvirt, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4043
OPTION(prefix_1, llvm::StringLiteral("mvis2"), mvis2, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4044
OPTION(prefix_1, llvm::StringLiteral("mvis3"), mvis3, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4045
OPTION(prefix_1, llvm::StringLiteral("mvis"), mvis, Flag, m_sparc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4046
OPTION(prefix_1, llvm::StringLiteral("mvpclmulqdq"), mvpclmulqdq, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4047
OPTION(prefix_1, llvm::StringLiteral("mvscale-max="), mvscale_max_EQ, Joined, m_aarch64_Features_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
4048
       "Specify the vscale maximum. Defaults to the vector length agnostic value of \"0\". (AArch64 only)", nullptr, nullptr)
4049
OPTION(prefix_1, llvm::StringLiteral("mvscale-min="), mvscale_min_EQ, Joined, m_aarch64_Features_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
4050
       "Specify the vscale minimum. Defaults to \"1\". (AArch64 only)", nullptr, nullptr)
4051
OPTION(prefix_1, llvm::StringLiteral("mvsx"), mvsx, Flag, m_ppc_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4052
OPTION(prefix_1, llvm::StringLiteral("mvx"), mvx, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4053
OPTION(prefix_1, llvm::StringLiteral("mvzeroupper"), mvzeroupper, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4054
OPTION(prefix_1, llvm::StringLiteral("MV"), MV, Flag, M_Group, INVALID, nullptr, CC1Option, 0,
4055
       "Use NMake/Jom format for the depfile", nullptr, nullptr)
4056
OPTION(prefix_1, llvm::StringLiteral("mwaitpkg"), mwaitpkg, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4057
OPTION(prefix_1, llvm::StringLiteral("mwarn-nonportable-cfstrings"), mwarn_nonportable_cfstrings, Flag, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4058
OPTION(prefix_1, llvm::StringLiteral("mwatchos-simulator-version-min="), mwatchos_simulator_version_min_EQ, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4059
OPTION(prefix_1, llvm::StringLiteral("mwatchos-version-min="), mwatchos_version_min_EQ, Joined, m_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4060
OPTION(prefix_1, llvm::StringLiteral("mwatchsimulator-version-min="), mwatchsimulator_version_min_EQ, Joined, INVALID, mwatchos_simulator_version_min_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4061
OPTION(prefix_1, llvm::StringLiteral("mwavefrontsize64"), mwavefrontsize64, Flag, m_Group, INVALID, nullptr, 0, 0,
4062
       "Specify wavefront size 64 mode (AMDGPU only)", nullptr, nullptr)
4063
OPTION(prefix_1, llvm::StringLiteral("mwbnoinvd"), mwbnoinvd, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4064
OPTION(prefix_1, llvm::StringLiteral("mwidekl"), mwidekl, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4065
OPTION(prefix_1, llvm::StringLiteral("mwindows"), mwindows, Joined, m_Group, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
4066
OPTION(prefix_1, llvm::StringLiteral("mx32"), mx32, Flag, m_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0, nullptr, nullptr, nullptr)
4067
OPTION(prefix_1, llvm::StringLiteral("mx87"), mx87, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4068
OPTION(prefix_1, llvm::StringLiteral("mxgot"), mxgot, Flag, m_mips_Features_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4069
OPTION(prefix_1, llvm::StringLiteral("mxop"), mxop, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4070
OPTION(prefix_1, llvm::StringLiteral("mxsavec"), mxsavec, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4071
OPTION(prefix_1, llvm::StringLiteral("mxsaveopt"), mxsaveopt, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4072
OPTION(prefix_1, llvm::StringLiteral("mxsaves"), mxsaves, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4073
OPTION(prefix_1, llvm::StringLiteral("mxsave"), mxsave, Flag, m_x86_Features_Group, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4074
OPTION(prefix_1, llvm::StringLiteral("mzvector"), mzvector, Flag, INVALID, fzvector, nullptr, 0, 0, nullptr, nullptr, nullptr)
4075
OPTION(prefix_1, llvm::StringLiteral("M"), M, Flag, M_Group, INVALID, nullptr, 0, 0,
4076
       "Like -MD, but also implies -E and writes to stdout by default", nullptr, nullptr)
4077
OPTION(prefix_1, llvm::StringLiteral("new-struct-path-tbaa"), new_struct_path_tbaa, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4078
       "Enable enhanced struct-path aware Type Based Alias Analysis", nullptr, nullptr)
4079
OPTION(prefix_1, llvm::StringLiteral("no-canonical-prefixes"), no_canonical_prefixes, Flag, INVALID, INVALID, nullptr, HelpHidden | CoreOption, 0,
4080
       "Use relative paths for invoking subcommands", nullptr, nullptr)
4081
OPTION(prefix_1, llvm::StringLiteral("no-clear-ast-before-backend"), no_clear_ast_before_backend, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4082
       "Don't clear the Clang AST before running backend code generation", nullptr, nullptr)
4083
OPTION(prefix_1, llvm::StringLiteral("no-code-completion-globals"), no_code_completion_globals, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4084
       "Do not include global declarations in code-completion results.", nullptr, nullptr)
4085
OPTION(prefix_1, llvm::StringLiteral("no-code-completion-ns-level-decls"), no_code_completion_ns_level_decls, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4086
       "Do not include declarations inside namespaces (incl. global namespace) in the code-completion results.", nullptr, nullptr)
4087
OPTION(prefix_1, llvm::StringLiteral("no-cpp-precomp"), no_cpp_precomp, Flag, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
4088
OPTION(prefix_3, llvm::StringLiteral("no-cuda-gpu-arch="), no_cuda_gpu_arch_EQ, Joined, INVALID, no_offload_arch_EQ, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
4089
OPTION(prefix_3, llvm::StringLiteral("no-cuda-include-ptx="), no_cuda_include_ptx_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption, 0,
4090
       "Do not include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.", nullptr, nullptr)
4091
OPTION(prefix_3, llvm::StringLiteral("no-cuda-noopt-device-debug"), no_cuda_noopt_device_debug, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4092
OPTION(prefix_3, llvm::StringLiteral("no-cuda-version-check"), no_cuda_version_check, Flag, INVALID, INVALID, nullptr, 0, 0,
4093
       "Don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture.", nullptr, nullptr)
4094
OPTION(prefix_3, llvm::StringLiteral("no-default-config"), no_default_config, Flag, INVALID, INVALID, nullptr, NoXarchOption | CoreOption, 0,
4095
       "Disable loading default configuration files", nullptr, nullptr)
4096
OPTION(prefix_1, llvm::StringLiteral("no-emit-llvm-uselists"), no_emit_llvm_uselists, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4097
       "Don't preserve order of LLVM use-lists when serializing", nullptr, nullptr)
4098
OPTION(prefix_1, llvm::StringLiteral("no-enable-noundef-analysis"), no_enable_noundef_analysis, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4099
       "Disable analyzing function argument and return types for mandatory definedness", nullptr, nullptr)
4100
OPTION(prefix_1, llvm::StringLiteral("no-finalize-removal"), migrator_no_finalize_removal, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4101
       "Do not remove finalize method in gc mode", nullptr, nullptr)
4102
OPTION(prefix_3, llvm::StringLiteral("no-gpu-bundle-output"), no_gpu_bundle_output, Flag, f_Group, INVALID, nullptr, 0, 0,
4103
       "Do not bundle output files of HIP device compilation", nullptr, nullptr)
4104
OPTION(prefix_1, llvm::StringLiteral("no-hip-rt"), no_hip_rt, Flag, INVALID, INVALID, nullptr, 0, 0,
4105
       "Do not link against HIP runtime libraries", nullptr, nullptr)
4106
OPTION(prefix_1, llvm::StringLiteral("no-implicit-float"), no_implicit_float, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4107
       "Don't generate implicit floating point or vector instructions", nullptr, nullptr)
4108
OPTION(prefix_1, llvm::StringLiteral("no-integrated-as"), anonymous_1408, Flag, INVALID, fno_integrated_as, nullptr, CC1Option | FlangOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4109
OPTION(prefix_4, llvm::StringLiteral("no-integrated-cpp"), no_integrated_cpp, Flag, INVALID, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
4110
OPTION(prefix_3, llvm::StringLiteral("no-line-commands"), _no_line_commands, Flag, INVALID, P, nullptr, 0, 0, nullptr, nullptr, nullptr)
4111
OPTION(prefix_1, llvm::StringLiteral("no-ns-alloc-error"), migrator_no_nsalloc_error, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4112
       "Do not error on use of NSAllocateCollectable/NSReallocateCollectable", nullptr, nullptr)
4113
OPTION(prefix_3, llvm::StringLiteral("no-offload-add-rpath"), no_offload_add_rpath, Flag, INVALID, INVALID, nullptr, NoArgumentUnused, 0,
4114
       "Do not add -rpath with HIP runtime library directory to the linker flags", nullptr, nullptr)
4115
OPTION(prefix_3, llvm::StringLiteral("no-offload-arch="), no_offload_arch_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption, 0,
4116
       "Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.", nullptr, nullptr)
4117
OPTION(prefix_3, llvm::StringLiteral("no-offload-new-driver"), no_offload_new_driver, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
4118
       "Don't Use the new driver for offloading compilation.", nullptr, nullptr)
4119
OPTION(prefix_1, llvm::StringLiteral("no-opaque-pointers"), no_opaque_pointers, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4120
       "Disable opaque pointers", nullptr, nullptr)
4121
OPTION(prefix_4, llvm::StringLiteral("no-pedantic"), no_pedantic, Flag, pedantic_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4122
OPTION(prefix_1, llvm::StringLiteral("no-pie"), no_pie, Flag, INVALID, nopie, nullptr, 0, 0, nullptr, nullptr, nullptr)
4123
OPTION(prefix_1, llvm::StringLiteral("no-pthread"), no_pthread, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4124
       "", nullptr, nullptr)
4125
OPTION(prefix_1, llvm::StringLiteral("no-round-trip-args"), no_round_trip_args, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4126
       "Disable command line arguments round-trip.", nullptr, nullptr)
4127
OPTION(prefix_3, llvm::StringLiteral("no-standard-includes"), _no_standard_includes, Flag, INVALID, nostdinc, nullptr, 0, 0, nullptr, nullptr, nullptr)
4128
OPTION(prefix_3, llvm::StringLiteral("no-standard-libraries"), _no_standard_libraries, Flag, INVALID, nostdlib, nullptr, 0, 0, nullptr, nullptr, nullptr)
4129
OPTION(prefix_1, llvm::StringLiteral("no-struct-path-tbaa"), no_struct_path_tbaa, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4130
       "Turn off struct-path aware Type Based Alias Analysis", nullptr, nullptr)
4131
OPTION(prefix_3, llvm::StringLiteral("no-system-header-prefix="), no_system_header_prefix, Joined, clang_i_Group, INVALID, nullptr, CC1Option, 0,
4132
       "Treat all #include paths starting with <prefix> as not including a system header.", "<prefix>", nullptr)
4133
OPTION(prefix_3, llvm::StringLiteral("no-system-header-prefix"), anonymous_1390, Separate, INVALID, no_system_header_prefix, nullptr, 0, 0, nullptr, nullptr, nullptr)
4134
OPTION(prefix_3, llvm::StringLiteral("no-undefined"), _no_undefined, Flag, INVALID, INVALID, nullptr, LinkerInput, 0, nullptr, nullptr, nullptr)
4135
OPTION(prefix_3, llvm::StringLiteral("no-warnings"), _no_warnings, Flag, INVALID, w, nullptr, 0, 0, nullptr, nullptr, nullptr)
4136
OPTION(prefix_1, llvm::StringLiteral("no_dead_strip_inits_and_terms"), no__dead__strip__inits__and__terms, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4137
OPTION(prefix_1, llvm::StringLiteral("nobuiltininc"), nobuiltininc, Flag, INVALID, INVALID, nullptr, CC1Option | CoreOption, 0,
4138
       "Disable builtin #include directories", nullptr, nullptr)
4139
OPTION(prefix_1, llvm::StringLiteral("nocpp"), nocpp, Flag, f_Group, INVALID, nullptr, FC1Option | FlangOption | FlangOnlyOption, 0,
4140
       "Disable predefined and command line preprocessor macros", nullptr, nullptr)
4141
OPTION(prefix_1, llvm::StringLiteral("nocudainc"), anonymous_1362, Flag, INVALID, nogpuinc, nullptr, 0, 0, nullptr, nullptr, nullptr)
4142
OPTION(prefix_1, llvm::StringLiteral("nocudalib"), anonymous_1364, Flag, INVALID, nogpulib, nullptr, 0, 0, nullptr, nullptr, nullptr)
4143
OPTION(prefix_1, llvm::StringLiteral("nodefaultlibs"), nodefaultlibs, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4144
OPTION(prefix_1, llvm::StringLiteral("nodriverkitlib"), nodriverkitlib, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4145
OPTION(prefix_1, llvm::StringLiteral("nofixprebinding"), nofixprebinding, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4146
OPTION(prefix_1, llvm::StringLiteral("nogpuinc"), nogpuinc, Flag, INVALID, INVALID, nullptr, 0, 0,
4147
       "Do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers", nullptr, nullptr)
4148
OPTION(prefix_1, llvm::StringLiteral("nogpulib"), nogpulib, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4149
       "Do not link device library for CUDA/HIP device compilation", nullptr, nullptr)
4150
OPTION(prefix_1, llvm::StringLiteral("nohipwrapperinc"), nohipwrapperinc, Flag, INVALID, INVALID, nullptr, 0, 0,
4151
       "Do not include the default HIP wrapper headers and include paths", nullptr, nullptr)
4152
OPTION(prefix_1, llvm::StringLiteral("nolibc"), nolibc, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4153
OPTION(prefix_2, llvm::StringLiteral("nologo"), _SLASH_nologo, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4154
OPTION(prefix_1, llvm::StringLiteral("nomultidefs"), nomultidefs, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4155
OPTION(prefix_1, llvm::StringLiteral("nopie"), nopie, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4156
OPTION(prefix_1, llvm::StringLiteral("noprebind"), noprebind, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4157
OPTION(prefix_1, llvm::StringLiteral("noprofilelib"), noprofilelib, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4158
OPTION(prefix_1, llvm::StringLiteral("noseglinkedit"), noseglinkedit, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4159
OPTION(prefix_1, llvm::StringLiteral("nostartfiles"), nostartfiles, Flag, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4160
OPTION(prefix_1, llvm::StringLiteral("nostdinc++"), nostdincxx, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4161
       "Disable standard #include directories for the C++ standard library", nullptr, nullptr)
4162
OPTION(prefix_1, llvm::StringLiteral("nostdinc"), nostdinc, Flag, INVALID, INVALID, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4163
OPTION(prefix_1, llvm::StringLiteral("nostdlib++"), nostdlibxx, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4164
OPTION(prefix_1, llvm::StringLiteral("nostdlibinc"), nostdlibinc, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4165
OPTION(prefix_1, llvm::StringLiteral("nostdlib"), nostdlib, Flag, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4166
OPTION(prefix_1, llvm::StringLiteral("nostdsysteminc"), nostdsysteminc, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4167
       "Disable standard system #include directories", nullptr, nullptr)
4168
OPTION(prefix_3, llvm::StringLiteral("nvptx-arch-tool="), nvptx_arch_tool_EQ, Joined, i_Group, INVALID, nullptr, 0, 0,
4169
       "Tool used for detecting NVIDIA GPU arch in the system.", nullptr, nullptr)
4170
OPTION(prefix_1, llvm::StringLiteral("n"), n, Flag, INVALID, INVALID, nullptr, CC1AsOption | NoDriverOption, 0,
4171
       "Don't automatically start assembly file with a text section", nullptr, nullptr)
4172
OPTION(prefix_1, llvm::StringLiteral("O0"), O0, Flag, O_Group, INVALID, nullptr, CC1Option | FC1Option | HelpHidden, 0, nullptr, nullptr, nullptr)
4173
OPTION(prefix_2, llvm::StringLiteral("O1"), anonymous_1776, Flag, cl_Group, _SLASH_O, "1\0", CLOption | NoXarchOption | CLDXCOption, 0,
4174
       "Optimize for size  (like /Og     /Os /Oy /Ob2 /GF /Gy)", nullptr, nullptr)
4175
OPTION(prefix_2, llvm::StringLiteral("O2"), anonymous_1777, Flag, cl_Group, _SLASH_O, "2\0", CLOption | NoXarchOption | CLDXCOption, 0,
4176
       "Optimize for speed (like /Og /Oi /Ot /Oy /Ob2 /GF /Gy)", nullptr, nullptr)
4177
OPTION(prefix_1, llvm::StringLiteral("O4"), O4, Flag, O_Group, INVALID, nullptr, CC1Option | FC1Option | HelpHidden, 0, nullptr, nullptr, nullptr)
4178
OPTION(prefix_2, llvm::StringLiteral("Ob0"), anonymous_1778, Flag, cl_Group, _SLASH_O, "b0\0", CLOption | NoXarchOption | CLDXCOption, 0,
4179
       "Disable function inlining", nullptr, nullptr)
4180
OPTION(prefix_2, llvm::StringLiteral("Ob1"), anonymous_1779, Flag, cl_Group, _SLASH_O, "b1\0", CLOption | NoXarchOption | CLDXCOption, 0,
4181
       "Only inline functions explicitly or implicitly marked inline", nullptr, nullptr)
4182
OPTION(prefix_2, llvm::StringLiteral("Ob2"), anonymous_1780, Flag, cl_Group, _SLASH_O, "b2\0", CLOption | NoXarchOption | CLDXCOption, 0,
4183
       "Inline functions as deemed beneficial by the compiler", nullptr, nullptr)
4184
OPTION(prefix_1, llvm::StringLiteral("ObjC++"), ObjCXX, Flag, INVALID, INVALID, nullptr, NoXarchOption, 0,
4185
       "Treat source input files as Objective-C++ inputs", nullptr, nullptr)
4186
OPTION(prefix_1, llvm::StringLiteral("objc-isystem"), objc_isystem, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4187
       "Add directory to the ObjC SYSTEM include search path", "<directory>", nullptr)
4188
OPTION(prefix_1, llvm::StringLiteral("objcmt-allowlist-dir-path="), objcmt_allowlist_dir_path, Joined, INVALID, INVALID, nullptr, CC1Option, 0,
4189
       "Only modify files with a filename contained in the provided directory path", nullptr, nullptr)
4190
OPTION(prefix_1, llvm::StringLiteral("objcmt-atomic-property"), objcmt_atomic_property, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4191
       "Make migration to 'atomic' properties", nullptr, nullptr)
4192
OPTION(prefix_1, llvm::StringLiteral("objcmt-migrate-all"), objcmt_migrate_all, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4193
       "Enable migration to modern ObjC", nullptr, nullptr)
4194
OPTION(prefix_1, llvm::StringLiteral("objcmt-migrate-annotation"), objcmt_migrate_annotation, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4195
       "Enable migration to property and method annotations", nullptr, nullptr)
4196
OPTION(prefix_1, llvm::StringLiteral("objcmt-migrate-designated-init"), objcmt_migrate_designated_init, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4197
       "Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods", nullptr, nullptr)
4198
OPTION(prefix_1, llvm::StringLiteral("objcmt-migrate-instancetype"), objcmt_migrate_instancetype, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4199
       "Enable migration to infer instancetype for method result type", nullptr, nullptr)
4200
OPTION(prefix_1, llvm::StringLiteral("objcmt-migrate-literals"), objcmt_migrate_literals, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4201
       "Enable migration to modern ObjC literals", nullptr, nullptr)
4202
OPTION(prefix_1, llvm::StringLiteral("objcmt-migrate-ns-macros"), objcmt_migrate_nsmacros, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4203
       "Enable migration to NS_ENUM/NS_OPTIONS macros", nullptr, nullptr)
4204
OPTION(prefix_1, llvm::StringLiteral("objcmt-migrate-property-dot-syntax"), objcmt_migrate_property_dot_syntax, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4205
       "Enable migration of setter/getter messages to property-dot syntax", nullptr, nullptr)
4206
OPTION(prefix_1, llvm::StringLiteral("objcmt-migrate-property"), objcmt_migrate_property, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4207
       "Enable migration to modern ObjC property", nullptr, nullptr)
4208
OPTION(prefix_1, llvm::StringLiteral("objcmt-migrate-protocol-conformance"), objcmt_migrate_protocol_conformance, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4209
       "Enable migration to add protocol conformance on classes", nullptr, nullptr)
4210
OPTION(prefix_1, llvm::StringLiteral("objcmt-migrate-readonly-property"), objcmt_migrate_readonly_property, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4211
       "Enable migration to modern ObjC readonly property", nullptr, nullptr)
4212
OPTION(prefix_1, llvm::StringLiteral("objcmt-migrate-readwrite-property"), objcmt_migrate_readwrite_property, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4213
       "Enable migration to modern ObjC readwrite property", nullptr, nullptr)
4214
OPTION(prefix_1, llvm::StringLiteral("objcmt-migrate-subscripting"), objcmt_migrate_subscripting, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4215
       "Enable migration to modern ObjC subscripting", nullptr, nullptr)
4216
OPTION(prefix_1, llvm::StringLiteral("objcmt-ns-nonatomic-iosonly"), objcmt_ns_nonatomic_iosonly, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4217
       "Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute", nullptr, nullptr)
4218
OPTION(prefix_1, llvm::StringLiteral("objcmt-returns-innerpointer-property"), objcmt_returns_innerpointer_property, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4219
       "Enable migration to annotate property with NS_RETURNS_INNER_POINTER", nullptr, nullptr)
4220
OPTION(prefix_1, llvm::StringLiteral("objcmt-white-list-dir-path="), anonymous_22, Joined, INVALID, objcmt_allowlist_dir_path, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
4221
OPTION(prefix_1, llvm::StringLiteral("objcmt-whitelist-dir-path="), anonymous_21, Joined, INVALID, objcmt_allowlist_dir_path, nullptr, CC1Option, 0,
4222
       "Alias for -objcmt-allowlist-dir-path", nullptr, nullptr)
4223
OPTION(prefix_1, llvm::StringLiteral("objcxx-isystem"), objcxx_isystem, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4224
       "Add directory to the ObjC++ SYSTEM include search path", "<directory>", nullptr)
4225
OPTION(prefix_1, llvm::StringLiteral("ObjC"), ObjC, Flag, INVALID, INVALID, nullptr, NoXarchOption, 0,
4226
       "Treat source input files as Objective-C inputs", nullptr, nullptr)
4227
OPTION(prefix_1, llvm::StringLiteral("object-file-name="), object_file_name_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | CoreOption, 0,
4228
       "Set the output <file> for debug infos", "<file>", nullptr)
4229
OPTION(prefix_1, llvm::StringLiteral("object-file-name"), object_file_name, Separate, INVALID, object_file_name_EQ, nullptr, CC1Option | CC1AsOption | CoreOption, 0, nullptr, nullptr, nullptr)
4230
OPTION(prefix_1, llvm::StringLiteral("object"), object, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4231
OPTION(prefix_2, llvm::StringLiteral("Od"), anonymous_1781, Flag, cl_Group, _SLASH_O, "d\0", CLDXCOption | NoXarchOption | CLDXCOption, 0,
4232
       "Disable optimization", nullptr, nullptr)
4233
OPTION(prefix_1, llvm::StringLiteral("Ofast"), Ofast, Joined, O_Group, INVALID, nullptr, CC1Option | FlangOption, 0, nullptr, nullptr, nullptr)
4234
OPTION(prefix_3, llvm::StringLiteral("offload-add-rpath"), offload_add_rpath, Flag, INVALID, INVALID, nullptr, NoArgumentUnused, 0,
4235
       "Add -rpath with HIP runtime library directory to the linker flags", nullptr, nullptr)
4236
OPTION(prefix_3, llvm::StringLiteral("offload-arch="), offload_arch_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption, 0,
4237
       "Specify an offloading device architecture for CUDA, HIP, or OpenMP. (e.g. sm_35). If 'native' is used the compiler will detect locally installed architectures. For HIP offloading, the device architecture can be followed by target ID features delimited by a colon (e.g. gfx908:xnack+:sramecc-). May be specified more than once.", nullptr, nullptr)
4238
OPTION(prefix_3, llvm::StringLiteral("offload-device-only"), offload_device_only, Flag, INVALID, INVALID, nullptr, 0, 0,
4239
       "Only compile for the offloading device.", nullptr, nullptr)
4240
OPTION(prefix_3, llvm::StringLiteral("offload-host-device"), offload_host_device, Flag, INVALID, INVALID, nullptr, 0, 0,
4241
       "Only compile for the offloading host.", nullptr, nullptr)
4242
OPTION(prefix_3, llvm::StringLiteral("offload-host-only"), offload_host_only, Flag, INVALID, INVALID, nullptr, 0, 0,
4243
       "Only compile for the offloading host.", nullptr, nullptr)
4244
OPTION(prefix_3, llvm::StringLiteral("offload-link"), offload_link, Flag, Link_Group, INVALID, nullptr, 0, 0,
4245
       "Use the new offloading linker to perform the link job.", nullptr, nullptr)
4246
OPTION(prefix_3, llvm::StringLiteral("offload-new-driver"), offload_new_driver, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
4247
       "Use the new driver for offloading compilation.", nullptr, nullptr)
4248
OPTION(prefix_3, llvm::StringLiteral("offload="), offload_EQ, CommaJoined, INVALID, INVALID, nullptr, NoXarchOption, 0,
4249
       "Specify comma-separated list of offloading target triples (CUDA and HIP only)", nullptr, nullptr)
4250
OPTION(prefix_2, llvm::StringLiteral("Og"), anonymous_1782, Flag, cl_Group, _SLASH_O, "g\0", CLOption | NoXarchOption | CLDXCOption, 0,
4251
       "No effect", nullptr, nullptr)
4252
OPTION(prefix_2, llvm::StringLiteral("Oi-"), anonymous_1784, Flag, cl_Group, _SLASH_O, "i-\0", CLOption | NoXarchOption | CLDXCOption, 0,
4253
       "Disable use of builtin functions", nullptr, nullptr)
4254
OPTION(prefix_2, llvm::StringLiteral("Oi"), anonymous_1783, Flag, cl_Group, _SLASH_O, "i\0", CLOption | NoXarchOption | CLDXCOption, 0,
4255
       "Enable use of builtin functions", nullptr, nullptr)
4256
OPTION(prefix_1, llvm::StringLiteral("opaque-pointers"), opaque_pointers, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4257
       "Enable opaque pointers", nullptr, nullptr)
4258
OPTION(prefix_2, llvm::StringLiteral("openmp-"), _SLASH_openmp_, Flag, cl_Group, fno_openmp, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4259
       "Disable OpenMP support", nullptr, nullptr)
4260
OPTION(prefix_2, llvm::StringLiteral("openmp:experimental"), _SLASH_openmp_experimental, Flag, cl_Group, fopenmp, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4261
       "Enable OpenMP support with experimental SIMD support", nullptr, nullptr)
4262
OPTION(prefix_2, llvm::StringLiteral("openmp"), _SLASH_openmp, Flag, cl_Group, fopenmp, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4263
       "Enable OpenMP support", nullptr, nullptr)
4264
OPTION(prefix_1, llvm::StringLiteral("opt-record-file"), opt_record_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4265
       "File name to use for YAML optimization record output", nullptr, nullptr)
4266
OPTION(prefix_1, llvm::StringLiteral("opt-record-format"), opt_record_format, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4267
       "The format used for serializing remarks (default: YAML)", nullptr, nullptr)
4268
OPTION(prefix_1, llvm::StringLiteral("opt-record-passes"), opt_record_passes, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4269
       "Only record remark information for passes whose names match the given regular expression", nullptr, nullptr)
4270
OPTION(prefix_3, llvm::StringLiteral("optimize="), _optimize_EQ, Joined, INVALID, O, nullptr, 0, 0, nullptr, nullptr, nullptr)
4271
OPTION(prefix_3, llvm::StringLiteral("optimize"), _optimize, Flag, INVALID, O, nullptr, 0, 0, nullptr, nullptr, nullptr)
4272
OPTION(prefix_2, llvm::StringLiteral("Os"), anonymous_1785, Flag, cl_Group, _SLASH_O, "s\0", CLOption | NoXarchOption | CLDXCOption, 0,
4273
       "Optimize for size", nullptr, nullptr)
4274
OPTION(prefix_2, llvm::StringLiteral("Ot"), anonymous_1786, Flag, cl_Group, _SLASH_O, "t\0", CLOption | NoXarchOption | CLDXCOption, 0,
4275
       "Optimize for speed", nullptr, nullptr)
4276
OPTION(prefix_1, llvm::StringLiteral("output-asm-variant"), output_asm_variant, Separate, INVALID, INVALID, nullptr, CC1AsOption | NoDriverOption, 0,
4277
       "Select the asm variant index to use for output", nullptr, nullptr)
4278
OPTION(prefix_3, llvm::StringLiteral("output-class-directory="), _output_class_directory_EQ, Joined, INVALID, foutput_class_dir_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4279
OPTION(prefix_3, llvm::StringLiteral("output-class-directory"), _output_class_directory, Separate, INVALID, foutput_class_dir_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4280
OPTION(prefix_3, llvm::StringLiteral("output="), _output_EQ, Joined, INVALID, o, nullptr, 0, 0, nullptr, nullptr, nullptr)
4281
OPTION(prefix_3, llvm::StringLiteral("output"), _output, Separate, INVALID, o, nullptr, 0, 0, nullptr, nullptr, nullptr)
4282
OPTION(prefix_2, llvm::StringLiteral("Ox"), anonymous_1787, Flag, cl_Group, _SLASH_O, "x\0", CLOption | NoXarchOption | CLDXCOption, 0,
4283
       "Deprecated (like /Og /Oi /Ot /Oy /Ob2); use /O2", nullptr, nullptr)
4284
OPTION(prefix_2, llvm::StringLiteral("Oy-"), anonymous_1789, Flag, cl_Group, _SLASH_O, "y-\0", CLOption | NoXarchOption | CLDXCOption, 0,
4285
       "Disable frame pointer omission (x86 only, default)", nullptr, nullptr)
4286
OPTION(prefix_2, llvm::StringLiteral("Oy"), anonymous_1788, Flag, cl_Group, _SLASH_O, "y\0", CLOption | NoXarchOption | CLDXCOption, 0,
4287
       "Enable frame pointer omission (x86 only)", nullptr, nullptr)
4288
OPTION(prefix_1, llvm::StringLiteral("O"), O_flag, Flag, INVALID, O, "1\0", CC1Option | FC1Option, 0, nullptr, nullptr, nullptr)
4289
OPTION(prefix_1, llvm::StringLiteral("O"), O, Joined, O_Group, INVALID, nullptr, CC1Option | FC1Option, 0, nullptr, nullptr, nullptr)
4290
OPTION(prefix_2, llvm::StringLiteral("O"), _SLASH_O, Joined, cl_Group, INVALID, nullptr, CLDXCOption | NoXarchOption | CLDXCOption, 0,
4291
       "Set multiple /O flags at once; e.g. '/O2y-' for '/O2 /Oy-'", "<flags>", nullptr)
4292
OPTION(prefix_1, llvm::StringLiteral("o"), o, JoinedOrSeparate, INVALID, INVALID, nullptr, NoXarchOption | CC1Option | CC1AsOption | FC1Option | FlangOption, 0,
4293
       "Write output to <file>", "<file>", nullptr)
4294
OPTION(prefix_2, llvm::StringLiteral("o"), _SLASH_o, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4295
       "Deprecated (set output file name); use /Fe or /Fe", "<file or dir/>", nullptr)
4296
OPTION(prefix_1, llvm::StringLiteral("pagezero_size"), pagezero__size, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4297
OPTION(prefix_3, llvm::StringLiteral("param="), _param_EQ, Joined, INVALID, _param, nullptr, 0, 0, nullptr, nullptr, nullptr)
4298
OPTION(prefix_3, llvm::StringLiteral("param"), _param, Separate, CompileOnly_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4299
OPTION(prefix_4, llvm::StringLiteral("pass-exit-codes"), pass_exit_codes, Flag, INVALID, INVALID, nullptr, Unsupported, 0, nullptr, nullptr, nullptr)
4300
OPTION(prefix_1, llvm::StringLiteral("pch-through-hdrstop-create"), pch_through_hdrstop_create, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4301
       "When creating a PCH, stop PCH generation after #pragma hdrstop.", nullptr, nullptr)
4302
OPTION(prefix_1, llvm::StringLiteral("pch-through-hdrstop-use"), pch_through_hdrstop_use, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4303
       "When using a PCH, skip tokens until after a #pragma hdrstop.", nullptr, nullptr)
4304
OPTION(prefix_1, llvm::StringLiteral("pch-through-header="), pch_through_header_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4305
       "Stop PCH generation after including this file.  When using a PCH, skip tokens until after this file is included.", nullptr, nullptr)
4306
OPTION(prefix_4, llvm::StringLiteral("pedantic-errors"), pedantic_errors, Flag, pedantic_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
4307
OPTION(prefix_4, llvm::StringLiteral("pedantic"), pedantic, Flag, pedantic_Group, INVALID, nullptr, CC1Option | FlangOption | FC1Option, 0,
4308
       "Warn on language extensions", nullptr, nullptr)
4309
OPTION(prefix_2, llvm::StringLiteral("permissive-"), _SLASH_permissive_, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4310
       "Disable non conforming code from compiling (default)", nullptr, nullptr)
4311
OPTION(prefix_2, llvm::StringLiteral("permissive"), _SLASH_permissive, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4312
       "Enable some non conforming code to compile", nullptr, nullptr)
4313
OPTION(prefix_1, llvm::StringLiteral("pg"), pg, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4314
       "Enable mcount instrumentation", nullptr, nullptr)
4315
OPTION(prefix_1, llvm::StringLiteral("pic-is-pie"), pic_is_pie, Flag, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
4316
       "File is for a position independent executable", nullptr, nullptr)
4317
OPTION(prefix_1, llvm::StringLiteral("pic-level"), pic_level, Separate, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
4318
       "Value for __PIC__", nullptr, nullptr)
4319
OPTION(prefix_1, llvm::StringLiteral("pie"), pie, Flag, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4320
OPTION(prefix_4, llvm::StringLiteral("pipe"), pipe, Flag, INVALID, INVALID, nullptr, 0, 0,
4321
       "Use pipes between commands, when possible", nullptr, nullptr)
4322
OPTION(prefix_1, llvm::StringLiteral("plugin-arg-"), plugin_arg, JoinedAndSeparate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4323
       "Pass <arg> to plugin <name>", "<name> <arg>", nullptr)
4324
OPTION(prefix_1, llvm::StringLiteral("plugin"), plugin, Separate, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
4325
       "Use the named plugin action instead of the default action (use \"help\" to list available options)", "<name>", nullptr)
4326
OPTION(prefix_1, llvm::StringLiteral("preamble-bytes="), preamble_bytes_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4327
       "Assume that the precompiled header is a precompiled preamble covering the first N bytes of the main file", nullptr, nullptr)
4328
OPTION(prefix_1, llvm::StringLiteral("prebind_all_twolevel_modules"), prebind__all__twolevel__modules, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4329
OPTION(prefix_1, llvm::StringLiteral("prebind"), prebind, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4330
OPTION(prefix_3, llvm::StringLiteral("precompile"), _precompile, Flag, Action_Group, INVALID, nullptr, NoXarchOption, 0,
4331
       "Only precompile the input", nullptr, nullptr)
4332
OPTION(prefix_3, llvm::StringLiteral("prefix="), _prefix_EQ, Joined, INVALID, B, nullptr, 0, 0, nullptr, nullptr, nullptr)
4333
OPTION(prefix_3, llvm::StringLiteral("prefix"), _prefix, Separate, INVALID, B, nullptr, 0, 0, nullptr, nullptr, nullptr)
4334
OPTION(prefix_1, llvm::StringLiteral("preload"), preload, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4335
OPTION(prefix_3, llvm::StringLiteral("preprocess"), _preprocess, Flag, INVALID, E, nullptr, 0, 0, nullptr, nullptr, nullptr)
4336
OPTION(prefix_1, llvm::StringLiteral("print-dependency-directives-minimized-source"), print_dependency_directives_minimized_source, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4337
       "Print the output of the dependency directives source minimizer", nullptr, nullptr)
4338
OPTION(prefix_3, llvm::StringLiteral("print-diagnostic-categories"), _print_diagnostic_categories, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4339
OPTION(prefix_4, llvm::StringLiteral("print-diagnostic-options"), print_diagnostic_options, Flag, INVALID, INVALID, nullptr, 0, 0,
4340
       "Print all of Clang's warning options", nullptr, nullptr)
4341
OPTION(prefix_4, llvm::StringLiteral("print-effective-triple"), print_effective_triple, Flag, INVALID, INVALID, nullptr, FlangOption, 0,
4342
       "Print the effective target triple", nullptr, nullptr)
4343
OPTION(prefix_4, llvm::StringLiteral("print-file-name="), print_file_name_EQ, Joined, INVALID, INVALID, nullptr, 0, 0,
4344
       "Print the full library path of <file>", "<file>", nullptr)
4345
OPTION(prefix_3, llvm::StringLiteral("print-file-name"), _print_file_name, Separate, INVALID, print_file_name_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4346
OPTION(prefix_1, llvm::StringLiteral("print-ivar-layout"), print_ivar_layout, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4347
       "Enable Objective-C Ivar layout bitmap print trace", nullptr, nullptr)
4348
OPTION(prefix_4, llvm::StringLiteral("print-libgcc-file-name"), print_libgcc_file_name, Flag, INVALID, INVALID, nullptr, 0, 0,
4349
       "Print the library path for the currently used compiler runtime library (\"libgcc.a\" or \"libclang_rt.builtins.*.a\")", nullptr, nullptr)
4350
OPTION(prefix_3, llvm::StringLiteral("print-missing-file-dependencies"), _print_missing_file_dependencies, Flag, INVALID, MG, nullptr, 0, 0, nullptr, nullptr, nullptr)
4351
OPTION(prefix_4, llvm::StringLiteral("print-multi-directory"), print_multi_directory, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4352
OPTION(prefix_4, llvm::StringLiteral("print-multi-lib"), print_multi_lib, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4353
OPTION(prefix_4, llvm::StringLiteral("print-multi-os-directory"), print_multi_os_directory, Flag, INVALID, INVALID, nullptr, Unsupported, 0, nullptr, nullptr, nullptr)
4354
OPTION(prefix_4, llvm::StringLiteral("print-multiarch"), anonymous_1372, Flag, INVALID, INVALID, nullptr, Unsupported, 0, nullptr, nullptr, nullptr)
4355
OPTION(prefix_1, llvm::StringLiteral("print-preamble"), print_preamble, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4356
       "Print the \"preamble\" of a file, which is a candidate for implicit precompiled headers.", nullptr, nullptr)
4357
OPTION(prefix_4, llvm::StringLiteral("print-prog-name="), print_prog_name_EQ, Joined, INVALID, INVALID, nullptr, 0, 0,
4358
       "Print the full program path of <name>", "<name>", nullptr)
4359
OPTION(prefix_3, llvm::StringLiteral("print-prog-name"), _print_prog_name, Separate, INVALID, print_prog_name_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4360
OPTION(prefix_4, llvm::StringLiteral("print-resource-dir"), print_resource_dir, Flag, INVALID, INVALID, nullptr, 0, 0,
4361
       "Print the resource directory pathname", nullptr, nullptr)
4362
OPTION(prefix_4, llvm::StringLiteral("print-rocm-search-dirs"), print_rocm_search_dirs, Flag, INVALID, INVALID, nullptr, 0, 0,
4363
       "Print the paths used for finding ROCm installation", nullptr, nullptr)
4364
OPTION(prefix_4, llvm::StringLiteral("print-runtime-dir"), print_runtime_dir, Flag, INVALID, INVALID, nullptr, 0, 0,
4365
       "Print the directory pathname containing clangs runtime libraries", nullptr, nullptr)
4366
OPTION(prefix_4, llvm::StringLiteral("print-search-dirs"), print_search_dirs, Flag, INVALID, INVALID, nullptr, 0, 0,
4367
       "Print the paths used for finding libraries and programs", nullptr, nullptr)
4368
OPTION(prefix_1, llvm::StringLiteral("print-stats"), print_stats, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4369
       "Print performance metrics and statistics", nullptr, nullptr)
4370
OPTION(prefix_4, llvm::StringLiteral("print-supported-cpus"), print_supported_cpus, Flag, CompileOnly_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
4371
       "Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)", nullptr, nullptr)
4372
OPTION(prefix_4, llvm::StringLiteral("print-target-triple"), print_target_triple, Flag, INVALID, INVALID, nullptr, FlangOption, 0,
4373
       "Print the normalized target triple", nullptr, nullptr)
4374
OPTION(prefix_4, llvm::StringLiteral("print-targets"), print_targets, Flag, INVALID, INVALID, nullptr, 0, 0,
4375
       "Print the registered targets", nullptr, nullptr)
4376
OPTION(prefix_1, llvm::StringLiteral("private_bundle"), private__bundle, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4377
OPTION(prefix_3, llvm::StringLiteral("product-name="), product_name_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
4378
OPTION(prefix_3, llvm::StringLiteral("profile"), _profile, Flag, INVALID, p, nullptr, 0, 0, nullptr, nullptr, nullptr)
4379
OPTION(prefix_1, llvm::StringLiteral("pthreads"), pthreads, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4380
OPTION(prefix_1, llvm::StringLiteral("pthread"), pthread, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4381
       "Support POSIX threads in generated code", nullptr, nullptr)
4382
OPTION(prefix_3, llvm::StringLiteral("ptxas-path="), ptxas_path_EQ, Joined, i_Group, INVALID, nullptr, 0, 0,
4383
       "Path to ptxas (used for compiling CUDA code)", nullptr, nullptr)
4384
OPTION(prefix_1, llvm::StringLiteral("P"), P, Flag, Preprocessor_Group, INVALID, nullptr, CC1Option | FlangOption | FC1Option, 0,
4385
       "Disable linemarker output in -E mode", nullptr, nullptr)
4386
OPTION(prefix_2, llvm::StringLiteral("P"), _SLASH_P, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4387
       "Preprocess to file", nullptr, nullptr)
4388
OPTION(prefix_1, llvm::StringLiteral("p"), p, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4389
OPTION(prefix_2, llvm::StringLiteral("Qfast_transcendentals"), _SLASH_Qfast_transcendentals, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4390
OPTION(prefix_2, llvm::StringLiteral("QIfist"), _SLASH_QIfist, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4391
OPTION(prefix_2, llvm::StringLiteral("Qimprecise_fwaits"), _SLASH_Qimprecise_fwaits, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4392
OPTION(prefix_2, llvm::StringLiteral("QIntel-jcc-erratum"), _SLASH_QIntel_jcc_erratum, Flag, cl_Group, mbranches_within_32B_boundaries, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4393
       "Align branches within 32-byte boundaries to mitigate the performance impact of the Intel JCC erratum.", nullptr, nullptr)
4394
OPTION(prefix_1, llvm::StringLiteral("Qn"), Qn, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4395
       "Do not emit metadata containing compiler name and version", nullptr, nullptr)
4396
OPTION(prefix_2, llvm::StringLiteral("Qpar-report"), _SLASH_Qpar_report, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4397
OPTION(prefix_2, llvm::StringLiteral("Qpar"), _SLASH_Qpar, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4398
OPTION(prefix_2, llvm::StringLiteral("Qsafe_fp_loads"), _SLASH_Qsafe_fp_loads, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4399
OPTION(prefix_2, llvm::StringLiteral("Qspectre-load-cf"), _SLASH_Qspectre_load_cf, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4400
OPTION(prefix_2, llvm::StringLiteral("Qspectre-load"), _SLASH_Qspectre_load, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4401
OPTION(prefix_2, llvm::StringLiteral("Qspectre"), _SLASH_Qspectre, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4402
OPTION(prefix_1, llvm::StringLiteral("Qunused-arguments"), Qunused_arguments, Flag, INVALID, INVALID, nullptr, NoXarchOption | CoreOption, 0,
4403
       "Don't emit warning for unused driver arguments", nullptr, nullptr)
4404
OPTION(prefix_2, llvm::StringLiteral("Qvec-report"), _SLASH_Qvec_report, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4405
OPTION(prefix_2, llvm::StringLiteral("Qvec-"), _SLASH_Qvec_, Flag, cl_Group, fno_vectorize, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4406
       "Disable the loop vectorization passes", nullptr, nullptr)
4407
OPTION(prefix_2, llvm::StringLiteral("Qvec"), _SLASH_Qvec, Flag, cl_Group, fvectorize, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4408
       "Enable the loop vectorization passes", nullptr, nullptr)
4409
OPTION(prefix_1, llvm::StringLiteral("Qy"), Qy, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4410
       "Emit metadata containing compiler name and version", nullptr, nullptr)
4411
OPTION(prefix_1, llvm::StringLiteral("Q"), Q, Flag, INVALID, INVALID, nullptr, HelpHidden, 0, nullptr, nullptr, nullptr)
4412
OPTION(prefix_1, llvm::StringLiteral("rdynamic"), rdynamic, Flag, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4413
OPTION(prefix_1, llvm::StringLiteral("read_only_relocs"), read__only__relocs, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4414
OPTION(prefix_1, llvm::StringLiteral("record-command-line"), record_command_line, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
4415
       "The string to embed in the .LLVM.command.line section.", nullptr, nullptr)
4416
OPTION(prefix_2, llvm::StringLiteral("reference"), _SLASH_reference, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4417
OPTION(prefix_1, llvm::StringLiteral("relaxed-aliasing"), relaxed_aliasing, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4418
       "Turn off Type Based Alias Analysis", nullptr, nullptr)
4419
OPTION(prefix_4, llvm::StringLiteral("relocatable-pch"), relocatable_pch, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4420
       "Whether to build a relocatable precompiled header", nullptr, nullptr)
4421
OPTION(prefix_1, llvm::StringLiteral("remap-file"), remap_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4422
       "Replace the contents of the <from> file with the contents of the <to> file", "<from>;<to>", nullptr)
4423
OPTION(prefix_1, llvm::StringLiteral("remap"), remap, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4424
OPTION(prefix_1, llvm::StringLiteral("resource-dir="), resource_dir_EQ, Joined, INVALID, resource_dir, nullptr, NoXarchOption | CoreOption, 0, nullptr, nullptr, nullptr)
4425
OPTION(prefix_1, llvm::StringLiteral("resource-dir"), resource_dir, Separate, INVALID, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption | HelpHidden, 0,
4426
       "The directory which holds the compiler resource files", nullptr, nullptr)
4427
OPTION(prefix_3, llvm::StringLiteral("resource="), _resource_EQ, Joined, INVALID, fcompile_resource_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4428
OPTION(prefix_3, llvm::StringLiteral("resource"), _resource, Separate, INVALID, fcompile_resource_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4429
OPTION(prefix_1, llvm::StringLiteral("rewrite-legacy-objc"), rewrite_legacy_objc, Flag, INVALID, INVALID, nullptr, NoXarchOption, 0,
4430
       "Rewrite Legacy Objective-C source to C++", nullptr, nullptr)
4431
OPTION(prefix_1, llvm::StringLiteral("rewrite-macros"), rewrite_macros, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4432
       "Expand macros without full preprocessing", nullptr, nullptr)
4433
OPTION(prefix_1, llvm::StringLiteral("rewrite-objc"), rewrite_objc, Flag, Action_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
4434
       "Rewrite Objective-C source to C++", nullptr, nullptr)
4435
OPTION(prefix_1, llvm::StringLiteral("rewrite-test"), rewrite_test, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4436
       "Rewriter playground", nullptr, nullptr)
4437
OPTION(prefix_3, llvm::StringLiteral("rocm-device-lib-path="), rocm_device_lib_path_EQ, Joined, Link_Group, INVALID, nullptr, 0, 0,
4438
       "ROCm device library path. Alternative to rocm-path.", nullptr, nullptr)
4439
OPTION(prefix_3, llvm::StringLiteral("rocm-path="), rocm_path_EQ, Joined, i_Group, INVALID, nullptr, 0, 0,
4440
       "ROCm installation path, used for finding and automatically linking required bitcode libraries.", nullptr, nullptr)
4441
OPTION(prefix_1, llvm::StringLiteral("round-trip-args"), round_trip_args, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4442
       "Enable command line arguments round-trip.", nullptr, nullptr)
4443
OPTION(prefix_1, llvm::StringLiteral("Rpass-analysis="), Rpass_analysis_EQ, Joined, R_value_Group, INVALID, nullptr, CC1Option, 0,
4444
       "Report transformation analysis from optimization passes whose name matches the given POSIX regular expression", nullptr, nullptr)
4445
OPTION(prefix_1, llvm::StringLiteral("Rpass-missed="), Rpass_missed_EQ, Joined, R_value_Group, INVALID, nullptr, CC1Option, 0,
4446
       "Report missed transformations by optimization passes whose name matches the given POSIX regular expression", nullptr, nullptr)
4447
OPTION(prefix_1, llvm::StringLiteral("Rpass="), Rpass_EQ, Joined, R_value_Group, INVALID, nullptr, CC1Option, 0,
4448
       "Report transformations performed by optimization passes whose name matches the given POSIX regular expression", nullptr, nullptr)
4449
OPTION(prefix_1, llvm::StringLiteral("rpath"), rpath, Separate, Link_Group, INVALID, nullptr, LinkerInput, 0, nullptr, nullptr, nullptr)
4450
OPTION(prefix_3, llvm::StringLiteral("rsp-quoting="), rsp_quoting, Joined, internal_driver_Group, INVALID, nullptr, CoreOption | NoXarchOption | HelpHidden, 0,
4451
       "Set the rsp quoting to either 'posix', or 'windows'", nullptr, nullptr)
4452
OPTION(prefix_2, llvm::StringLiteral("RTC"), _SLASH_RTC, Joined, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption | HelpHidden, 0, nullptr, nullptr, nullptr)
4453
OPTION(prefix_4, llvm::StringLiteral("rtlib="), rtlib_EQ, Joined, INVALID, INVALID, nullptr, 0, 0,
4454
       "Compiler runtime library to use", nullptr, nullptr)
4455
OPTION(prefix_3, llvm::StringLiteral("rtlib"), _rtlib, Separate, INVALID, rtlib_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4456
OPTION(prefix_1, llvm::StringLiteral("R"), R_Joined, Joined, R_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
4457
       "Enable the specified remark", "<remark>", nullptr)
4458
OPTION(prefix_1, llvm::StringLiteral("r"), r, Flag, Link_Group, INVALID, nullptr, LinkerInput | NoArgumentUnused, 0, nullptr, nullptr, nullptr)
4459
OPTION(prefix_4, llvm::StringLiteral("save-stats="), save_stats_EQ, Joined, INVALID, INVALID, nullptr, NoXarchOption, 0,
4460
       "Save llvm statistics.", nullptr, nullptr)
4461
OPTION(prefix_4, llvm::StringLiteral("save-stats"), save_stats, Flag, INVALID, save_stats_EQ, "cwd\0", NoXarchOption, 0,
4462
       "Save llvm statistics.", nullptr, nullptr)
4463
OPTION(prefix_4, llvm::StringLiteral("save-temps="), save_temps_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | FlangOption | NoXarchOption, 0,
4464
       "Save intermediate compilation results.", nullptr, nullptr)
4465
OPTION(prefix_4, llvm::StringLiteral("save-temps"), save_temps, Flag, INVALID, save_temps_EQ, "cwd\0", FlangOption | NoXarchOption, 0,
4466
       "Save intermediate compilation results", nullptr, nullptr)
4467
OPTION(prefix_2, llvm::StringLiteral("sdl-"), _SLASH_sdl_, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4468
OPTION(prefix_2, llvm::StringLiteral("sdl"), _SLASH_sdl, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4469
OPTION(prefix_1, llvm::StringLiteral("sectalign"), sectalign, MultiArg, INVALID, INVALID, nullptr, 0, 3, nullptr, nullptr, nullptr)
4470
OPTION(prefix_1, llvm::StringLiteral("sectcreate"), sectcreate, MultiArg, INVALID, INVALID, nullptr, 0, 3, nullptr, nullptr, nullptr)
4471
OPTION(prefix_1, llvm::StringLiteral("sectobjectsymbols"), sectobjectsymbols, MultiArg, INVALID, INVALID, nullptr, 0, 2, nullptr, nullptr, nullptr)
4472
OPTION(prefix_1, llvm::StringLiteral("sectorder"), sectorder, MultiArg, INVALID, INVALID, nullptr, 0, 3, nullptr, nullptr, nullptr)
4473
OPTION(prefix_1, llvm::StringLiteral("seg1addr"), seg1addr, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4474
OPTION(prefix_1, llvm::StringLiteral("seg_addr_table_filename"), seg__addr__table__filename, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4475
OPTION(prefix_1, llvm::StringLiteral("seg_addr_table"), seg__addr__table, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4476
OPTION(prefix_1, llvm::StringLiteral("segaddr"), segaddr, MultiArg, INVALID, INVALID, nullptr, 0, 2, nullptr, nullptr, nullptr)
4477
OPTION(prefix_1, llvm::StringLiteral("segcreate"), segcreate, MultiArg, INVALID, INVALID, nullptr, 0, 3, nullptr, nullptr, nullptr)
4478
OPTION(prefix_1, llvm::StringLiteral("seglinkedit"), seglinkedit, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4479
OPTION(prefix_1, llvm::StringLiteral("segprot"), segprot, MultiArg, INVALID, INVALID, nullptr, 0, 3, nullptr, nullptr, nullptr)
4480
OPTION(prefix_1, llvm::StringLiteral("segs_read_only_addr"), segs__read__only__addr, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4481
OPTION(prefix_1, llvm::StringLiteral("segs_read_write_addr"), segs__read__write__addr, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4482
OPTION(prefix_1, llvm::StringLiteral("segs_read_"), segs__read__, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4483
OPTION(prefix_1, llvm::StringLiteral("serialize-diagnostic-file"), diagnostic_serialized_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4484
       "File for serializing diagnostics in a binary format", "<filename>", nullptr)
4485
OPTION(prefix_4, llvm::StringLiteral("serialize-diagnostics"), _serialize_diags, Separate, INVALID, INVALID, nullptr, NoXarchOption, 0,
4486
       "Serialize compiler diagnostics to a file", nullptr, nullptr)
4487
OPTION(prefix_1, llvm::StringLiteral("setup-static-analyzer"), setup_static_analyzer, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4488
       "Set up preprocessor for static analyzer (done automatically when static analyzer is run).", nullptr, nullptr)
4489
OPTION(prefix_1, llvm::StringLiteral("shared-libasan"), anonymous_167, Flag, INVALID, shared_libsan, nullptr, 0, 0, nullptr, nullptr, nullptr)
4490
OPTION(prefix_1, llvm::StringLiteral("shared-libgcc"), shared_libgcc, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4491
OPTION(prefix_1, llvm::StringLiteral("shared-libsan"), shared_libsan, Flag, INVALID, INVALID, nullptr, 0, 0,
4492
       "Dynamically link the sanitizer runtime", nullptr, nullptr)
4493
OPTION(prefix_4, llvm::StringLiteral("shared"), shared, Flag, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4494
OPTION(prefix_1, llvm::StringLiteral("show-encoding"), show_encoding, Flag, INVALID, INVALID, nullptr, CC1AsOption | NoDriverOption, 0,
4495
       "Show instruction encoding information in transliterate mode", nullptr, nullptr)
4496
OPTION(prefix_3, llvm::StringLiteral("show-includes"), show_includes, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4497
       "Print cl.exe style /showIncludes to stdout", nullptr, nullptr)
4498
OPTION(prefix_1, llvm::StringLiteral("show-inst"), show_inst, Flag, INVALID, INVALID, nullptr, CC1AsOption | NoDriverOption, 0,
4499
       "Show internal instruction representation in transliterate mode", nullptr, nullptr)
4500
OPTION(prefix_2, llvm::StringLiteral("showFilenames-"), _SLASH_showFilenames_, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4501
       "Do not print the name of each compiled file (default)", nullptr, nullptr)
4502
OPTION(prefix_2, llvm::StringLiteral("showFilenames"), _SLASH_showFilenames, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4503
       "Print the name of each compiled file", nullptr, nullptr)
4504
OPTION(prefix_2, llvm::StringLiteral("showIncludes:user"), _SLASH_showIncludes_user, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4505
       "Like /showIncludes but omit system headers", nullptr, nullptr)
4506
OPTION(prefix_2, llvm::StringLiteral("showIncludes"), _SLASH_showIncludes, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4507
       "Print info about included files to stderr", nullptr, nullptr)
4508
OPTION(prefix_3, llvm::StringLiteral("signed-char"), _signed_char, Flag, INVALID, fsigned_char, nullptr, 0, 0, nullptr, nullptr, nullptr)
4509
OPTION(prefix_1, llvm::StringLiteral("single_module"), single__module, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4510
OPTION(prefix_2, llvm::StringLiteral("source-charset:"), _SLASH_source_charset, Joined, cl_compile_Group, finput_charset_EQ, nullptr, CLOption | NoXarchOption, 0,
4511
       "Set source encoding, supports only UTF-8", nullptr, nullptr)
4512
OPTION(prefix_1, llvm::StringLiteral("source-date-epoch"), source_date_epoch, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4513
       "Time to be used in __DATE__, __TIME__, and __TIMESTAMP__ macros", "<time since Epoch in seconds>", nullptr)
4514
OPTION(prefix_2, llvm::StringLiteral("sourceDependencies:directives"), _SLASH_sourceDependenciesDirectives, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4515
OPTION(prefix_2, llvm::StringLiteral("sourceDependencies"), _SLASH_sourceDependencies, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4516
OPTION(prefix_4, llvm::StringLiteral("specs="), specs_EQ, Joined, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4517
OPTION(prefix_4, llvm::StringLiteral("specs"), specs, Separate, INVALID, INVALID, nullptr, Unsupported, 0, nullptr, nullptr, nullptr)
4518
OPTION(prefix_1, llvm::StringLiteral("split-dwarf-file"), split_dwarf_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4519
       "Name of the split dwarf debug info file to encode in the object file", nullptr, nullptr)
4520
OPTION(prefix_1, llvm::StringLiteral("split-dwarf-output"), split_dwarf_output, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
4521
       "File name to use for split dwarf debug info output", nullptr, nullptr)
4522
OPTION(prefix_1, llvm::StringLiteral("stack-protector-buffer-size"), stack_protector_buffer_size, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4523
       "Lower bound for a buffer to be considered for stack protection", nullptr, nullptr)
4524
OPTION(prefix_1, llvm::StringLiteral("stack-protector"), stack_protector, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4525
       "Enable stack protectors", nullptr, "0,1,2,3")
4526
OPTION(prefix_1, llvm::StringLiteral("stack-usage-file"), stack_usage_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4527
       "Filename (or -) to write stack usage output to", nullptr, nullptr)
4528
OPTION(prefix_3, llvm::StringLiteral("start-no-unused-arguments"), start_no_unused_arguments, Flag, INVALID, INVALID, nullptr, CoreOption, 0,
4529
       "Don't emit warnings about unused arguments for the following arguments", nullptr, nullptr)
4530
OPTION(prefix_1, llvm::StringLiteral("static-define"), static_define, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4531
       "Should __STATIC__ be defined", nullptr, nullptr)
4532
OPTION(prefix_1, llvm::StringLiteral("static-libgcc"), static_libgcc, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4533
OPTION(prefix_1, llvm::StringLiteral("static-libgfortran"), static_libgfortran, Flag, gfortran_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4534
OPTION(prefix_1, llvm::StringLiteral("static-libsan"), static_libsan, Flag, INVALID, INVALID, nullptr, 0, 0,
4535
       "Statically link the sanitizer runtime", nullptr, nullptr)
4536
OPTION(prefix_1, llvm::StringLiteral("static-libstdc++"), static_libstdcxx, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4537
OPTION(prefix_1, llvm::StringLiteral("static-openmp"), static_openmp, Flag, INVALID, INVALID, nullptr, 0, 0,
4538
       "Use the static host OpenMP runtime while linking.", nullptr, nullptr)
4539
OPTION(prefix_1, llvm::StringLiteral("static-pie"), static_pie, Flag, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4540
OPTION(prefix_4, llvm::StringLiteral("static"), static, Flag, Link_Group, INVALID, nullptr, NoArgumentUnused, 0, nullptr, nullptr, nullptr)
4541
OPTION(prefix_1, llvm::StringLiteral("stats-file="), stats_file, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4542
       "Filename to write statistics to", nullptr, nullptr)
4543
OPTION(prefix_1, llvm::StringLiteral("std-default="), std_default_EQ, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4544
OPTION(prefix_2, llvm::StringLiteral("std:"), _SLASH_std, Joined, cl_compile_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
4545
       "Set language version (c++14,c++17,c++20,c++latest,c11,c17)", nullptr, nullptr)
4546
OPTION(prefix_4, llvm::StringLiteral("std="), std_EQ, Joined, CompileOnly_Group, INVALID, nullptr, CC1Option | FlangOption | FC1Option, 0,
4547
       "Language standard to compile for", nullptr, std_EQ_Values)
4548
OPTION(prefix_1, llvm::StringLiteral("stdlib++-isystem"), stdlibxx_isystem, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, NoXarchOption, 0,
4549
       "Use directory as the C++ standard library include path", "<directory>", nullptr)
4550
OPTION(prefix_4, llvm::StringLiteral("stdlib="), stdlib_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0,
4551
       "C++ standard library to use", nullptr, "libc++,libstdc++,platform")
4552
OPTION(prefix_3, llvm::StringLiteral("stdlib"), _stdlib, Separate, INVALID, stdlib_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4553
OPTION(prefix_3, llvm::StringLiteral("std"), _std, Separate, INVALID, std_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4554
OPTION(prefix_1, llvm::StringLiteral("sub_library"), sub__library, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4555
OPTION(prefix_1, llvm::StringLiteral("sub_umbrella"), sub__umbrella, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4556
OPTION(prefix_1, llvm::StringLiteral("sycl-std="), sycl_std_EQ, Joined, sycl_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | CoreOption, 0,
4557
       "SYCL language standard to compile for.", nullptr, "2020,2017,121,1.2.1,sycl-1.2.1")
4558
OPTION(prefix_1, llvm::StringLiteral("sys-header-deps"), sys_header_deps, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4559
       "Include system headers in dependency output", nullptr, nullptr)
4560
OPTION(prefix_3, llvm::StringLiteral("sysroot="), _sysroot_EQ, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4561
OPTION(prefix_3, llvm::StringLiteral("sysroot"), _sysroot, Separate, INVALID, _sysroot_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4562
OPTION(prefix_3, llvm::StringLiteral("system-header-prefix="), system_header_prefix, Joined, clang_i_Group, INVALID, nullptr, CC1Option, 0,
4563
       "Treat all #include paths starting with <prefix> as including a system header.", "<prefix>", nullptr)
4564
OPTION(prefix_3, llvm::StringLiteral("system-header-prefix"), anonymous_1389, Separate, INVALID, system_header_prefix, nullptr, 0, 0, nullptr, nullptr, nullptr)
4565
OPTION(prefix_1, llvm::StringLiteral("S"), S, Flag, Action_Group, INVALID, nullptr, NoXarchOption | CC1Option | FlangOption | FC1Option, 0,
4566
       "Only run preprocess and compilation steps", nullptr, nullptr)
4567
OPTION(prefix_1, llvm::StringLiteral("s"), s, Flag, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4568
OPTION(prefix_1, llvm::StringLiteral("target-abi"), target_abi, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
4569
       "Target a particular ABI type", nullptr, nullptr)
4570
OPTION(prefix_1, llvm::StringLiteral("target-cpu"), target_cpu, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | FC1Option | NoDriverOption, 0,
4571
       "Target a specific cpu type", nullptr, nullptr)
4572
OPTION(prefix_1, llvm::StringLiteral("target-feature"), target_feature, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | FC1Option | NoDriverOption, 0,
4573
       "Target specific attributes", nullptr, nullptr)
4574
OPTION(prefix_3, llvm::StringLiteral("target-help"), _target_help, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4575
OPTION(prefix_1, llvm::StringLiteral("target-linker-version"), target_linker_version, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4576
       "Target linker version", nullptr, nullptr)
4577
OPTION(prefix_1, llvm::StringLiteral("target-sdk-version="), target_sdk_version_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
4578
       "The version of target SDK used for compilation", nullptr, nullptr)
4579
OPTION(prefix_3, llvm::StringLiteral("target="), target, Joined, INVALID, INVALID, nullptr, NoXarchOption | CoreOption | FlangOption, 0,
4580
       "Generate code for the given target", nullptr, nullptr)
4581
OPTION(prefix_1, llvm::StringLiteral("target"), target_legacy_spelling, Separate, INVALID, target, nullptr, CoreOption, 0, nullptr, nullptr, nullptr)
4582
OPTION(prefix_2, llvm::StringLiteral("TC"), _SLASH_TC, Flag, cl_compile_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
4583
       "Treat all source files as C", nullptr, nullptr)
4584
OPTION(prefix_2, llvm::StringLiteral("Tc"), _SLASH_Tc, JoinedOrSeparate, cl_compile_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
4585
       "Treat <file> as C source file", "<file>", nullptr)
4586
OPTION(prefix_1, llvm::StringLiteral("templight-dump"), templight_dump, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4587
       "Dump templight information to stdout", nullptr, nullptr)
4588
OPTION(prefix_1, llvm::StringLiteral("test-io"), test_io, Flag, Action_Group, INVALID, nullptr, FC1Option | FlangOnlyOption, 0,
4589
       "Run the InputOuputTest action. Use for development and testing only.", nullptr, nullptr)
4590
OPTION(prefix_1, llvm::StringLiteral("time"), time, Flag, INVALID, INVALID, nullptr, 0, 0,
4591
       "Time individual commands", nullptr, nullptr)
4592
OPTION(prefix_2, llvm::StringLiteral("TP"), _SLASH_TP, Flag, cl_compile_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
4593
       "Treat all source files as C++", nullptr, nullptr)
4594
OPTION(prefix_2, llvm::StringLiteral("Tp"), _SLASH_Tp, JoinedOrSeparate, cl_compile_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
4595
       "Treat <file> as C++ source file", "<file>", nullptr)
4596
OPTION(prefix_3, llvm::StringLiteral("trace-includes"), _trace_includes, Flag, INVALID, H, nullptr, 0, 0, nullptr, nullptr, nullptr)
4597
OPTION(prefix_4, llvm::StringLiteral("traditional-cpp"), traditional_cpp, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4598
       "Enable some traditional CPP emulation", nullptr, nullptr)
4599
OPTION(prefix_4, llvm::StringLiteral("traditional"), traditional, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4600
OPTION(prefix_2, llvm::StringLiteral("translateInclude"), _SLASH_translateInclude, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4601
OPTION(prefix_4, llvm::StringLiteral("trigraphs"), trigraphs, Flag, INVALID, ftrigraphs, nullptr, 0, 0,
4602
       "Process trigraph sequences", nullptr, nullptr)
4603
OPTION(prefix_1, llvm::StringLiteral("trim-egraph"), trim_egraph, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4604
       "Only show error-related paths in the analysis graph", nullptr, nullptr)
4605
OPTION(prefix_1, llvm::StringLiteral("triple="), triple_EQ, Joined, INVALID, triple, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr)
4606
OPTION(prefix_1, llvm::StringLiteral("triple"), triple, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | FC1Option | NoDriverOption, 0,
4607
       "Specify target triple (e.g. i686-apple-darwin9)", nullptr, nullptr)
4608
OPTION(prefix_1, llvm::StringLiteral("tune-cpu"), tune_cpu, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
4609
       "Tune for a specific cpu type", nullptr, nullptr)
4610
OPTION(prefix_2, llvm::StringLiteral("tune:"), _SLASH_tune, Joined, cl_compile_Group, mtune_EQ, nullptr, CLOption | NoXarchOption, 0,
4611
       "Set CPU for optimization without affecting instruction set", nullptr, nullptr)
4612
OPTION(prefix_1, llvm::StringLiteral("twolevel_namespace_hints"), twolevel__namespace__hints, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4613
OPTION(prefix_1, llvm::StringLiteral("twolevel_namespace"), twolevel__namespace, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4614
OPTION(prefix_1, llvm::StringLiteral("T"), T, JoinedOrSeparate, T_Group, INVALID, nullptr, 0, 0,
4615
       "Specify <script> as linker script", "<script>", nullptr)
4616
OPTION(prefix_2, llvm::StringLiteral("T"), target_profile, JoinedOrSeparate, dxc_Group, INVALID, nullptr, DXCOption | NoXarchOption | DXCOption, 0,
4617
       "Set target profile", "<profile>", "ps_6_0, ps_6_1, ps_6_2, ps_6_3, ps_6_4, ps_6_5, ps_6_6, ps_6_7,vs_6_0, vs_6_1, vs_6_2, vs_6_3, vs_6_4, vs_6_5, vs_6_6, vs_6_7,gs_6_0, gs_6_1, gs_6_2, gs_6_3, gs_6_4, gs_6_5, gs_6_6, gs_6_7,hs_6_0, hs_6_1, hs_6_2, hs_6_3, hs_6_4, hs_6_5, hs_6_6, hs_6_7,ds_6_0, ds_6_1, ds_6_2, ds_6_3, ds_6_4, ds_6_5, ds_6_6, ds_6_7,cs_6_0, cs_6_1, cs_6_2, cs_6_3, cs_6_4, cs_6_5, cs_6_6, cs_6_7,lib_6_3, lib_6_4, lib_6_5, lib_6_6, lib_6_7, lib_6_x,ms_6_5, ms_6_6, ms_6_7,as_6_5, as_6_6, as_6_7")
4618
OPTION(prefix_1, llvm::StringLiteral("t"), t, Flag, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4619
OPTION(prefix_1, llvm::StringLiteral("umbrella"), umbrella, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4620
OPTION(prefix_3, llvm::StringLiteral("undefine-macro="), _undefine_macro_EQ, Joined, INVALID, U, nullptr, 0, 0, nullptr, nullptr, nullptr)
4621
OPTION(prefix_3, llvm::StringLiteral("undefine-macro"), _undefine_macro, Separate, INVALID, U, nullptr, 0, 0, nullptr, nullptr, nullptr)
4622
OPTION(prefix_1, llvm::StringLiteral("undefined"), undefined, JoinedOrSeparate, u_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4623
OPTION(prefix_1, llvm::StringLiteral("undef"), undef, Flag, u_Group, INVALID, nullptr, CC1Option, 0,
4624
       "undef all system defines", nullptr, nullptr)
4625
OPTION(prefix_1, llvm::StringLiteral("unexported_symbols_list"), unexported__symbols__list, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4626
OPTION(prefix_1, llvm::StringLiteral("unoptimized-cfg"), analysis_UnoptimizedCFG, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4627
       "Generate unoptimized CFGs for all analyses", nullptr, nullptr)
4628
OPTION(prefix_3, llvm::StringLiteral("unsigned-char"), _unsigned_char, Flag, INVALID, funsigned_char, nullptr, 0, 0, nullptr, nullptr, nullptr)
4629
OPTION(prefix_4, llvm::StringLiteral("unwindlib="), unwindlib_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0,
4630
       "Unwind library to use", nullptr, "libgcc,unwindlib,platform")
4631
OPTION(prefix_3, llvm::StringLiteral("user-dependencies"), _user_dependencies, Flag, INVALID, MM, nullptr, 0, 0, nullptr, nullptr, nullptr)
4632
OPTION(prefix_2, llvm::StringLiteral("utf-8"), _SLASH_utf8, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
4633
       "Set source and runtime encoding to UTF-8 (default)", nullptr, nullptr)
4634
OPTION(prefix_1, llvm::StringLiteral("U"), U, JoinedOrSeparate, Preprocessor_Group, INVALID, nullptr, CC1Option | FlangOption | FC1Option, 0,
4635
       "Undefine macro <macro>", "<macro>", nullptr)
4636
OPTION(prefix_2, llvm::StringLiteral("U"), _SLASH_U, JoinedOrSeparate, cl_Group, U, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4637
       "Undefine macro", "<macro>", nullptr)
4638
OPTION(prefix_1, llvm::StringLiteral("u"), u, JoinedOrSeparate, u_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4639
OPTION(prefix_2, llvm::StringLiteral("u"), _SLASH_u, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4640
OPTION(prefix_2, llvm::StringLiteral("validate-charset-"), _SLASH_validate_charset_, Flag, cl_Group, W_Joined, "no-invalid-source-encoding\0", CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4641
OPTION(prefix_2, llvm::StringLiteral("validate-charset"), _SLASH_validate_charset, Flag, cl_Group, W_Joined, "invalid-source-encoding\0", CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4642
OPTION(prefix_2, llvm::StringLiteral("validator-version"), dxil_validator_version, Separate, dxc_Group, INVALID, nullptr, DXCOption | NoXarchOption | CC1Option | HelpHidden | DXCOption, 0,
4643
       "Override validator version for module. Format: <major.minor>;Default: DXIL.dll version or current internal version", nullptr, nullptr)
4644
OPTION(prefix_2, llvm::StringLiteral("vctoolsdir"), _SLASH_vctoolsdir, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4645
       "Path to the VCToolChain", "<dir>", nullptr)
4646
OPTION(prefix_2, llvm::StringLiteral("vctoolsversion"), _SLASH_vctoolsversion, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4647
       "For use with /winsysroot, defaults to newest found", nullptr, nullptr)
4648
OPTION(prefix_2, llvm::StringLiteral("vd"), _SLASH_vd, Joined, cl_Group, vtordisp_mode_EQ, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4649
       "Control vtordisp placement", nullptr, nullptr)
4650
OPTION(prefix_1, llvm::StringLiteral("vectorize-loops"), vectorize_loops, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4651
       "Run the Loop vectorization passes", nullptr, nullptr)
4652
OPTION(prefix_1, llvm::StringLiteral("vectorize-slp"), vectorize_slp, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4653
       "Run the SLP vectorization passes", nullptr, nullptr)
4654
OPTION(prefix_3, llvm::StringLiteral("verbose"), _verbose, Flag, INVALID, v, nullptr, 0, 0, nullptr, nullptr, nullptr)
4655
OPTION(prefix_3, llvm::StringLiteral("verify-debug-info"), verify_debug_info, Flag, INVALID, INVALID, nullptr, NoXarchOption, 0,
4656
       "Verify the binary representation of debug output", nullptr, nullptr)
4657
OPTION(prefix_1, llvm::StringLiteral("verify-ignore-unexpected="), verify_ignore_unexpected_EQ, CommaJoined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4658
       "Ignore unexpected diagnostic messages", nullptr, nullptr)
4659
OPTION(prefix_1, llvm::StringLiteral("verify-ignore-unexpected"), verify_ignore_unexpected, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4660
       "Ignore unexpected diagnostic messages", nullptr, nullptr)
4661
OPTION(prefix_1, llvm::StringLiteral("verify-pch"), verify_pch, Flag, Action_Group, INVALID, nullptr, CC1Option, 0,
4662
       "Load and verify that a pre-compiled header file is not stale", nullptr, nullptr)
4663
OPTION(prefix_1, llvm::StringLiteral("verify="), verify_EQ, CommaJoined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4664
       "Verify diagnostic output using comment directives that start with prefixes in the comma-separated sequence <prefixes>", "<prefixes>", nullptr)
4665
OPTION(prefix_1, llvm::StringLiteral("verify"), verify, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4666
       "Equivalent to -verify=expected", nullptr, nullptr)
4667
OPTION(prefix_3, llvm::StringLiteral("version"), _version, Flag, INVALID, INVALID, nullptr, CoreOption | FlangOption, 0,
4668
       "Print version information", nullptr, nullptr)
4669
OPTION(prefix_1, llvm::StringLiteral("version"), version, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | FC1Option | NoDriverOption, 0,
4670
       "Print the compiler version", nullptr, nullptr)
4671
OPTION(prefix_4, llvm::StringLiteral("via-file-asm"), via_file_asm, Flag, internal_debug_Group, INVALID, nullptr, NoXarchOption | HelpHidden | CoreOption, 0,
4672
       "Write assembly to file for input to assemble jobs", nullptr, nullptr)
4673
OPTION(prefix_2, llvm::StringLiteral("vmb"), _SLASH_vmb, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4674
       "Use a best-case representation method for member pointers", nullptr, nullptr)
4675
OPTION(prefix_2, llvm::StringLiteral("vmg"), _SLASH_vmg, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4676
       "Use a most-general representation for member pointers", nullptr, nullptr)
4677
OPTION(prefix_2, llvm::StringLiteral("vmm"), _SLASH_vmm, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4678
       "Set the default most-general representation to multiple inheritance", nullptr, nullptr)
4679
OPTION(prefix_2, llvm::StringLiteral("vms"), _SLASH_vms, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4680
       "Set the default most-general representation to single inheritance", nullptr, nullptr)
4681
OPTION(prefix_2, llvm::StringLiteral("vmv"), _SLASH_vmv, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4682
       "Set the default most-general representation to virtual inheritance", nullptr, nullptr)
4683
OPTION(prefix_2, llvm::StringLiteral("volatile:iso"), _SLASH_volatile_iso, Flag, _SLASH_volatile_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
4684
       "Volatile loads and stores have standard semantics", nullptr, nullptr)
4685
OPTION(prefix_2, llvm::StringLiteral("volatile:ms"), _SLASH_volatile_ms, Flag, _SLASH_volatile_Group, INVALID, nullptr, CLOption | NoXarchOption, 0,
4686
       "Volatile loads and stores have acquire and release semantics", nullptr, nullptr)
4687
OPTION(prefix_1, llvm::StringLiteral("vtordisp-mode="), vtordisp_mode_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4688
       "Control vtordisp placement on win32 targets", nullptr, nullptr)
4689
OPTION(prefix_1, llvm::StringLiteral("V"), V, JoinedOrSeparate, INVALID, INVALID, nullptr, NoXarchOption | Unsupported, 0, nullptr, nullptr, nullptr)
4690
OPTION(prefix_2, llvm::StringLiteral("V"), _SLASH_V, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4691
OPTION(prefix_1, llvm::StringLiteral("v"), v, Flag, INVALID, INVALID, nullptr, CC1Option | CoreOption, 0,
4692
       "Show commands to run and use verbose output", nullptr, nullptr)
4693
OPTION(prefix_2, llvm::StringLiteral("W0"), _SLASH_W0, Flag, cl_Group, w, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4694
       "Disable all warnings", nullptr, nullptr)
4695
OPTION(prefix_2, llvm::StringLiteral("W1"), _SLASH_W1, Flag, cl_Group, Wall, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4696
       "Enable -Wall", nullptr, nullptr)
4697
OPTION(prefix_2, llvm::StringLiteral("W2"), _SLASH_W2, Flag, cl_Group, Wall, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4698
       "Enable -Wall", nullptr, nullptr)
4699
OPTION(prefix_2, llvm::StringLiteral("W3"), _SLASH_W3, Flag, cl_Group, Wall, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4700
       "Enable -Wall", nullptr, nullptr)
4701
OPTION(prefix_2, llvm::StringLiteral("W4"), _SLASH_W4, Flag, cl_Group, WCL4, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4702
       "Enable -Wall and -Wextra", nullptr, nullptr)
4703
OPTION(prefix_1, llvm::StringLiteral("Wa,"), Wa_COMMA, CommaJoined, INVALID, INVALID, nullptr, 0, 0,
4704
       "Pass the comma separated arguments in <arg> to the assembler", "<arg>", nullptr)
4705
OPTION(prefix_1, llvm::StringLiteral("Wall"), Wall, Flag, W_Group, INVALID, nullptr, CC1Option | HelpHidden, 0, nullptr, nullptr, nullptr)
4706
OPTION(prefix_2, llvm::StringLiteral("Wall"), _SLASH_Wall, Flag, cl_Group, W_Joined, "everything\0", CLOption | NoXarchOption | CLDXCOption, 0,
4707
       "Enable -Weverything", nullptr, nullptr)
4708
OPTION(prefix_3, llvm::StringLiteral("warn-="), _warn__EQ, Joined, INVALID, W_Joined, nullptr, 0, 0, nullptr, nullptr, nullptr)
4709
OPTION(prefix_3, llvm::StringLiteral("warn-"), _warn_, Joined, INVALID, W_Joined, nullptr, 0, 0, nullptr, nullptr, nullptr)
4710
OPTION(prefix_1, llvm::StringLiteral("WCL4"), WCL4, Flag, W_Group, INVALID, nullptr, CC1Option | HelpHidden, 0, nullptr, nullptr, nullptr)
4711
OPTION(prefix_1, llvm::StringLiteral("Wdeprecated"), Wdeprecated, Flag, W_Group, INVALID, nullptr, CC1Option, 0,
4712
       "Enable warnings for deprecated constructs and define __DEPRECATED", nullptr, nullptr)
4713
OPTION(prefix_2, llvm::StringLiteral("wd"), _SLASH_wd, Joined, cl_compile_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4714
OPTION(prefix_1, llvm::StringLiteral("weak-l"), weak_l, Joined, INVALID, INVALID, nullptr, LinkerInput, 0, nullptr, nullptr, nullptr)
4715
OPTION(prefix_1, llvm::StringLiteral("weak_framework"), weak__framework, Separate, INVALID, INVALID, nullptr, LinkerInput, 0, nullptr, nullptr, nullptr)
4716
OPTION(prefix_1, llvm::StringLiteral("weak_library"), weak__library, Separate, INVALID, INVALID, nullptr, LinkerInput, 0, nullptr, nullptr, nullptr)
4717
OPTION(prefix_1, llvm::StringLiteral("weak_reference_mismatches"), weak__reference__mismatches, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4718
OPTION(prefix_1, llvm::StringLiteral("Wframe-larger-than="), Wframe_larger_than_EQ, Joined, W_value_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0, nullptr, nullptr, nullptr)
4719
OPTION(prefix_1, llvm::StringLiteral("Wframe-larger-than"), Wframe_larger_than, Flag, INVALID, Wframe_larger_than_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4720
OPTION(prefix_1, llvm::StringLiteral("whatsloaded"), whatsloaded, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4721
OPTION(prefix_1, llvm::StringLiteral("why_load"), why_load, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4722
OPTION(prefix_1, llvm::StringLiteral("whyload"), whyload, Flag, INVALID, why_load, nullptr, 0, 0, nullptr, nullptr, nullptr)
4723
OPTION(prefix_2, llvm::StringLiteral("winsdkdir"), _SLASH_winsdkdir, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4724
       "Path to the Windows SDK", "<dir>", nullptr)
4725
OPTION(prefix_2, llvm::StringLiteral("winsdkversion"), _SLASH_winsdkversion, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4726
       "Full version of the Windows SDK, defaults to newest found", nullptr, nullptr)
4727
OPTION(prefix_2, llvm::StringLiteral("winsysroot"), _SLASH_winsysroot, JoinedOrSeparate, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4728
       "Same as \"/diasdkdir <dir>/DIA SDK\" /vctoolsdir <dir>/VC/Tools/MSVC/<vctoolsversion> \"/winsdkdir <dir>/Windows Kits/10\"", "<dir>", nullptr)
4729
OPTION(prefix_1, llvm::StringLiteral("Wl,"), Wl_COMMA, CommaJoined, Link_Group, INVALID, nullptr, LinkerInput | RenderAsInput, 0,
4730
       "Pass the comma separated arguments in <arg> to the linker", "<arg>", nullptr)
4731
OPTION(prefix_1, llvm::StringLiteral("Wlarge-by-value-copy="), Wlarge_by_value_copy_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
4732
OPTION(prefix_1, llvm::StringLiteral("Wlarge-by-value-copy"), Wlarge_by_value_copy_def, Flag, INVALID, INVALID, nullptr, HelpHidden, 0,
4733
       "Warn if a function definition returns or accepts an object larger in bytes than a given value", nullptr, nullptr)
4734
OPTION(prefix_1, llvm::StringLiteral("Wlarger-than-"), Wlarger_than_, Joined, INVALID, Wlarger_than_EQ, nullptr, 0, 0, nullptr, nullptr, nullptr)
4735
OPTION(prefix_1, llvm::StringLiteral("Wlarger-than="), Wlarger_than_EQ, Joined, clang_ignored_f_Group, INVALID, nullptr, Ignored, 0, nullptr, nullptr, nullptr)
4736
OPTION(prefix_2, llvm::StringLiteral("WL"), _SLASH_WL, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4737
OPTION(prefix_1, llvm::StringLiteral("Wno-deprecated"), Wno_deprecated, Flag, W_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
4738
OPTION(prefix_1, llvm::StringLiteral("Wno-nonportable-cfstrings"), Wno_nonportable_cfstrings, Joined, W_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
4739
OPTION(prefix_1, llvm::StringLiteral("Wno-rewrite-macros"), Wno_rewrite_macros, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
4740
       "Silence ObjC rewriting warnings", nullptr, nullptr)
4741
OPTION(prefix_1, llvm::StringLiteral("Wno-system-headers"), Wno_system_headers, Flag, W_Group, INVALID, nullptr, CC1Option | HelpHidden, 0, nullptr, nullptr, nullptr)
4742
OPTION(prefix_1, llvm::StringLiteral("Wno-write-strings"), Wno_write_strings, Flag, W_Group, INVALID, nullptr, CC1Option | HelpHidden, 0, nullptr, nullptr, nullptr)
4743
OPTION(prefix_1, llvm::StringLiteral("Wnonportable-cfstrings"), Wnonportable_cfstrings, Joined, W_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
4744
OPTION(prefix_1, llvm::StringLiteral("working-directory="), working_directory_EQ, Joined, INVALID, working_directory, nullptr, CC1Option, 0, nullptr, nullptr, nullptr)
4745
OPTION(prefix_1, llvm::StringLiteral("working-directory"), working_directory, Separate, INVALID, INVALID, nullptr, CC1Option, 0,
4746
       "Resolve file paths relative to the specified directory", nullptr, nullptr)
4747
OPTION(prefix_1, llvm::StringLiteral("Wp,"), Wp_COMMA, CommaJoined, Preprocessor_Group, INVALID, nullptr, 0, 0,
4748
       "Pass the comma separated arguments in <arg> to the preprocessor", "<arg>", nullptr)
4749
OPTION(prefix_2, llvm::StringLiteral("Wp64"), _SLASH_Wp64, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4750
OPTION(prefix_3, llvm::StringLiteral("write-dependencies"), _write_dependencies, Flag, INVALID, MD, nullptr, 0, 0, nullptr, nullptr, nullptr)
4751
OPTION(prefix_3, llvm::StringLiteral("write-user-dependencies"), _write_user_dependencies, Flag, INVALID, MMD, nullptr, 0, 0, nullptr, nullptr, nullptr)
4752
OPTION(prefix_1, llvm::StringLiteral("Wsystem-headers"), Wsystem_headers, Flag, W_Group, INVALID, nullptr, CC1Option | HelpHidden, 0, nullptr, nullptr, nullptr)
4753
OPTION(prefix_1, llvm::StringLiteral("Wundef-prefix="), Wundef_prefix_EQ, CommaJoined, W_value_Group, INVALID, nullptr, CC1Option | CoreOption | HelpHidden, 0,
4754
       "Enable warnings for undefined macros with a prefix in the comma separated list <arg>", "<arg>", nullptr)
4755
OPTION(prefix_2, llvm::StringLiteral("Wv"), _SLASH_Wv_, Joined, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption | HelpHidden, 0, nullptr, nullptr, nullptr)
4756
OPTION(prefix_1, llvm::StringLiteral("Wwrite-strings"), Wwrite_strings, Flag, W_Group, INVALID, nullptr, CC1Option | HelpHidden, 0, nullptr, nullptr, nullptr)
4757
OPTION(prefix_2, llvm::StringLiteral("WX-"), _SLASH_WX_, Flag, cl_Group, W_Joined, "no-error\0", CLOption | NoXarchOption | CLDXCOption, 0,
4758
       "Do not treat warnings as errors (default)", nullptr, nullptr)
4759
OPTION(prefix_2, llvm::StringLiteral("WX"), _SLASH_WX, Flag, cl_Group, W_Joined, "error\0", CLOption | NoXarchOption | CLDXCOption, 0,
4760
       "Treat warnings as errors", nullptr, nullptr)
4761
OPTION(prefix_1, llvm::StringLiteral("W"), W_Joined, Joined, W_Group, INVALID, nullptr, CC1Option | CoreOption | FC1Option | FlangOption, 0,
4762
       "Enable the specified warning", "<warning>", nullptr)
4763
OPTION(prefix_1, llvm::StringLiteral("w"), w, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4764
       "Suppress all warnings", nullptr, nullptr)
4765
OPTION(prefix_2, llvm::StringLiteral("w"), _SLASH_w_flag, Flag, cl_Group, w, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4766
       "Disable all warnings", nullptr, nullptr)
4767
OPTION(prefix_2, llvm::StringLiteral("w"), _SLASH_w, Joined, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption | HelpHidden, 0, nullptr, nullptr, nullptr)
4768
OPTION(prefix_1, llvm::StringLiteral("Xanalyzer"), Xanalyzer, Separate, StaticAnalyzer_Group, INVALID, nullptr, 0, 0,
4769
       "Pass <arg> to the static analyzer", "<arg>", nullptr)
4770
OPTION(prefix_1, llvm::StringLiteral("Xarch_device"), Xarch_device, Separate, INVALID, INVALID, nullptr, NoXarchOption, 0,
4771
       "Pass <arg> to the CUDA/HIP device compilation", "<arg>", nullptr)
4772
OPTION(prefix_1, llvm::StringLiteral("Xarch_host"), Xarch_host, Separate, INVALID, INVALID, nullptr, NoXarchOption, 0,
4773
       "Pass <arg> to the CUDA/HIP host compilation", "<arg>", nullptr)
4774
OPTION(prefix_1, llvm::StringLiteral("Xarch_"), Xarch__, JoinedAndSeparate, INVALID, INVALID, nullptr, NoXarchOption, 0, nullptr, nullptr, nullptr)
4775
OPTION(prefix_1, llvm::StringLiteral("Xassembler"), Xassembler, Separate, CompileOnly_Group, INVALID, nullptr, 0, 0,
4776
       "Pass <arg> to the assembler", "<arg>", nullptr)
4777
OPTION(prefix_1, llvm::StringLiteral("Xclang="), anonymous_35, Joined, CompileOnly_Group, Xclang, nullptr, NoXarchOption | CoreOption, 0,
4778
       "Alias for -Xclang", "<arg>", nullptr)
4779
OPTION(prefix_1, llvm::StringLiteral("Xclang"), Xclang, Separate, CompileOnly_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
4780
       "Pass <arg> to clang -cc1", "<arg>", nullptr)
4781
OPTION(prefix_1, llvm::StringLiteral("Xcompiler"), anonymous_37, Flag, INVALID, INVALID, nullptr, HelpHidden, 0, nullptr, nullptr, nullptr)
4782
OPTION(prefix_1, llvm::StringLiteral("Xcuda-fatbinary"), Xcuda_fatbinary, Separate, INVALID, INVALID, nullptr, 0, 0,
4783
       "Pass <arg> to fatbinary invocation", "<arg>", nullptr)
4784
OPTION(prefix_1, llvm::StringLiteral("Xcuda-ptxas"), Xcuda_ptxas, Separate, INVALID, INVALID, nullptr, 0, 0,
4785
       "Pass <arg> to the ptxas assembler", "<arg>", nullptr)
4786
OPTION(prefix_1, llvm::StringLiteral("Xflang"), Xflang, Separate, CompileOnly_Group, INVALID, nullptr, FlangOption | FlangOnlyOption | NoXarchOption | CoreOption, 0,
4787
       "Pass <arg> to the flang compiler", "<arg>", nullptr)
4788
OPTION(prefix_1, llvm::StringLiteral("Xlinker"), Xlinker, Separate, Link_Group, INVALID, nullptr, LinkerInput | RenderAsInput, 0,
4789
       "Pass <arg> to the linker", "<arg>", nullptr)
4790
OPTION(prefix_1, llvm::StringLiteral("Xoffload-linker"), Xoffload_linker, JoinedAndSeparate, Link_Group, INVALID, nullptr, 0, 0,
4791
       "Pass <arg> to the offload linkers or the ones idenfied by -<triple>", "<triple> <arg>", nullptr)
4792
OPTION(prefix_1, llvm::StringLiteral("Xopenmp-target="), Xopenmp_target_EQ, JoinedAndSeparate, CompileOnly_Group, INVALID, nullptr, 0, 0,
4793
       "Pass <arg> to the target offloading toolchain identified by <triple>.", "<triple> <arg>", nullptr)
4794
OPTION(prefix_1, llvm::StringLiteral("Xopenmp-target"), Xopenmp_target, Separate, CompileOnly_Group, INVALID, nullptr, 0, 0,
4795
       "Pass <arg> to the target offloading toolchain.", "<arg>", nullptr)
4796
OPTION(prefix_1, llvm::StringLiteral("Xparser"), anonymous_36, Flag, INVALID, INVALID, nullptr, HelpHidden, 0, nullptr, nullptr, nullptr)
4797
OPTION(prefix_1, llvm::StringLiteral("Xpreprocessor"), Xpreprocessor, Separate, Preprocessor_Group, INVALID, nullptr, 0, 0,
4798
       "Pass <arg> to the preprocessor", "<arg>", nullptr)
4799
OPTION(prefix_1, llvm::StringLiteral("X"), X_Flag, Flag, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4800
OPTION(prefix_2, llvm::StringLiteral("X"), _SLASH_X, Flag, cl_Group, nostdlibinc, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4801
       "Do not add %INCLUDE% to include search path", nullptr, nullptr)
4802
OPTION(prefix_1, llvm::StringLiteral("x"), x, JoinedOrSeparate, INVALID, INVALID, nullptr, NoXarchOption | CC1Option | FlangOption | FC1Option, 0,
4803
       "Treat subsequent input files as having type <language>", "<language>", nullptr)
4804
OPTION(prefix_2, llvm::StringLiteral("Y-"), _SLASH_Y_, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4805
       "Disable precompiled headers, overrides /Yc and /Yu", nullptr, nullptr)
4806
OPTION(prefix_2, llvm::StringLiteral("Yc"), _SLASH_Yc, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4807
       "Generate a pch file for all code up to and including <filename>", "<filename>", nullptr)
4808
OPTION(prefix_2, llvm::StringLiteral("Yd"), _SLASH_Yd, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4809
OPTION(prefix_2, llvm::StringLiteral("Yl"), _SLASH_Yl, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4810
OPTION(prefix_2, llvm::StringLiteral("Yu"), _SLASH_Yu, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4811
       "Load a pch file and use it instead of all code up to and including <filename>", "<filename>", nullptr)
4812
OPTION(prefix_1, llvm::StringLiteral("y"), y, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4813
OPTION(prefix_1, llvm::StringLiteral("Z-reserved-lib-cckext"), Z_reserved_lib_cckext, Flag, reserved_lib_Group, INVALID, nullptr, LinkerInput | NoArgumentUnused | Unsupported | Unsupported, 0, nullptr, nullptr, nullptr)
4814
OPTION(prefix_1, llvm::StringLiteral("Z-reserved-lib-stdc++"), Z_reserved_lib_stdcxx, Flag, reserved_lib_Group, INVALID, nullptr, LinkerInput | NoArgumentUnused | Unsupported | Unsupported, 0, nullptr, nullptr, nullptr)
4815
OPTION(prefix_1, llvm::StringLiteral("Z-Xlinker-no-demangle"), Z_Xlinker__no_demangle, Flag, INVALID, INVALID, nullptr, Unsupported | NoArgumentUnused, 0, nullptr, nullptr, nullptr)
4816
OPTION(prefix_2, llvm::StringLiteral("Z7"), _SLASH_Z7, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4817
       "Enable CodeView debug information in object files", nullptr, nullptr)
4818
OPTION(prefix_2, llvm::StringLiteral("Za"), _SLASH_Za, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4819
OPTION(prefix_2, llvm::StringLiteral("Zc:__cplusplus"), _SLASH_Zc___cplusplus, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4820
OPTION(prefix_2, llvm::StringLiteral("Zc:alignedNew-"), _SLASH_Zc_alignedNew_, Flag, cl_Group, fno_aligned_allocation, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4821
       "Disable C++17 aligned allocation functions", nullptr, nullptr)
4822
OPTION(prefix_2, llvm::StringLiteral("Zc:alignedNew"), _SLASH_Zc_alignedNew, Flag, cl_Group, faligned_allocation, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4823
       "Enable C++17 aligned allocation functions", nullptr, nullptr)
4824
OPTION(prefix_2, llvm::StringLiteral("Zc:auto"), _SLASH_Zc_auto, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4825
OPTION(prefix_2, llvm::StringLiteral("Zc:char8_t-"), _SLASH_Zc_char8_t_, Flag, cl_Group, fno_char8__t, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4826
       "Disable char8_t from c++2a", nullptr, nullptr)
4827
OPTION(prefix_2, llvm::StringLiteral("Zc:char8_t"), _SLASH_Zc_char8_t, Flag, cl_Group, fchar8__t, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4828
       "Enable char8_t from C++2a", nullptr, nullptr)
4829
OPTION(prefix_2, llvm::StringLiteral("Zc:dllexportInlines-"), _SLASH_Zc_dllexportInlines_, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4830
       "Do not dllexport/dllimport inline member functions of dllexport/import classes", nullptr, nullptr)
4831
OPTION(prefix_2, llvm::StringLiteral("Zc:dllexportInlines"), _SLASH_Zc_dllexportInlines, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4832
       "dllexport/dllimport inline member functions of dllexport/import classes (default)", nullptr, nullptr)
4833
OPTION(prefix_2, llvm::StringLiteral("Zc:forScope"), _SLASH_Zc_forScope, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4834
OPTION(prefix_2, llvm::StringLiteral("Zc:inline"), _SLASH_Zc_inline, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4835
OPTION(prefix_2, llvm::StringLiteral("Zc:rvalueCast"), _SLASH_Zc_rvalueCast, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4836
OPTION(prefix_2, llvm::StringLiteral("Zc:sizedDealloc-"), _SLASH_Zc_sizedDealloc_, Flag, cl_Group, fno_sized_deallocation, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4837
       "Disable C++14 sized global deallocation functions", nullptr, nullptr)
4838
OPTION(prefix_2, llvm::StringLiteral("Zc:sizedDealloc"), _SLASH_Zc_sizedDealloc, Flag, cl_Group, fsized_deallocation, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4839
       "Enable C++14 sized global deallocation functions", nullptr, nullptr)
4840
OPTION(prefix_2, llvm::StringLiteral("Zc:strictStrings"), _SLASH_Zc_strictStrings, Flag, cl_Group, W_Joined, "error=c++11-compat-deprecated-writable-strings\0", CLOption | NoXarchOption | CLDXCOption, 0,
4841
       "Treat string literals as const", nullptr, nullptr)
4842
OPTION(prefix_2, llvm::StringLiteral("Zc:ternary"), _SLASH_Zc_ternary, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4843
OPTION(prefix_2, llvm::StringLiteral("Zc:threadSafeInit-"), _SLASH_Zc_threadSafeInit_, Flag, cl_Group, fno_threadsafe_statics, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4844
       "Disable thread-safe initialization of static variables", nullptr, nullptr)
4845
OPTION(prefix_2, llvm::StringLiteral("Zc:threadSafeInit"), _SLASH_Zc_threadSafeInit, Flag, cl_Group, fthreadsafe_statics, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4846
       "Enable thread-safe initialization of static variables", nullptr, nullptr)
4847
OPTION(prefix_2, llvm::StringLiteral("Zc:trigraphs-"), _SLASH_Zc_trigraphs_off, Flag, cl_Group, fno_trigraphs, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4848
       "Disable trigraphs (default)", nullptr, nullptr)
4849
OPTION(prefix_2, llvm::StringLiteral("Zc:trigraphs"), _SLASH_Zc_trigraphs, Flag, cl_Group, ftrigraphs, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4850
       "Enable trigraphs", nullptr, nullptr)
4851
OPTION(prefix_2, llvm::StringLiteral("Zc:twoPhase-"), _SLASH_Zc_twoPhase_, Flag, cl_Group, fdelayed_template_parsing, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4852
       "Disable two-phase name lookup in templates (default)", nullptr, nullptr)
4853
OPTION(prefix_2, llvm::StringLiteral("Zc:twoPhase"), _SLASH_Zc_twoPhase, Flag, cl_Group, fno_delayed_template_parsing, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4854
       "Enable two-phase name lookup in templates", nullptr, nullptr)
4855
OPTION(prefix_2, llvm::StringLiteral("Zc:wchar_t-"), _SLASH_Zc_wchar_t_, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4856
       "Disable C++ builtin type wchar_t", nullptr, nullptr)
4857
OPTION(prefix_2, llvm::StringLiteral("Zc:wchar_t"), _SLASH_Zc_wchar_t, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4858
       "Enable C++ builtin type wchar_t (default)", nullptr, nullptr)
4859
OPTION(prefix_2, llvm::StringLiteral("Zc:"), _SLASH_Zc, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4860
OPTION(prefix_2, llvm::StringLiteral("Ze"), _SLASH_Ze, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4861
OPTION(prefix_2, llvm::StringLiteral("Zg"), _SLASH_Zg, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4862
OPTION(prefix_2, llvm::StringLiteral("ZH:MD5"), _SLASH_ZH_MD5, Flag, cl_Group, gsrc_hash_EQ, "md5\0", CLOption | NoXarchOption | CLDXCOption, 0,
4863
       "Use MD5 for file checksums in debug info (default)", nullptr, nullptr)
4864
OPTION(prefix_2, llvm::StringLiteral("ZH:SHA1"), _SLASH_ZH_SHA1, Flag, cl_Group, gsrc_hash_EQ, "sha1\0", CLOption | NoXarchOption | CLDXCOption, 0,
4865
       "Use SHA1 for file checksums in debug info", nullptr, nullptr)
4866
OPTION(prefix_2, llvm::StringLiteral("ZH:SHA_256"), _SLASH_ZH_SHA_256, Flag, cl_Group, gsrc_hash_EQ, "sha256\0", CLOption | NoXarchOption | CLDXCOption, 0,
4867
       "Use SHA256 for file checksums in debug info", nullptr, nullptr)
4868
OPTION(prefix_2, llvm::StringLiteral("ZI"), _SLASH_ZI, Flag, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4869
OPTION(prefix_2, llvm::StringLiteral("Zi"), _SLASH_Zi, Flag, cl_Group, _SLASH_Z7, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4870
       "Like /Z7", nullptr, nullptr)
4871
OPTION(prefix_1, llvm::StringLiteral("Zlinker-input"), Zlinker_input, Separate, INVALID, INVALID, nullptr, Unsupported | NoArgumentUnused, 0, nullptr, nullptr, nullptr)
4872
OPTION(prefix_2, llvm::StringLiteral("Zl"), _SLASH_Zl, Flag, cl_Group, fms_omit_default_lib, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4873
       "Do not let object file auto-link default libraries", nullptr, nullptr)
4874
OPTION(prefix_2, llvm::StringLiteral("Zm"), _SLASH_Zm, Joined, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption | HelpHidden, 0, nullptr, nullptr, nullptr)
4875
OPTION(prefix_2, llvm::StringLiteral("Zo-"), _SLASH_Zo_, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4876
OPTION(prefix_2, llvm::StringLiteral("Zo"), _SLASH_Zo, Flag, cl_ignored_Group, INVALID, nullptr, CLOption | NoXarchOption, 0, nullptr, nullptr, nullptr)
4877
OPTION(prefix_2, llvm::StringLiteral("Zp"), _SLASH_Zp_flag, Flag, cl_Group, fpack_struct_EQ, "1\0", CLOption | NoXarchOption | CLDXCOption, 0,
4878
       "Set default maximum struct packing alignment to 1", nullptr, nullptr)
4879
OPTION(prefix_2, llvm::StringLiteral("Zp"), _SLASH_Zp, Joined, cl_Group, fpack_struct_EQ, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4880
       "Set default maximum struct packing alignment", nullptr, nullptr)
4881
OPTION(prefix_2, llvm::StringLiteral("Zs"), _SLASH_Zs, Flag, cl_Group, fsyntax_only, nullptr, CLOption | NoXarchOption | CLDXCOption, 0,
4882
       "Run the preprocessor, parser and semantic analysis stages", nullptr, nullptr)
4883
OPTION(prefix_2, llvm::StringLiteral("ZW"), _SLASH_ZW, Joined, cl_Group, INVALID, nullptr, CLOption | NoXarchOption | CLDXCOption, 0, nullptr, nullptr, nullptr)
4884
OPTION(prefix_1, llvm::StringLiteral("Z"), Z_Flag, Flag, Link_Group, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
4885
OPTION(prefix_1, llvm::StringLiteral("z"), z, Separate, Link_Group, INVALID, nullptr, LinkerInput, 0,
4886
       "Pass -z <arg> to the linker", "<arg>", nullptr)
4887
OPTION(prefix_3, llvm::StringLiteral(""), _DASH_DASH, RemainingArgs, INVALID, INVALID, nullptr, NoXarchOption | CoreOption, 0, nullptr, nullptr, nullptr)
4888
OPTION(prefix_3, llvm::StringLiteral(""), _, Joined, INVALID, INVALID, nullptr, Unsupported, 0, nullptr, nullptr, nullptr)
4889
#endif // OPTION
4890
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4891
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("arcmt-migrate-report-output"), arcmt_migrate_report_output, Separate, INVALID, INVALID, nullptr, CC1Option, 0,
4892
       "Output path for the plist report", nullptr, nullptr, "-arcmt-migrate-report-output", true, 0, FrontendOpts.ARCMTMigrateReportOut, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
4893
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4894
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4895
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("arcmt-migrate-emit-errors"), arcmt_migrate_emit_arc_errors, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4896
       "Emit ARC errors even if the migrator can fix them", nullptr, nullptr, "-arcmt-migrate-emit-errors", true, 0, FrontendOpts.ARCMTMigrateEmitARCErrors, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
4897
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4898
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4899
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-migrate-literals"), objcmt_migrate_literals, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4900
       "Enable migration to modern ObjC literals", nullptr, nullptr, "-objcmt-migrate-literals", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_Literals), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_Literals), FrontendOptions::ObjCMT_Literals>), -1)
4901
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4902
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4903
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-migrate-subscripting"), objcmt_migrate_subscripting, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4904
       "Enable migration to modern ObjC subscripting", nullptr, nullptr, "-objcmt-migrate-subscripting", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_Subscripting), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_Subscripting), FrontendOptions::ObjCMT_Subscripting>), -1)
4905
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4906
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4907
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-migrate-property"), objcmt_migrate_property, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4908
       "Enable migration to modern ObjC property", nullptr, nullptr, "-objcmt-migrate-property", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_Property), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_Property), FrontendOptions::ObjCMT_Property>), -1)
4909
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4910
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4911
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-migrate-all"), objcmt_migrate_all, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4912
       "Enable migration to modern ObjC", nullptr, nullptr, "-objcmt-migrate-all", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_MigrateDecls), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_MigrateDecls), FrontendOptions::ObjCMT_MigrateDecls>), -1)
4913
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4914
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4915
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-migrate-readonly-property"), objcmt_migrate_readonly_property, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4916
       "Enable migration to modern ObjC readonly property", nullptr, nullptr, "-objcmt-migrate-readonly-property", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_ReadonlyProperty), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_ReadonlyProperty), FrontendOptions::ObjCMT_ReadonlyProperty>), -1)
4917
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4918
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4919
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-migrate-readwrite-property"), objcmt_migrate_readwrite_property, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4920
       "Enable migration to modern ObjC readwrite property", nullptr, nullptr, "-objcmt-migrate-readwrite-property", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_ReadwriteProperty), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_ReadwriteProperty), FrontendOptions::ObjCMT_ReadwriteProperty>), -1)
4921
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4922
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4923
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-migrate-property-dot-syntax"), objcmt_migrate_property_dot_syntax, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4924
       "Enable migration of setter/getter messages to property-dot syntax", nullptr, nullptr, "-objcmt-migrate-property-dot-syntax", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_PropertyDotSyntax), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_PropertyDotSyntax), FrontendOptions::ObjCMT_PropertyDotSyntax>), -1)
4925
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4926
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4927
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-migrate-annotation"), objcmt_migrate_annotation, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4928
       "Enable migration to property and method annotations", nullptr, nullptr, "-objcmt-migrate-annotation", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_Annotation), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_Annotation), FrontendOptions::ObjCMT_Annotation>), -1)
4929
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4930
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4931
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-migrate-instancetype"), objcmt_migrate_instancetype, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4932
       "Enable migration to infer instancetype for method result type", nullptr, nullptr, "-objcmt-migrate-instancetype", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_Instancetype), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_Instancetype), FrontendOptions::ObjCMT_Instancetype>), -1)
4933
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4934
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4935
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-migrate-ns-macros"), objcmt_migrate_nsmacros, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4936
       "Enable migration to NS_ENUM/NS_OPTIONS macros", nullptr, nullptr, "-objcmt-migrate-ns-macros", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_NsMacros), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_NsMacros), FrontendOptions::ObjCMT_NsMacros>), -1)
4937
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4938
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4939
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-migrate-protocol-conformance"), objcmt_migrate_protocol_conformance, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4940
       "Enable migration to add protocol conformance on classes", nullptr, nullptr, "-objcmt-migrate-protocol-conformance", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_ProtocolConformance), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_ProtocolConformance), FrontendOptions::ObjCMT_ProtocolConformance>), -1)
4941
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4942
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4943
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-atomic-property"), objcmt_atomic_property, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4944
       "Make migration to 'atomic' properties", nullptr, nullptr, "-objcmt-atomic-property", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_AtomicProperty), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_AtomicProperty), FrontendOptions::ObjCMT_AtomicProperty>), -1)
4945
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4946
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4947
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-returns-innerpointer-property"), objcmt_returns_innerpointer_property, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4948
       "Enable migration to annotate property with NS_RETURNS_INNER_POINTER", nullptr, nullptr, "-objcmt-returns-innerpointer-property", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_ReturnsInnerPointerProperty), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_ReturnsInnerPointerProperty), FrontendOptions::ObjCMT_ReturnsInnerPointerProperty>), -1)
4949
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4950
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4951
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-ns-nonatomic-iosonly"), objcmt_ns_nonatomic_iosonly, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4952
       "Enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's 'atomic' attribute", nullptr, nullptr, "-objcmt-ns-nonatomic-iosonly", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_NsAtomicIOSOnlyProperty), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_NsAtomicIOSOnlyProperty), FrontendOptions::ObjCMT_NsAtomicIOSOnlyProperty>), -1)
4953
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4954
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4955
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-migrate-designated-init"), objcmt_migrate_designated_init, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4956
       "Enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods", nullptr, nullptr, "-objcmt-migrate-designated-init", true, 0, FrontendOpts.ObjCMTAction, 0u, false, 0u, makeFlagToValueNormalizer(FrontendOptions::ObjCMT_DesignatedInitializer), denormalizeSimpleFlag, mergeMaskValue, (extractMaskValue<unsigned, decltype(FrontendOptions::ObjCMT_DesignatedInitializer), FrontendOptions::ObjCMT_DesignatedInitializer>), -1)
4957
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4958
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
4959
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("objcmt-allowlist-dir-path="), objcmt_allowlist_dir_path, Joined, INVALID, INVALID, nullptr, CC1Option, 0,
4960
       "Only modify files with a filename contained in the provided directory path", nullptr, nullptr, "-objcmt-allowlist-dir-path=", true, 0, FrontendOpts.ObjCMTAllowListPath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
4961
#endif // FRONTEND_OPTION_WITH_MARSHALLING
4962
#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
4963
PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("CC"), CC, Flag, Preprocessor_Group, INVALID, nullptr, CC1Option, 0,
4964
       "Include comments from within macros in preprocessed output", nullptr, nullptr, "-CC", true, 0, PreprocessorOutputOpts.ShowMacroComments, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
4965
#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
4966
#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
4967
PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("C"), C, Flag, Preprocessor_Group, INVALID, nullptr, CC1Option, 0,
4968
       "Include comments in preprocessed output", nullptr, nullptr, "-C", true, 0, PreprocessorOutputOpts.ShowComments, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
4969
#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
4970
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
4971
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("H"), H, Flag, Preprocessor_Group, INVALID, nullptr, CC1Option, 0,
4972
       "Show header includes and nesting depth", nullptr, nullptr, "-H", true, 0, DependencyOutputOpts.ShowHeaderIncludes, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
4973
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
4974
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
4975
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fshow-skipped-includes"), fshow_skipped_includes, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
4976
       "Show skipped includes in -H output.", nullptr, nullptr, "-fshow-skipped-includes", true, 0, DependencyOutputOpts.ShowSkippedHeaderIncludes, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
4977
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
4978
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
4979
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("MG"), MG, Flag, M_Group, INVALID, nullptr, CC1Option, 0,
4980
       "Add missing headers to depfile", nullptr, nullptr, "-MG", true, 0, DependencyOutputOpts.AddMissingHeaderDeps, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
4981
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
4982
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
4983
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("MP"), MP, Flag, M_Group, INVALID, nullptr, CC1Option, 0,
4984
       "Create phony target for each dependency (other than main file)", nullptr, nullptr, "-MP", true, 0, DependencyOutputOpts.UsePhonyTargets, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
4985
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
4986
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
4987
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("MT"), MT, JoinedOrSeparate, M_Group, INVALID, nullptr, CC1Option, 0,
4988
       "Specify name of main file output in depfile", nullptr, nullptr, "-MT", true, 0, DependencyOutputOpts.Targets, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
4989
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
4990
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
4991
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("MV"), MV, Flag, M_Group, INVALID, nullptr, CC1Option, 0,
4992
       "Use NMake/Jom format for the depfile", nullptr, nullptr, "-MV", true, 0, DependencyOutputOpts.OutputFormat, DependencyOutputFormat::Make, false, DependencyOutputFormat::Make, makeFlagToValueNormalizer(DependencyOutputFormat::NMake), denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
4993
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
4994
#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
4995
PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("P"), P, Flag, Preprocessor_Group, INVALID, nullptr, CC1Option | FlangOption | FC1Option, 0,
4996
       "Disable linemarker output in -E mode", nullptr, nullptr, "-P", true, 0, PreprocessorOutputOpts.ShowLineMarkers, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
4997
#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
4998
#ifdef DIAG_OPTION_WITH_MARSHALLING
4999
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("Wundef-prefix="), Wundef_prefix_EQ, CommaJoined, W_value_Group, INVALID, nullptr, CC1Option | CoreOption | HelpHidden, 0,
5000
       "Enable warnings for undefined macros with a prefix in the comma separated list <arg>", "<arg>", nullptr, "-Wundef-prefix=", true, 0, DiagnosticOpts->UndefPrefixes, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
5001
#endif // DIAG_OPTION_WITH_MARSHALLING
5002
#ifdef LANG_OPTION_WITH_MARSHALLING
5003
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cl-single-precision-constant"), cl_single_precision_constant, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
5004
       "OpenCL only. Treat double precision floating-point constant as single precision constant.", nullptr, nullptr, "-cl-single-precision-constant", true, 0, LangOpts->SinglePrecisionConstants, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5005
#endif // LANG_OPTION_WITH_MARSHALLING
5006
#ifdef LANG_OPTION_WITH_MARSHALLING
5007
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cl-finite-math-only"), cl_finite_math_only, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
5008
       "OpenCL only. Allow floating-point optimizations that assume arguments and results are not NaNs or +-Inf.", nullptr, nullptr, "-cl-finite-math-only", true, 0, LangOpts->CLFiniteMathOnly, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5009
#endif // LANG_OPTION_WITH_MARSHALLING
5010
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5011
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cl-kernel-arg-info"), cl_kernel_arg_info, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
5012
       "OpenCL only. Generate kernel argument metadata.", nullptr, nullptr, "-cl-kernel-arg-info", true, 0, CodeGenOpts.EmitOpenCLArgMetadata, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5013
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5014
#ifdef LANG_OPTION_WITH_MARSHALLING
5015
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cl-unsafe-math-optimizations"), cl_unsafe_math_optimizations, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
5016
       "OpenCL only. Allow unsafe floating-point optimizations.  Also implies -cl-no-signed-zeros and -cl-mad-enable.", nullptr, nullptr, "-cl-unsafe-math-optimizations", true, 0, LangOpts->CLUnsafeMath, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5017
#endif // LANG_OPTION_WITH_MARSHALLING
5018
#ifdef LANG_OPTION_WITH_MARSHALLING
5019
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cl-fast-relaxed-math"), cl_fast_relaxed_math, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
5020
       "OpenCL only. Sets -cl-finite-math-only and -cl-unsafe-math-optimizations, and defines __FAST_RELAXED_MATH__.", nullptr, nullptr, "-cl-fast-relaxed-math", true, 0, LangOpts->FastRelaxedMath, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5021
#endif // LANG_OPTION_WITH_MARSHALLING
5022
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5023
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cl-mad-enable"), cl_mad_enable, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
5024
       "OpenCL only. Allow use of less precise MAD computations in the generated binary.", nullptr, nullptr, "-cl-mad-enable", true, 0, CodeGenOpts.LessPreciseFPMAD, false, false || LangOpts->CLUnsafeMath || LangOpts->FastRelaxedMath, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5025
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5026
#ifdef LANG_OPTION_WITH_MARSHALLING
5027
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cl-no-signed-zeros"), cl_no_signed_zeros, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
5028
       "OpenCL only. Allow use of less precise no signed zeros computations in the generated binary.", nullptr, nullptr, "-cl-no-signed-zeros", true, 0, LangOpts->CLNoSignedZero, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5029
#endif // LANG_OPTION_WITH_MARSHALLING
5030
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5031
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cl-fp32-correctly-rounded-divide-sqrt"), cl_fp32_correctly_rounded_divide_sqrt, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
5032
       "OpenCL only. Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded.", nullptr, nullptr, "-cl-fp32-correctly-rounded-divide-sqrt", true, 0, CodeGenOpts.OpenCLCorrectlyRoundedDivSqrt, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5033
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5034
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5035
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cl-uniform-work-group-size"), cl_uniform_work_group_size, Flag, opencl_Group, INVALID, nullptr, CC1Option, 0,
5036
       "OpenCL only. Defines that the global work-size be a multiple of the work-group size specified to clEnqueueNDRangeKernel", nullptr, nullptr, "-cl-uniform-work-group-size", true, 0, CodeGenOpts.UniformWGSize, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5037
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5038
#ifdef TARGET_OPTION_WITH_MARSHALLING
5039
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cl-ext="), cl_ext_EQ, CommaJoined, opencl_Group, INVALID, nullptr, CC1Option, 0,
5040
       "OpenCL only. Enable or disable OpenCL extensions/optional features. The argument is a comma-separated sequence of one or more extension names, each prefixed by '+' or '-'.", nullptr, nullptr, "-cl-ext=", true, 0, TargetOpts->OpenCLExtensionsAsWritten, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
5041
#endif // TARGET_OPTION_WITH_MARSHALLING
5042
#ifdef LANG_OPTION_WITH_MARSHALLING
5043
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fgpu-rdc"), fgpu_rdc, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5044
       "Generate relocatable device code, also known as separate compilation mode", nullptr, nullptr, "-fgpu-rdc", true, 0, LangOpts->GPURelocatableDeviceCode, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gpu_rdc), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5045
#endif // LANG_OPTION_WITH_MARSHALLING
5046
#ifdef LANG_OPTION_WITH_MARSHALLING
5047
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-gpu-rdc"), fno_gpu_rdc, Flag, f_Group, INVALID, nullptr, 0, 0,
5048
       "", nullptr, nullptr, "-fno-gpu-rdc", true, 0, LangOpts->GPURelocatableDeviceCode, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgpu_rdc), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5049
#endif // LANG_OPTION_WITH_MARSHALLING
5050
#ifdef TARGET_OPTION_WITH_MARSHALLING
5051
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcuda-short-ptr"), fcuda_short_ptr, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5052
       "Use 32-bit pointers for accessing const/local/shared address spaces", nullptr, nullptr, "-fcuda-short-ptr", true, 0, TargetOpts->NVPTXUseShortPointers, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_cuda_short_ptr), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5053
#endif // TARGET_OPTION_WITH_MARSHALLING
5054
#ifdef TARGET_OPTION_WITH_MARSHALLING
5055
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-cuda-short-ptr"), fno_cuda_short_ptr, Flag, f_Group, INVALID, nullptr, 0, 0,
5056
       "", nullptr, nullptr, "-fno-cuda-short-ptr", true, 0, TargetOpts->NVPTXUseShortPointers, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcuda_short_ptr), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5057
#endif // TARGET_OPTION_WITH_MARSHALLING
5058
#ifdef LANG_OPTION_WITH_MARSHALLING
5059
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fgpu-default-stream="), fgpu_default_stream_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0,
5060
       "Specify default stream. The default value is 'legacy'. (HIP only)", nullptr, "legacy,per-thread", "-fgpu-default-stream=", true, 0, LangOpts->GPUDefaultStream, LangOptions::GPUDefaultStreamKind::Legacy, false, LangOptions::GPUDefaultStreamKind::Legacy, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 0)
5061
#endif // LANG_OPTION_WITH_MARSHALLING
5062
#ifdef LANG_OPTION_WITH_MARSHALLING
5063
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fhip-new-launch-api"), fhip_new_launch_api, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5064
       "Use new kernel launching API for HIP", nullptr, nullptr, "-fhip-new-launch-api", true, 0, LangOpts->HIPUseNewLaunchAPI, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_hip_new_launch_api), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5065
#endif // LANG_OPTION_WITH_MARSHALLING
5066
#ifdef LANG_OPTION_WITH_MARSHALLING
5067
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-hip-new-launch-api"), fno_hip_new_launch_api, Flag, f_Group, INVALID, nullptr, 0, 0,
5068
       "Don't use new kernel launching API for HIP", nullptr, nullptr, "-fno-hip-new-launch-api", true, 0, LangOpts->HIPUseNewLaunchAPI, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fhip_new_launch_api), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5069
#endif // LANG_OPTION_WITH_MARSHALLING
5070
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5071
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fhip-fp32-correctly-rounded-divide-sqrt"), fhip_fp32_correctly_rounded_divide_sqrt, Flag, f_Group, INVALID, nullptr, 0, 0,
5072
       "Specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)", nullptr, nullptr, "-fhip-fp32-correctly-rounded-divide-sqrt", LangOpts->HIP, 0, CodeGenOpts.HIPCorrectlyRoundedDivSqrt, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_hip_fp32_correctly_rounded_divide_sqrt), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5073
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5074
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5075
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-hip-fp32-correctly-rounded-divide-sqrt"), fno_hip_fp32_correctly_rounded_divide_sqrt, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5076
       "Don't specify that single precision floating-point divide and sqrt used in the program source are correctly rounded (HIP device compilation only)", nullptr, nullptr, "-fno-hip-fp32-correctly-rounded-divide-sqrt", LangOpts->HIP, 0, CodeGenOpts.HIPCorrectlyRoundedDivSqrt, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fhip_fp32_correctly_rounded_divide_sqrt), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5077
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5078
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5079
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fhip-kernel-arg-name"), fhip_kernel_arg_name, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5080
       "Specify that kernel argument names are preserved (HIP only)", nullptr, nullptr, "-fhip-kernel-arg-name", LangOpts->HIP, 0, CodeGenOpts.HIPSaveKernelArgName, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_hip_kernel_arg_name), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5081
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5082
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5083
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-hip-kernel-arg-name"), fno_hip_kernel_arg_name, Flag, f_Group, INVALID, nullptr, 0, 0,
5084
       "Don't specify that kernel argument names are preserved (HIP only)", nullptr, nullptr, "-fno-hip-kernel-arg-name", LangOpts->HIP, 0, CodeGenOpts.HIPSaveKernelArgName, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fhip_kernel_arg_name), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5085
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5086
#ifdef LANG_OPTION_WITH_MARSHALLING
5087
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fgpu-allow-device-init"), fgpu_allow_device_init, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5088
       "Allow device side init function in HIP (experimental)", nullptr, nullptr, "-fgpu-allow-device-init", LangOpts->HIP, 0, LangOpts->GPUAllowDeviceInit, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gpu_allow_device_init), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5089
#endif // LANG_OPTION_WITH_MARSHALLING
5090
#ifdef LANG_OPTION_WITH_MARSHALLING
5091
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-gpu-allow-device-init"), fno_gpu_allow_device_init, Flag, f_Group, INVALID, nullptr, 0, 0,
5092
       "Don't allow device side init function in HIP (experimental)", nullptr, nullptr, "-fno-gpu-allow-device-init", LangOpts->HIP, 0, LangOpts->GPUAllowDeviceInit, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgpu_allow_device_init), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5093
#endif // LANG_OPTION_WITH_MARSHALLING
5094
#ifdef LANG_OPTION_WITH_MARSHALLING
5095
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fgpu-defer-diag"), fgpu_defer_diag, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5096
       "Defer host/device related diagnostic messages for CUDA/HIP", nullptr, nullptr, "-fgpu-defer-diag", true, 0, LangOpts->GPUDeferDiag, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gpu_defer_diag), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5097
#endif // LANG_OPTION_WITH_MARSHALLING
5098
#ifdef LANG_OPTION_WITH_MARSHALLING
5099
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-gpu-defer-diag"), fno_gpu_defer_diag, Flag, f_Group, INVALID, nullptr, 0, 0,
5100
       "Don't defer host/device related diagnostic messages for CUDA/HIP", nullptr, nullptr, "-fno-gpu-defer-diag", true, 0, LangOpts->GPUDeferDiag, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgpu_defer_diag), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5101
#endif // LANG_OPTION_WITH_MARSHALLING
5102
#ifdef LANG_OPTION_WITH_MARSHALLING
5103
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fgpu-exclude-wrong-side-overloads"), fgpu_exclude_wrong_side_overloads, Flag, f_Group, INVALID, nullptr, CC1Option | HelpHidden, 0,
5104
       "Always exclude wrong side overloads in overloading resolution for CUDA/HIP", nullptr, nullptr, "-fgpu-exclude-wrong-side-overloads", true, 0, LangOpts->GPUExcludeWrongSideOverloads, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gpu_exclude_wrong_side_overloads), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5105
#endif // LANG_OPTION_WITH_MARSHALLING
5106
#ifdef LANG_OPTION_WITH_MARSHALLING
5107
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-gpu-exclude-wrong-side-overloads"), fno_gpu_exclude_wrong_side_overloads, Flag, f_Group, INVALID, nullptr, HelpHidden, 0,
5108
       "Exclude wrong side overloads only if there are same side overloads in overloading resolution for CUDA/HIP", nullptr, nullptr, "-fno-gpu-exclude-wrong-side-overloads", true, 0, LangOpts->GPUExcludeWrongSideOverloads, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgpu_exclude_wrong_side_overloads), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5109
#endif // LANG_OPTION_WITH_MARSHALLING
5110
#ifdef LANG_OPTION_WITH_MARSHALLING
5111
LANG_OPTION_WITH_MARSHALLING(prefix_3, llvm::StringLiteral("gpu-max-threads-per-block="), gpu_max_threads_per_block_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0,
5112
       "Default max threads per block for kernel launch bounds for HIP", nullptr, nullptr, "--gpu-max-threads-per-block=", LangOpts->HIP, 0, LangOpts->GPUMaxThreadsPerBlock, 1024, false, 1024, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
5113
#endif // LANG_OPTION_WITH_MARSHALLING
5114
#ifdef LANG_OPTION_WITH_MARSHALLING
5115
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cuid="), cuid_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0,
5116
       "An ID for compilation unit, which should be the same for the same compilation unit but different for different compilation units. It is used to externalize device-side static variables for single source offloading languages CUDA and HIP so that they can be accessed by the host code of the same compilation unit.", nullptr, nullptr, "-cuid=", true, 0, LangOpts->CUID, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5117
#endif // LANG_OPTION_WITH_MARSHALLING
5118
#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5119
PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("dI"), dI, Flag, d_Group, INVALID, nullptr, CC1Option, 0,
5120
       "Print include directives in -E mode in addition to normal output", nullptr, nullptr, "-dI", true, 0, PreprocessorOutputOpts.ShowIncludeDirectives, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5121
#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5122
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
5123
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("dependency-file"), dependency_file, Separate, INVALID, INVALID, nullptr, CC1Option, 0,
5124
       "Filename (or -) to write dependency output to", nullptr, nullptr, "-dependency-file", true, 0, DependencyOutputOpts.OutputFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5125
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
5126
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
5127
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("dependency-dot"), dependency_dot, Separate, INVALID, INVALID, nullptr, CC1Option, 0,
5128
       "Filename to write DOT-formatted header dependencies to", nullptr, nullptr, "-dependency-dot", true, 0, DependencyOutputOpts.DOTOutputFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5129
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
5130
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
5131
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("module-dependency-dir"), module_dependency_dir, Separate, INVALID, INVALID, nullptr, CC1Option, 0,
5132
       "Directory to dump module dependencies to", nullptr, nullptr, "-module-dependency-dir", true, 0, DependencyOutputOpts.ModuleDependencyOutputDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5133
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
5134
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
5135
FRONTEND_OPTION_WITH_MARSHALLING(prefix_3, llvm::StringLiteral("product-name="), product_name_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "--product-name=", true, 0, FrontendOpts.ProductName, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5136
#endif // FRONTEND_OPTION_WITH_MARSHALLING
5137
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
5138
FRONTEND_OPTION_WITH_MARSHALLING(prefix_3, llvm::StringLiteral("extract-api-ignores="), extract_api_ignores_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0,
5139
       "File containing a new line separated list of API symbols to ignore when extracting API information.", nullptr, nullptr, "--extract-api-ignores=", true, 0, FrontendOpts.ExtractAPIIgnoresFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5140
#endif // FRONTEND_OPTION_WITH_MARSHALLING
5141
#ifdef LANG_OPTION_WITH_MARSHALLING
5142
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmax-tokens="), fmax_tokens_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5143
       "Max total number of preprocessed tokens for -Wmax-tokens.", nullptr, nullptr, "-fmax-tokens=", true, 0, LangOpts->MaxTokens, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
5144
#endif // LANG_OPTION_WITH_MARSHALLING
5145
#ifdef LANG_OPTION_WITH_MARSHALLING
5146
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-access-control"), fno_access_control, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5147
       "Disable C++ access control", nullptr, nullptr, "-fno-access-control", true, 0, LangOpts->AccessControl, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_faccess_control), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5148
#endif // LANG_OPTION_WITH_MARSHALLING
5149
#ifdef LANG_OPTION_WITH_MARSHALLING
5150
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("faccess-control"), faccess_control, Flag, f_Group, INVALID, nullptr, 0, 0,
5151
       "", nullptr, nullptr, "-faccess-control", true, 0, LangOpts->AccessControl, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_access_control), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5152
#endif // LANG_OPTION_WITH_MARSHALLING
5153
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5154
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("falign-loops="), falign_loops_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5155
       "N must be a power of two. Align loops to the boundary", "<N>", nullptr, "-falign-loops=", true, 0, CodeGenOpts.LoopAlignment, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
5156
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5157
#ifdef LANG_OPTION_WITH_MARSHALLING
5158
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fallow-editor-placeholders"), fallow_editor_placeholders, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5159
       "Treat editor placeholders as valid source code", nullptr, nullptr, "-fallow-editor-placeholders", true, 0, LangOpts->AllowEditorPlaceholders, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_allow_editor_placeholders), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5160
#endif // LANG_OPTION_WITH_MARSHALLING
5161
#ifdef LANG_OPTION_WITH_MARSHALLING
5162
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-allow-editor-placeholders"), fno_allow_editor_placeholders, Flag, f_Group, INVALID, nullptr, 0, 0,
5163
       "", nullptr, nullptr, "-fno-allow-editor-placeholders", true, 0, LangOpts->AllowEditorPlaceholders, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fallow_editor_placeholders), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5164
#endif // LANG_OPTION_WITH_MARSHALLING
5165
#ifdef LANG_OPTION_WITH_MARSHALLING
5166
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fapple-kext"), fapple_kext, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5167
       "Use Apple's kernel extensions ABI", nullptr, nullptr, "-fapple-kext", true, 0, LangOpts->AppleKext, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5168
#endif // LANG_OPTION_WITH_MARSHALLING
5169
#ifdef LANG_OPTION_WITH_MARSHALLING
5170
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fstrict-flex-arrays="), fstrict_flex_arrays_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5171
       "Enable optimizations based on the strict definition of flexible arrays", "<n>", "0,1,2,3", "-fstrict-flex-arrays=", true, 0, LangOpts->StrictFlexArraysLevel, LangOptions::StrictFlexArraysLevelKind::Default, false, LangOptions::StrictFlexArraysLevelKind::Default, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 1)
5172
#endif // LANG_OPTION_WITH_MARSHALLING
5173
#ifdef LANG_OPTION_WITH_MARSHALLING
5174
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fapple-pragma-pack"), fapple_pragma_pack, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5175
       "Enable Apple gcc-compatible #pragma pack handling", nullptr, nullptr, "-fapple-pragma-pack", true, 0, LangOpts->ApplePragmaPack, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_apple_pragma_pack), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5176
#endif // LANG_OPTION_WITH_MARSHALLING
5177
#ifdef LANG_OPTION_WITH_MARSHALLING
5178
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-apple-pragma-pack"), fno_apple_pragma_pack, Flag, f_Group, INVALID, nullptr, 0, 0,
5179
       "", nullptr, nullptr, "-fno-apple-pragma-pack", true, 0, LangOpts->ApplePragmaPack, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fapple_pragma_pack), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5180
#endif // LANG_OPTION_WITH_MARSHALLING
5181
#ifdef LANG_OPTION_WITH_MARSHALLING
5182
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fxl-pragma-pack"), fxl_pragma_pack, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5183
       "Enable IBM XL #pragma pack handling", nullptr, nullptr, "-fxl-pragma-pack", true, 0, LangOpts->XLPragmaPack, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_xl_pragma_pack), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5184
#endif // LANG_OPTION_WITH_MARSHALLING
5185
#ifdef LANG_OPTION_WITH_MARSHALLING
5186
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-xl-pragma-pack"), fno_xl_pragma_pack, Flag, f_Group, INVALID, nullptr, 0, 0,
5187
       "", nullptr, nullptr, "-fno-xl-pragma-pack", true, 0, LangOpts->XLPragmaPack, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fxl_pragma_pack), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5188
#endif // LANG_OPTION_WITH_MARSHALLING
5189
#ifdef LANG_OPTION_WITH_MARSHALLING
5190
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdouble-square-bracket-attributes"), fdouble_square_bracket_attributes, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
5191
       "Enable '[[]]' attributes in all C and C++ language modes", nullptr, nullptr, "-fdouble-square-bracket-attributes", true, 0, LangOpts->DoubleSquareBracketAttributes, LangOpts->CPlusPlus11||LangOpts->C2x, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_double_square_bracket_attributes), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5192
#endif // LANG_OPTION_WITH_MARSHALLING
5193
#ifdef LANG_OPTION_WITH_MARSHALLING
5194
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-double-square-bracket-attributes"), fno_double_square_bracket_attributes, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
5195
       "Disable '[[]]' attributes in all C and C++ language modes", nullptr, nullptr, "-fno-double-square-bracket-attributes", true, 0, LangOpts->DoubleSquareBracketAttributes, LangOpts->CPlusPlus11||LangOpts->C2x, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdouble_square_bracket_attributes), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5196
#endif // LANG_OPTION_WITH_MARSHALLING
5197
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5198
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-autolink"), fno_autolink, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5199
       "Disable generation of linker directives for automatic library linking", nullptr, nullptr, "-fno-autolink", true, 0, CodeGenOpts.Autolink, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fautolink), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5200
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5201
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5202
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fautolink"), fautolink, Flag, f_Group, INVALID, nullptr, 0, 0,
5203
       "", nullptr, nullptr, "-fautolink", true, 0, CodeGenOpts.Autolink, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_autolink), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5204
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5205
#ifdef LANG_OPTION_WITH_MARSHALLING
5206
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcoroutines-ts"), fcoroutines_ts, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5207
       "Enable support for the C++ Coroutines TS", nullptr, nullptr, "-fcoroutines-ts", true, 0, LangOpts->Coroutines, LangOpts->CPlusPlus20, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_coroutines_ts), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5208
#endif // LANG_OPTION_WITH_MARSHALLING
5209
#ifdef LANG_OPTION_WITH_MARSHALLING
5210
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-coroutines-ts"), fno_coroutines_ts, Flag, f_Group, INVALID, nullptr, 0, 0,
5211
       "", nullptr, nullptr, "-fno-coroutines-ts", true, 0, LangOpts->Coroutines, LangOpts->CPlusPlus20, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcoroutines_ts), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5212
#endif // LANG_OPTION_WITH_MARSHALLING
5213
#ifdef LANG_OPTION_WITH_MARSHALLING
5214
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcoro-aligned-allocation"), fcoro_aligned_allocation, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5215
       "Prefer aligned allocation for C++ Coroutines", nullptr, nullptr, "-fcoro-aligned-allocation", true, 0, LangOpts->CoroAlignedAllocation, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_coro_aligned_allocation), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5216
#endif // LANG_OPTION_WITH_MARSHALLING
5217
#ifdef LANG_OPTION_WITH_MARSHALLING
5218
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-coro-aligned-allocation"), fno_coro_aligned_allocation, Flag, f_Group, INVALID, nullptr, 0, 0,
5219
       "", nullptr, nullptr, "-fno-coro-aligned-allocation", true, 0, LangOpts->CoroAlignedAllocation, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcoro_aligned_allocation), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5220
#endif // LANG_OPTION_WITH_MARSHALLING
5221
#ifdef LANG_OPTION_WITH_MARSHALLING
5222
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fexperimental-library"), fexperimental_library, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5223
       "Control whether unstable and experimental library features are enabled. This option enables various library features that are either experimental (also known as TSes), or have been but are not stable yet in the selected Standard Library implementation. It is not recommended to use this option in production code, since neither ABI nor API stability are guaranteed. This is intended to provide a preview of features that will ship in the future for experimentation purposes", nullptr, nullptr, "-fexperimental-library", true, 0, LangOpts->ExperimentalLibrary, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_experimental_library), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5224
#endif // LANG_OPTION_WITH_MARSHALLING
5225
#ifdef LANG_OPTION_WITH_MARSHALLING
5226
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-experimental-library"), fno_experimental_library, Flag, f_Group, INVALID, nullptr, 0, 0,
5227
       "", nullptr, nullptr, "-fno-experimental-library", true, 0, LangOpts->ExperimentalLibrary, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fexperimental_library), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5228
#endif // LANG_OPTION_WITH_MARSHALLING
5229
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5230
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fembed-offload-object="), fembed_offload_object_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
5231
       "Embed Offloading device-side binary into host object file as a section.", nullptr, nullptr, "-fembed-offload-object=", true, 0, CodeGenOpts.OffloadObjects, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
5232
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5233
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5234
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fembed-bitcode="), fembed_bitcode_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CC1AsOption, 0,
5235
       "Embed LLVM bitcode", "<option>", "off,all,bitcode,marker", "-fembed-bitcode=", true, 0, CodeGenOpts.EmbedBitcode, CodeGenOptions::Embed_Off, false, CodeGenOptions::Embed_Off, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 2)
5236
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5237
#ifdef LANG_OPTION_WITH_MARSHALLING
5238
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-gnu-inline-asm"), fno_gnu_inline_asm, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5239
       "Disable GNU style inline asm", nullptr, nullptr, "-fno-gnu-inline-asm", true, 0, LangOpts->GNUAsm, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fgnu_inline_asm), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5240
#endif // LANG_OPTION_WITH_MARSHALLING
5241
#ifdef LANG_OPTION_WITH_MARSHALLING
5242
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fgnu-inline-asm"), fgnu_inline_asm, Flag, f_Group, INVALID, nullptr, 0, 0,
5243
       "", nullptr, nullptr, "-fgnu-inline-asm", true, 0, LangOpts->GNUAsm, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_gnu_inline_asm), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5244
#endif // LANG_OPTION_WITH_MARSHALLING
5245
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5246
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-sample-use="), fprofile_sample_use_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
5247
       "Enable sample-based profile guided optimizations", nullptr, nullptr, "-fprofile-sample-use=", true, 0, CodeGenOpts.SampleProfileFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5248
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5249
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5250
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-sample-accurate"), fprofile_sample_accurate, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
5251
       "Specifies that the sample profile is accurate", nullptr, nullptr, "-fprofile-sample-accurate", true, 0, CodeGenOpts.ProfileSampleAccurate, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5252
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5253
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5254
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdebug-compilation-dir="), fdebug_compilation_dir_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CC1AsOption | CoreOption, 0,
5255
       "The compilation directory to embed in the debug info", nullptr, nullptr, "-fdebug-compilation-dir=", true, 0, CodeGenOpts.DebugCompilationDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5256
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5257
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5258
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcoverage-compilation-dir="), fcoverage_compilation_dir_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CC1AsOption | CoreOption, 0,
5259
       "The compilation directory to embed in the coverage mapping.", nullptr, nullptr, "-fcoverage-compilation-dir=", true, 0, CodeGenOpts.CoverageCompilationDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5260
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5261
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5262
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdebug-info-for-profiling"), fdebug_info_for_profiling, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5263
       "Emit extra debug info to make sample profile more accurate", nullptr, nullptr, "-fdebug-info-for-profiling", true, 0, CodeGenOpts.DebugInfoForProfiling, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_debug_info_for_profiling), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5264
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5265
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5266
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-debug-info-for-profiling"), fno_debug_info_for_profiling, Flag, f_Group, INVALID, nullptr, 0, 0,
5267
       "", nullptr, nullptr, "-fno-debug-info-for-profiling", true, 0, CodeGenOpts.DebugInfoForProfiling, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdebug_info_for_profiling), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5268
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5269
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5270
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-remapping-file="), fprofile_remapping_file_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5271
       "Use the remappings described in <file> to match the profile data against names in the program", "<file>", nullptr, "-fprofile-remapping-file=", true, 0, CodeGenOpts.ProfileRemappingFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5272
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5273
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5274
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcoverage-mapping"), fcoverage_mapping, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5275
       "Generate coverage mapping to enable code coverage analysis", nullptr, nullptr, "-fcoverage-mapping", true, 0, CodeGenOpts.CoverageMapping, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_coverage_mapping), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5276
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5277
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5278
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-coverage-mapping"), fno_coverage_mapping, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
5279
       "Disable code coverage analysis", nullptr, nullptr, "-fno-coverage-mapping", true, 0, CodeGenOpts.CoverageMapping, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcoverage_mapping), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5280
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5281
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5282
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-arcs"), fprofile_arcs, Flag, f_Group, INVALID, nullptr, CC1Option | LinkOption, 0,
5283
       "", nullptr, nullptr, "-fprofile-arcs", true, 0, CodeGenOpts.EmitGcovArcs, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_profile_arcs), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5284
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5285
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5286
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-profile-arcs"), fno_profile_arcs, Flag, f_Group, INVALID, nullptr, 0, 0,
5287
       "", nullptr, nullptr, "-fno-profile-arcs", true, 0, CodeGenOpts.EmitGcovArcs, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fprofile_arcs), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5288
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5289
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5290
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftest-coverage"), ftest_coverage, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5291
       "", nullptr, nullptr, "-ftest-coverage", true, 0, CodeGenOpts.EmitGcovNotes, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_test_coverage), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5292
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5293
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5294
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-test-coverage"), fno_test_coverage, Flag, f_Group, INVALID, nullptr, 0, 0,
5295
       "", nullptr, nullptr, "-fno-test-coverage", true, 0, CodeGenOpts.EmitGcovNotes, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_ftest_coverage), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5296
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5297
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5298
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-filter-files="), fprofile_filter_files_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5299
       "Instrument only functions from files where names match any regex separated by a semi-colon", nullptr, nullptr, "-fprofile-filter-files=", CodeGenOpts.EmitGcovArcs||CodeGenOpts.EmitGcovNotes, 0, CodeGenOpts.ProfileFilterFiles, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5300
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5301
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5302
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-exclude-files="), fprofile_exclude_files_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5303
       "Instrument only functions from files where names don't match all the regexes separated by a semi-colon", nullptr, nullptr, "-fprofile-exclude-files=", CodeGenOpts.EmitGcovArcs||CodeGenOpts.EmitGcovNotes, 0, CodeGenOpts.ProfileExcludeFiles, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5304
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5305
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5306
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-update="), fprofile_update_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5307
       "Set update method of profile counters", "<method>", "atomic,prefer-atomic,single", "-fprofile-update=", true, 0, CodeGenOpts.AtomicProfileUpdate, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5308
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5309
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5310
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fpseudo-probe-for-profiling"), fpseudo_probe_for_profiling, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
5311
       "Emit pseudo probes for sample profiling", nullptr, nullptr, "-fpseudo-probe-for-profiling", true, 0, CodeGenOpts.PseudoProbeForProfiling, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_pseudo_probe_for_profiling), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5312
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5313
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5314
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-pseudo-probe-for-profiling"), fno_pseudo_probe_for_profiling, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
5315
       "Do not emit pseudo probes for sample profiling", nullptr, nullptr, "-fno-pseudo-probe-for-profiling", true, 0, CodeGenOpts.PseudoProbeForProfiling, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fpseudo_probe_for_profiling), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5316
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5317
#ifdef LANG_OPTION_WITH_MARSHALLING
5318
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-list="), fprofile_list_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5319
       "Filename defining the list of functions/files to instrument", nullptr, nullptr, "-fprofile-list=", true, 0, LangOpts->ProfileListFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
5320
#endif // LANG_OPTION_WITH_MARSHALLING
5321
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5322
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-function-groups="), fprofile_function_groups, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5323
       "Partition functions into N groups and select only functions in group i to be instrumented using -fprofile-selected-function-group", "<N>", nullptr, "-fprofile-function-groups=", true, 0, CodeGenOpts.ProfileTotalFunctionGroups, 1, false, 1, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
5324
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5325
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5326
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-selected-function-group="), fprofile_selected_function_group, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5327
       "Partition functions into N groups using -fprofile-function-groups and select only functions in group i to be instrumented. The valid range is 0 to N-1 inclusive", "<i>", nullptr, "-fprofile-selected-function-group=", true, 0, CodeGenOpts.ProfileSelectedFunctionGroup, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
5328
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5329
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5330
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fswift-async-fp="), fswift_async_fp_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CC1AsOption | CoreOption, 0,
5331
       "Control emission of Swift async extended frame info", "<option>", "auto,always,never", "-fswift-async-fp=", true, 0, CodeGenOpts.SwiftAsyncFramePointer, CodeGenOptions::SwiftAsyncFramePointerKind::Always, false, CodeGenOptions::SwiftAsyncFramePointerKind::Always, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 3)
5332
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5333
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5334
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("faddrsig"), faddrsig, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5335
       "Emit an address-significance table", nullptr, nullptr, "-faddrsig", true, 0, CodeGenOpts.Addrsig, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_addrsig), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5336
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5337
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5338
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-addrsig"), fno_addrsig, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
5339
       "Don't emit an address-significance table", nullptr, nullptr, "-fno-addrsig", true, 0, CodeGenOpts.Addrsig, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_faddrsig), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5340
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5341
#ifdef LANG_OPTION_WITH_MARSHALLING
5342
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fborland-extensions"), fborland_extensions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5343
       "Accept non-standard constructs supported by the Borland compiler", nullptr, nullptr, "-fborland-extensions", true, 0, LangOpts->Borland, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_borland_extensions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5344
#endif // LANG_OPTION_WITH_MARSHALLING
5345
#ifdef LANG_OPTION_WITH_MARSHALLING
5346
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-borland-extensions"), fno_borland_extensions, Flag, f_Group, INVALID, nullptr, 0, 0,
5347
       "", nullptr, nullptr, "-fno-borland-extensions", true, 0, LangOpts->Borland, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fborland_extensions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5348
#endif // LANG_OPTION_WITH_MARSHALLING
5349
#ifdef DIAG_OPTION_WITH_MARSHALLING
5350
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-caret-diagnostics"), fno_caret_diagnostics, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5351
       "", nullptr, nullptr, "-fno-caret-diagnostics", true, 0, DiagnosticOpts->ShowCarets, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fcaret_diagnostics), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5352
#endif // DIAG_OPTION_WITH_MARSHALLING
5353
#ifdef DIAG_OPTION_WITH_MARSHALLING
5354
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcaret-diagnostics"), fcaret_diagnostics, Flag, f_Group, INVALID, nullptr, 0, 0,
5355
       "", nullptr, nullptr, "-fcaret-diagnostics", true, 0, DiagnosticOpts->ShowCarets, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_caret_diagnostics), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5356
#endif // DIAG_OPTION_WITH_MARSHALLING
5357
#ifdef DIAG_OPTION_WITH_MARSHALLING
5358
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fansi-escape-codes"), fansi_escape_codes, Flag, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
5359
       "Use ANSI escape codes for diagnostics", nullptr, nullptr, "-fansi-escape-codes", true, 0, DiagnosticOpts->UseANSIEscapeCodes, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5360
#endif // DIAG_OPTION_WITH_MARSHALLING
5361
#ifdef LANG_OPTION_WITH_MARSHALLING
5362
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcomment-block-commands="), fcomment_block_commands, CommaJoined, f_clang_Group, INVALID, nullptr, CC1Option, 0,
5363
       "Treat each comma separated argument in <arg> as a documentation comment block command", "<arg>", nullptr, "-fcomment-block-commands=", true, 0, LangOpts->CommentOpts.BlockCommandNames, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
5364
#endif // LANG_OPTION_WITH_MARSHALLING
5365
#ifdef LANG_OPTION_WITH_MARSHALLING
5366
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fparse-all-comments"), fparse_all_comments, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "-fparse-all-comments", true, 0, LangOpts->CommentOpts.ParseAllComments, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5367
#endif // LANG_OPTION_WITH_MARSHALLING
5368
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5369
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcommon"), fcommon, Flag, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
5370
       "Place uninitialized global variables in a common block", nullptr, nullptr, "-fcommon", true, 0, CodeGenOpts.NoCommon, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5371
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5372
#ifdef LANG_OPTION_WITH_MARSHALLING
5373
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcomplete-member-pointers"), fcomplete_member_pointers, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5374
       "Require member pointer base types to be complete if they would be significant under the Microsoft ABI", nullptr, nullptr, "-fcomplete-member-pointers", true, 0, LangOpts->CompleteMemberPointers, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_complete_member_pointers), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5375
#endif // LANG_OPTION_WITH_MARSHALLING
5376
#ifdef LANG_OPTION_WITH_MARSHALLING
5377
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-complete-member-pointers"), fno_complete_member_pointers, Flag, f_clang_Group, INVALID, nullptr, CoreOption, 0,
5378
       "Do not require member pointer base types to be complete if they would be significant under the Microsoft ABI", nullptr, nullptr, "-fno-complete-member-pointers", true, 0, LangOpts->CompleteMemberPointers, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcomplete_member_pointers), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5379
#endif // LANG_OPTION_WITH_MARSHALLING
5380
#ifdef LANG_OPTION_WITH_MARSHALLING
5381
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcf-runtime-abi="), fcf_runtime_abi_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, "unspecified,standalone,objc,swift,swift-5.0,swift-4.2,swift-4.1", "-fcf-runtime-abi=", true, 0, LangOpts->CFRuntime, LangOptions::CoreFoundationABI::ObjectiveC, false, LangOptions::CoreFoundationABI::ObjectiveC, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 4)
5382
#endif // LANG_OPTION_WITH_MARSHALLING
5383
#ifdef LANG_OPTION_WITH_MARSHALLING
5384
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-constant-cfstrings"), fno_constant_cfstrings, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5385
       "Disable creation of CodeFoundation-type constant strings", nullptr, nullptr, "-fno-constant-cfstrings", true, 0, LangOpts->NoConstantCFStrings, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fconstant_cfstrings), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5386
#endif // LANG_OPTION_WITH_MARSHALLING
5387
#ifdef LANG_OPTION_WITH_MARSHALLING
5388
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fconstant-cfstrings"), fconstant_cfstrings, Flag, f_Group, INVALID, nullptr, 0, 0,
5389
       "", nullptr, nullptr, "-fconstant-cfstrings", true, 0, LangOpts->NoConstantCFStrings, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_constant_cfstrings), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5390
#endif // LANG_OPTION_WITH_MARSHALLING
5391
#ifdef LANG_OPTION_WITH_MARSHALLING
5392
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fexperimental-new-constant-interpreter"), fexperimental_new_constant_interpreter, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5393
       "Enable the experimental new constant interpreter", nullptr, nullptr, "-fexperimental-new-constant-interpreter", true, 0, LangOpts->EnableNewConstInterp, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5394
#endif // LANG_OPTION_WITH_MARSHALLING
5395
#ifdef LANG_OPTION_WITH_MARSHALLING
5396
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcxx-exceptions"), fcxx_exceptions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5397
       "Enable C++ exceptions", nullptr, nullptr, "-fcxx-exceptions", true, 0, LangOpts->CXXExceptions, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_cxx_exceptions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5398
#endif // LANG_OPTION_WITH_MARSHALLING
5399
#ifdef LANG_OPTION_WITH_MARSHALLING
5400
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-cxx-exceptions"), fno_cxx_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
5401
       "", nullptr, nullptr, "-fno-cxx-exceptions", true, 0, LangOpts->CXXExceptions, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcxx_exceptions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5402
#endif // LANG_OPTION_WITH_MARSHALLING
5403
#ifdef LANG_OPTION_WITH_MARSHALLING
5404
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fasync-exceptions"), fasync_exceptions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5405
       "Enable EH Asynchronous exceptions", nullptr, nullptr, "-fasync-exceptions", true, 0, LangOpts->EHAsynch, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_async_exceptions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5406
#endif // LANG_OPTION_WITH_MARSHALLING
5407
#ifdef LANG_OPTION_WITH_MARSHALLING
5408
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-async-exceptions"), fno_async_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
5409
       "", nullptr, nullptr, "-fno-async-exceptions", true, 0, LangOpts->EHAsynch, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fasync_exceptions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5410
#endif // LANG_OPTION_WITH_MARSHALLING
5411
#ifdef LANG_OPTION_WITH_MARSHALLING
5412
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-cxx-modules"), fno_cxx_modules, Flag, f_Group, INVALID, nullptr, CC1Option | NoXarchOption, 0,
5413
       "Disable modules for C++", nullptr, nullptr, "-fno-cxx-modules", LangOpts->CPlusPlus, 0, LangOpts->CPlusPlusModules, LangOpts->CPlusPlus20, false, true, makeBooleanOptionNormalizer(false, true, OPT_fcxx_modules), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5414
#endif // LANG_OPTION_WITH_MARSHALLING
5415
#ifdef LANG_OPTION_WITH_MARSHALLING
5416
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcxx-modules"), fcxx_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0,
5417
       "Enable modules for C++", nullptr, nullptr, "-fcxx-modules", LangOpts->CPlusPlus, 0, LangOpts->CPlusPlusModules, LangOpts->CPlusPlus20, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_cxx_modules), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5418
#endif // LANG_OPTION_WITH_MARSHALLING
5419
#ifdef DIAG_OPTION_WITH_MARSHALLING
5420
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-diagnostics-fixit-info"), fno_diagnostics_fixit_info, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5421
       "Do not include fixit information in diagnostics", nullptr, nullptr, "-fno-diagnostics-fixit-info", true, 0, DiagnosticOpts->ShowFixits, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5422
#endif // DIAG_OPTION_WITH_MARSHALLING
5423
#ifdef DIAG_OPTION_WITH_MARSHALLING
5424
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdiagnostics-parseable-fixits"), fdiagnostics_parseable_fixits, Flag, f_clang_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
5425
       "Print fix-its in machine parseable form", nullptr, nullptr, "-fdiagnostics-parseable-fixits", true, 0, DiagnosticOpts->ShowParseableFixits, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5426
#endif // DIAG_OPTION_WITH_MARSHALLING
5427
#ifdef DIAG_OPTION_WITH_MARSHALLING
5428
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdiagnostics-print-source-range-info"), fdiagnostics_print_source_range_info, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
5429
       "Print source range spans in numeric form", nullptr, nullptr, "-fdiagnostics-print-source-range-info", true, 0, DiagnosticOpts->ShowSourceRanges, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5430
#endif // DIAG_OPTION_WITH_MARSHALLING
5431
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5432
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdiagnostics-show-hotness"), fdiagnostics_show_hotness, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5433
       "Enable profile hotness information in diagnostic line", nullptr, nullptr, "-fdiagnostics-show-hotness", true, 0, CodeGenOpts.DiagnosticsWithHotness, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_diagnostics_show_hotness), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5434
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5435
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5436
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-diagnostics-show-hotness"), fno_diagnostics_show_hotness, Flag, f_Group, INVALID, nullptr, 0, 0,
5437
       "", nullptr, nullptr, "-fno-diagnostics-show-hotness", true, 0, CodeGenOpts.DiagnosticsWithHotness, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdiagnostics_show_hotness), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5438
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5439
#ifdef DIAG_OPTION_WITH_MARSHALLING
5440
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-diagnostics-show-option"), fno_diagnostics_show_option, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5441
       "", nullptr, nullptr, "-fno-diagnostics-show-option", true, 0, DiagnosticOpts->ShowOptionNames, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fdiagnostics_show_option), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5442
#endif // DIAG_OPTION_WITH_MARSHALLING
5443
#ifdef DIAG_OPTION_WITH_MARSHALLING
5444
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdiagnostics-show-option"), fdiagnostics_show_option, Flag, f_Group, INVALID, nullptr, 0, 0,
5445
       "Print option name with mappable diagnostics", nullptr, nullptr, "-fdiagnostics-show-option", true, 0, DiagnosticOpts->ShowOptionNames, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_diagnostics_show_option), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5446
#endif // DIAG_OPTION_WITH_MARSHALLING
5447
#ifdef DIAG_OPTION_WITH_MARSHALLING
5448
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdiagnostics-show-note-include-stack"), fdiagnostics_show_note_include_stack, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5449
       "Display include stacks for diagnostic notes", nullptr, nullptr, "-fdiagnostics-show-note-include-stack", true, 0, DiagnosticOpts->ShowNoteIncludeStack, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_diagnostics_show_note_include_stack), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5450
#endif // DIAG_OPTION_WITH_MARSHALLING
5451
#ifdef DIAG_OPTION_WITH_MARSHALLING
5452
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-diagnostics-show-note-include-stack"), fno_diagnostics_show_note_include_stack, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5453
       "", nullptr, nullptr, "-fno-diagnostics-show-note-include-stack", true, 0, DiagnosticOpts->ShowNoteIncludeStack, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdiagnostics_show_note_include_stack), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5454
#endif // DIAG_OPTION_WITH_MARSHALLING
5455
#ifdef DIAG_OPTION_WITH_MARSHALLING
5456
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdiagnostics-show-template-tree"), fdiagnostics_show_template_tree, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5457
       "Print a template comparison tree for differing templates", nullptr, nullptr, "-fdiagnostics-show-template-tree", true, 0, DiagnosticOpts->ShowTemplateTree, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5458
#endif // DIAG_OPTION_WITH_MARSHALLING
5459
#ifdef LANG_OPTION_WITH_MARSHALLING
5460
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdollars-in-identifiers"), fdollars_in_identifiers, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5461
       "Allow '$' in identifiers", nullptr, nullptr, "-fdollars-in-identifiers", true, 0, LangOpts->DollarIdents, !LangOpts->AsmPreprocessor, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_dollars_in_identifiers), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5462
#endif // LANG_OPTION_WITH_MARSHALLING
5463
#ifdef LANG_OPTION_WITH_MARSHALLING
5464
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-dollars-in-identifiers"), fno_dollars_in_identifiers, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5465
       "Disallow '$' in identifiers", nullptr, nullptr, "-fno-dollars-in-identifiers", true, 0, LangOpts->DollarIdents, !LangOpts->AsmPreprocessor, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdollars_in_identifiers), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5466
#endif // LANG_OPTION_WITH_MARSHALLING
5467
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5468
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-dwarf-directory-asm"), fno_dwarf_directory_asm, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5469
       "", nullptr, nullptr, "-fno-dwarf-directory-asm", true, 0, CodeGenOpts.NoDwarfDirectoryAsm, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fdwarf_directory_asm), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5470
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5471
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5472
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdwarf-directory-asm"), fdwarf_directory_asm, Flag, f_Group, INVALID, nullptr, 0, 0,
5473
       "", nullptr, nullptr, "-fdwarf-directory-asm", true, 0, CodeGenOpts.NoDwarfDirectoryAsm, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_dwarf_directory_asm), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5474
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5475
#ifdef LANG_OPTION_WITH_MARSHALLING
5476
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-elide-constructors"), fno_elide_constructors, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5477
       "Disable C++ copy constructor elision", nullptr, nullptr, "-fno-elide-constructors", true, 0, LangOpts->ElideConstructors, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_felide_constructors), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5478
#endif // LANG_OPTION_WITH_MARSHALLING
5479
#ifdef LANG_OPTION_WITH_MARSHALLING
5480
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("felide-constructors"), felide_constructors, Flag, f_Group, INVALID, nullptr, 0, 0,
5481
       "", nullptr, nullptr, "-felide-constructors", true, 0, LangOpts->ElideConstructors, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_elide_constructors), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5482
#endif // LANG_OPTION_WITH_MARSHALLING
5483
#ifdef DIAG_OPTION_WITH_MARSHALLING
5484
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-elide-type"), fno_elide_type, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5485
       "Do not elide types when printing diagnostics", nullptr, nullptr, "-fno-elide-type", true, 0, DiagnosticOpts->ElideType, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5486
#endif // DIAG_OPTION_WITH_MARSHALLING
5487
#ifdef LANG_OPTION_WITH_MARSHALLING
5488
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("femit-all-decls"), femit_all_decls, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5489
       "Emit all declarations, even if unused", nullptr, nullptr, "-femit-all-decls", true, 0, LangOpts->EmitAllDecls, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5490
#endif // LANG_OPTION_WITH_MARSHALLING
5491
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5492
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("femulated-tls"), femulated_tls, Flag, f_Group, INVALID, nullptr, CC1Option | CC1Option, 0,
5493
       "Use emutls functions to access thread_local variables", nullptr, nullptr, "-femulated-tls", true, 0, CodeGenOpts.EmulatedTLS, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_emulated_tls), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5494
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5495
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5496
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-emulated-tls"), fno_emulated_tls, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5497
       "", nullptr, nullptr, "-fno-emulated-tls", true, 0, CodeGenOpts.EmulatedTLS, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_femulated_tls), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5498
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5499
#ifdef LANG_OPTION_WITH_MARSHALLING
5500
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fexceptions"), fexceptions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5501
       "Enable support for exception handling", nullptr, nullptr, "-fexceptions", true, 0, LangOpts->Exceptions, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_exceptions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5502
#endif // LANG_OPTION_WITH_MARSHALLING
5503
#ifdef LANG_OPTION_WITH_MARSHALLING
5504
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-exceptions"), fno_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
5505
       "Disable support for exception handling", nullptr, nullptr, "-fno-exceptions", true, 0, LangOpts->Exceptions, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fexceptions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5506
#endif // LANG_OPTION_WITH_MARSHALLING
5507
#ifdef LANG_OPTION_WITH_MARSHALLING
5508
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("exception-model"), exception_model, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
5509
       "The exception model", nullptr, "dwarf,sjlj,seh,wasm", "-exception-model", true, 0, LangOpts->ExceptionHandling, LangOptions::ExceptionHandlingKind::None, false, LangOptions::ExceptionHandlingKind::None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 5)
5510
#endif // LANG_OPTION_WITH_MARSHALLING
5511
#ifdef LANG_OPTION_WITH_MARSHALLING
5512
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fignore-exceptions"), fignore_exceptions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5513
       "Enable support for ignoring exception handling constructs", nullptr, nullptr, "-fignore-exceptions", true, 0, LangOpts->IgnoreExceptions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5514
#endif // LANG_OPTION_WITH_MARSHALLING
5515
#ifdef LANG_OPTION_WITH_MARSHALLING
5516
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ffloat16-excess-precision="), ffloat16_excess_precision_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
5517
       "Allows control over excess precision on targets where native support for Float16 precision types is not available. By default, excess precision is used to calculate intermediate results following the rules specified in ISO C99.", nullptr, "standard,fast,none", "-ffloat16-excess-precision=", true, 0, LangOpts->Float16ExcessPrecision, LangOptions::FPP_Standard, false, LangOptions::FPP_Standard, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 6)
5518
#endif // LANG_OPTION_WITH_MARSHALLING
5519
#ifdef LANG_OPTION_WITH_MARSHALLING
5520
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ffp-eval-method="), ffp_eval_method_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5521
       "Specifies the evaluation method to use for floating-point arithmetic.", nullptr, "source,double,extended", "-ffp-eval-method=", true, 0, LangOpts->FPEvalMethod, LangOptions::FEM_UnsetOnCommandLine, false, LangOptions::FEM_UnsetOnCommandLine, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 7)
5522
#endif // LANG_OPTION_WITH_MARSHALLING
5523
#ifdef LANG_OPTION_WITH_MARSHALLING
5524
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ffp-exception-behavior="), ffp_exception_behavior_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5525
       "Specifies the exception behavior of floating-point operations.", nullptr, "ignore,maytrap,strict", "-ffp-exception-behavior=", true, 0, LangOpts->FPExceptionMode, LangOptions::FPE_Default, false, LangOptions::FPE_Default, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 8)
5526
#endif // LANG_OPTION_WITH_MARSHALLING
5527
#ifdef LANG_OPTION_WITH_MARSHALLING
5528
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ffast-math"), ffast_math, Flag, f_Group, INVALID, nullptr, CC1Option | FC1Option | FlangOption, 0,
5529
       "Allow aggressive, lossy floating-point optimizations", nullptr, nullptr, "-ffast-math", true, 0, LangOpts->FastMath, false, false || LangOpts->FastRelaxedMath, true, makeBooleanOptionNormalizer(true, false, OPT_fno_fast_math), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5530
#endif // LANG_OPTION_WITH_MARSHALLING
5531
#ifdef LANG_OPTION_WITH_MARSHALLING
5532
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-fast-math"), fno_fast_math, Flag, f_Group, INVALID, nullptr, 0, 0,
5533
       "", nullptr, nullptr, "-fno-fast-math", true, 0, LangOpts->FastMath, false, false || LangOpts->FastRelaxedMath, true, makeBooleanOptionNormalizer(false, true, OPT_ffast_math), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5534
#endif // LANG_OPTION_WITH_MARSHALLING
5535
#ifdef LANG_OPTION_WITH_MARSHALLING
5536
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmath-errno"), fmath_errno, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5537
       "Require math functions to indicate errors by setting errno", nullptr, nullptr, "-fmath-errno", !LangOpts->OpenCL, 0, LangOpts->MathErrno, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_math_errno), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5538
#endif // LANG_OPTION_WITH_MARSHALLING
5539
#ifdef LANG_OPTION_WITH_MARSHALLING
5540
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-math-errno"), fno_math_errno, Flag, f_Group, INVALID, nullptr, 0, 0,
5541
       "", nullptr, nullptr, "-fno-math-errno", !LangOpts->OpenCL, 0, LangOpts->MathErrno, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmath_errno), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5542
#endif // LANG_OPTION_WITH_MARSHALLING
5543
#ifdef LANG_OPTION_WITH_MARSHALLING
5544
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fextend-arguments="), fextend_args_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused, 0,
5545
       "Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions", nullptr, "32,64", "-fextend-arguments=", true, 0, LangOpts->ExtendIntArgs, LangOptions::ExtendArgsKind::ExtendTo32, false, LangOptions::ExtendArgsKind::ExtendTo32, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 9)
5546
#endif // LANG_OPTION_WITH_MARSHALLING
5547
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5548
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-jump-tables"), fno_jump_tables, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5549
       "Do not use jump tables for lowering switches", nullptr, nullptr, "-fno-jump-tables", true, 0, CodeGenOpts.NoUseJumpTables, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fjump_tables), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5550
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5551
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5552
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fjump-tables"), fjump_tables, Flag, f_Group, INVALID, nullptr, 0, 0,
5553
       "Use jump tables for lowering switches", nullptr, nullptr, "-fjump-tables", true, 0, CodeGenOpts.NoUseJumpTables, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_jump_tables), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5554
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5555
#ifdef TARGET_OPTION_WITH_MARSHALLING
5556
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fforce-enable-int128"), fforce_enable_int128, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5557
       "Enable support for int128_t type", nullptr, nullptr, "-fforce-enable-int128", true, 0, TargetOpts->ForceEnableInt128, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_force_enable_int128), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5558
#endif // TARGET_OPTION_WITH_MARSHALLING
5559
#ifdef TARGET_OPTION_WITH_MARSHALLING
5560
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-force-enable-int128"), fno_force_enable_int128, Flag, f_Group, INVALID, nullptr, 0, 0,
5561
       "Disable support for int128_t type", nullptr, nullptr, "-fno-force-enable-int128", true, 0, TargetOpts->ForceEnableInt128, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fforce_enable_int128), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5562
#endif // TARGET_OPTION_WITH_MARSHALLING
5563
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5564
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fkeep-static-consts"), fkeep_static_consts, Flag, f_Group, INVALID, nullptr, CC1Option | NoXarchOption, 0,
5565
       "Keep static const variables if unused", nullptr, nullptr, "-fkeep-static-consts", true, 0, CodeGenOpts.KeepStaticConsts, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_keep_static_consts), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5566
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5567
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5568
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-keep-static-consts"), fno_keep_static_consts, Flag, f_Group, INVALID, nullptr, NoXarchOption, 0,
5569
       "Don't keep static const variables if unused", nullptr, nullptr, "-fno-keep-static-consts", true, 0, CodeGenOpts.KeepStaticConsts, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fkeep_static_consts), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5570
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5571
#ifdef LANG_OPTION_WITH_MARSHALLING
5572
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ffixed-point"), ffixed_point, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5573
       "Enable fixed point types", nullptr, nullptr, "-ffixed-point", !LangOpts->CPlusPlus, 0, LangOpts->FixedPoint, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_fixed_point), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5574
#endif // LANG_OPTION_WITH_MARSHALLING
5575
#ifdef LANG_OPTION_WITH_MARSHALLING
5576
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-fixed-point"), fno_fixed_point, Flag, f_Group, INVALID, nullptr, 0, 0,
5577
       "Disable fixed point types", nullptr, nullptr, "-fno-fixed-point", !LangOpts->CPlusPlus, 0, LangOpts->FixedPoint, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_ffixed_point), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5578
#endif // LANG_OPTION_WITH_MARSHALLING
5579
#ifdef LANG_OPTION_WITH_MARSHALLING
5580
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-c++-static-destructors"), fno_cxx_static_destructors, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5581
       "Disable C++ static destructor registration", nullptr, nullptr, "-fno-c++-static-destructors", true, 0, LangOpts->RegisterStaticDestructors, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fcxx_static_destructors), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5582
#endif // LANG_OPTION_WITH_MARSHALLING
5583
#ifdef LANG_OPTION_WITH_MARSHALLING
5584
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fc++-static-destructors"), fcxx_static_destructors, Flag, f_Group, INVALID, nullptr, 0, 0,
5585
       "", nullptr, nullptr, "-fc++-static-destructors", true, 0, LangOpts->RegisterStaticDestructors, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_cxx_static_destructors), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5586
#endif // LANG_OPTION_WITH_MARSHALLING
5587
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5588
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsymbol-partition="), fsymbol_partition_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "-fsymbol-partition=", true, 0, CodeGenOpts.SymbolPartition, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5589
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5590
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5591
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-allowlist="), fsanitize_coverage_allowlist, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5592
       "Restrict sanitizer coverage instrumentation exclusively to modules and functions that match the provided special case list, except the blocked ones", nullptr, nullptr, "-fsanitize-coverage-allowlist=", true, 0, CodeGenOpts.SanitizeCoverageAllowlistFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
5593
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5594
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5595
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-ignorelist="), fsanitize_coverage_ignorelist, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5596
       "Disable sanitizer coverage instrumentation for modules and functions that match the provided special case list, even the allowed ones", nullptr, nullptr, "-fsanitize-coverage-ignorelist=", true, 0, CodeGenOpts.SanitizeCoverageIgnorelistFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
5597
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5598
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5599
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-memory-track-origins="), fsanitize_memory_track_origins_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5600
       "Enable origins tracking in MemorySanitizer", nullptr, nullptr, "-fsanitize-memory-track-origins=", true, 0, CodeGenOpts.SanitizeMemoryTrackOrigins, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
5601
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5602
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5603
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-memory-use-after-dtor"), fsanitize_memory_use_after_dtor, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5604
       "Enable use-after-destroy detection in MemorySanitizer", nullptr, nullptr, "-fsanitize-memory-use-after-dtor", true, 0, CodeGenOpts.SanitizeMemoryUseAfterDtor, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_memory_use_after_dtor), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5605
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5606
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5607
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-sanitize-memory-use-after-dtor"), fno_sanitize_memory_use_after_dtor, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5608
       "Disable use-after-destroy detection in MemorySanitizer", nullptr, nullptr, "-fno-sanitize-memory-use-after-dtor", true, 0, CodeGenOpts.SanitizeMemoryUseAfterDtor, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_memory_use_after_dtor), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5609
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5610
#ifdef LANG_OPTION_WITH_MARSHALLING
5611
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-address-field-padding="), fsanitize_address_field_padding, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5612
       "Level of field padding for AddressSanitizer", nullptr, nullptr, "-fsanitize-address-field-padding=", true, 0, LangOpts->SanitizeAddressFieldPadding, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
5613
#endif // LANG_OPTION_WITH_MARSHALLING
5614
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5615
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-address-use-after-scope"), fsanitize_address_use_after_scope, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5616
       "Enable use-after-scope detection in AddressSanitizer", nullptr, nullptr, "-fsanitize-address-use-after-scope", true, 0, CodeGenOpts.SanitizeAddressUseAfterScope, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_address_use_after_scope), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5617
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5618
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5619
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-sanitize-address-use-after-scope"), fno_sanitize_address_use_after_scope, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5620
       "Disable use-after-scope detection in AddressSanitizer", nullptr, nullptr, "-fno-sanitize-address-use-after-scope", true, 0, CodeGenOpts.SanitizeAddressUseAfterScope, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_address_use_after_scope), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5621
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5622
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5623
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-address-use-after-return="), sanitize_address_use_after_return_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5624
       "Select the mode of detecting stack use-after-return in AddressSanitizer", "<mode>", "never,runtime,always", "-fsanitize-address-use-after-return=", true, 0, CodeGenOpts.SanitizeAddressUseAfterReturn, llvm::AsanDetectStackUseAfterReturnMode::Runtime, false, llvm::AsanDetectStackUseAfterReturnMode::Runtime, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 10)
5625
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5626
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5627
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-address-poison-custom-array-cookie"), fsanitize_address_poison_custom_array_cookie, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5628
       "Enable poisoning array cookies when using custom operator new[] in AddressSanitizer", nullptr, nullptr, "-fsanitize-address-poison-custom-array-cookie", true, 0, CodeGenOpts.SanitizeAddressPoisonCustomArrayCookie, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_address_poison_custom_array_cookie), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5629
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5630
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5631
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-sanitize-address-poison-custom-array-cookie"), fno_sanitize_address_poison_custom_array_cookie, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5632
       "Disable poisoning array cookies when using custom operator new[] in AddressSanitizer", nullptr, nullptr, "-fno-sanitize-address-poison-custom-array-cookie", true, 0, CodeGenOpts.SanitizeAddressPoisonCustomArrayCookie, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_address_poison_custom_array_cookie), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5633
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5634
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5635
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-address-globals-dead-stripping"), fsanitize_address_globals_dead_stripping, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5636
       "Enable linker dead stripping of globals in AddressSanitizer", nullptr, nullptr, "-fsanitize-address-globals-dead-stripping", true, 0, CodeGenOpts.SanitizeAddressGlobalsDeadStripping, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_address_globals_dead_stripping), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5637
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5638
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5639
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-sanitize-address-globals-dead-stripping"), fno_sanitize_address_globals_dead_stripping, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5640
       "Disable linker dead stripping of globals in AddressSanitizer", nullptr, nullptr, "-fno-sanitize-address-globals-dead-stripping", true, 0, CodeGenOpts.SanitizeAddressGlobalsDeadStripping, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_address_globals_dead_stripping), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5641
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5642
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5643
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-address-use-odr-indicator"), fsanitize_address_use_odr_indicator, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5644
       "Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size", nullptr, nullptr, "-fsanitize-address-use-odr-indicator", true, 0, CodeGenOpts.SanitizeAddressUseOdrIndicator, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_address_use_odr_indicator), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5645
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5646
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5647
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-sanitize-address-use-odr-indicator"), fno_sanitize_address_use_odr_indicator, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5648
       "Disable ODR indicator globals", nullptr, nullptr, "-fno-sanitize-address-use-odr-indicator", true, 0, CodeGenOpts.SanitizeAddressUseOdrIndicator, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_address_use_odr_indicator), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5649
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5650
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5651
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-address-destructor="), sanitize_address_destructor_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5652
       "Set destructor type used in ASan instrumentation", nullptr, "none,global", "-fsanitize-address-destructor=", true, 0, CodeGenOpts.SanitizeAddressDtor, llvm::AsanDtorKind::Global, false, llvm::AsanDtorKind::Global, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 11)
5653
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5654
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5655
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-memory-param-retval"), fsanitize_memory_param_retval, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5656
       "Enable detection of uninitialized parameters and return values", nullptr, nullptr, "-fsanitize-memory-param-retval", true, 0, CodeGenOpts.SanitizeMemoryParamRetval, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_memory_param_retval), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5657
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5658
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5659
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-sanitize-memory-param-retval"), fno_sanitize_memory_param_retval, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5660
       "Disable detection of uninitialized parameters and return values", nullptr, nullptr, "-fno-sanitize-memory-param-retval", true, 0, CodeGenOpts.SanitizeMemoryParamRetval, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_memory_param_retval), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5661
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5662
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5663
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-minimal-runtime"), fsanitize_minimal_runtime, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5664
       "", nullptr, nullptr, "-fsanitize-minimal-runtime", true, 0, CodeGenOpts.SanitizeMinimalRuntime, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_minimal_runtime), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5665
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5666
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5667
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-sanitize-minimal-runtime"), fno_sanitize_minimal_runtime, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5668
       "", nullptr, nullptr, "-fno-sanitize-minimal-runtime", true, 0, CodeGenOpts.SanitizeMinimalRuntime, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_minimal_runtime), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5669
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5670
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5671
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-cfi-cross-dso"), fsanitize_cfi_cross_dso, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5672
       "Enable control flow integrity (CFI) checks for cross-DSO calls.", nullptr, nullptr, "-fsanitize-cfi-cross-dso", true, 0, CodeGenOpts.SanitizeCfiCrossDso, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_cfi_cross_dso), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5673
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5674
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5675
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-sanitize-cfi-cross-dso"), fno_sanitize_cfi_cross_dso, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5676
       "Disable control flow integrity (CFI) checks for cross-DSO calls.", nullptr, nullptr, "-fno-sanitize-cfi-cross-dso", true, 0, CodeGenOpts.SanitizeCfiCrossDso, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_cfi_cross_dso), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5677
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5678
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5679
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-cfi-icall-generalize-pointers"), fsanitize_cfi_icall_generalize_pointers, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5680
       "Generalize pointers in CFI indirect call type signature checks", nullptr, nullptr, "-fsanitize-cfi-icall-generalize-pointers", true, 0, CodeGenOpts.SanitizeCfiICallGeneralizePointers, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5681
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5682
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5683
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-cfi-canonical-jump-tables"), fsanitize_cfi_canonical_jump_tables, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5684
       "Make the jump table addresses canonical in the symbol table", nullptr, nullptr, "-fsanitize-cfi-canonical-jump-tables", true, 0, CodeGenOpts.SanitizeCfiCanonicalJumpTables, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_cfi_canonical_jump_tables), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5685
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5686
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5687
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-sanitize-cfi-canonical-jump-tables"), fno_sanitize_cfi_canonical_jump_tables, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5688
       "Do not make the jump table addresses canonical in the symbol table", nullptr, nullptr, "-fno-sanitize-cfi-canonical-jump-tables", true, 0, CodeGenOpts.SanitizeCfiCanonicalJumpTables, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_cfi_canonical_jump_tables), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5689
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5690
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5691
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-stats"), fsanitize_stats, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5692
       "Enable sanitizer statistics gathering.", nullptr, nullptr, "-fsanitize-stats", true, 0, CodeGenOpts.SanitizeStats, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sanitize_stats), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5693
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5694
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5695
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-sanitize-stats"), fno_sanitize_stats, Flag, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5696
       "Disable sanitizer statistics gathering.", nullptr, nullptr, "-fno-sanitize-stats", true, 0, CodeGenOpts.SanitizeStats, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsanitize_stats), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5697
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5698
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5699
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-undefined-strip-path-components="), fsanitize_undefined_strip_path_components_EQ, Joined, f_clang_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5700
       "Strip (or keep only, if negative) a given number of path components when emitting check metadata.", "<number>", nullptr, "-fsanitize-undefined-strip-path-components=", true, 0, CodeGenOpts.EmitCheckPathComponentsToStrip, 0, false, 0, normalizeStringIntegral<int>, denormalizeString<int>, mergeForwardValue, extractForwardValue, -1)
5701
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5702
#ifdef LANG_OPTION_WITH_MARSHALLING
5703
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("funsafe-math-optimizations"), funsafe_math_optimizations, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5704
       "Allow unsafe floating-point math optimizations which may decrease precision", nullptr, nullptr, "-funsafe-math-optimizations", true, 0, LangOpts->UnsafeFPMath, false, false || LangOpts->CLUnsafeMath || LangOpts->FastMath, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5705
#endif // LANG_OPTION_WITH_MARSHALLING
5706
#ifdef LANG_OPTION_WITH_MARSHALLING
5707
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("freciprocal-math"), freciprocal_math, Flag, f_Group, INVALID, nullptr, CC1Option | FC1Option | FlangOption, 0,
5708
       "Allow division operations to be reassociated", nullptr, nullptr, "-freciprocal-math", true, 0, LangOpts->AllowRecip, false, false || LangOpts->UnsafeFPMath, true, makeBooleanOptionNormalizer(true, false, OPT_fno_reciprocal_math), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5709
#endif // LANG_OPTION_WITH_MARSHALLING
5710
#ifdef LANG_OPTION_WITH_MARSHALLING
5711
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-reciprocal-math"), fno_reciprocal_math, Flag, f_Group, INVALID, nullptr, 0, 0,
5712
       "", nullptr, nullptr, "-fno-reciprocal-math", true, 0, LangOpts->AllowRecip, false, false || LangOpts->UnsafeFPMath, true, makeBooleanOptionNormalizer(false, true, OPT_freciprocal_math), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5713
#endif // LANG_OPTION_WITH_MARSHALLING
5714
#ifdef LANG_OPTION_WITH_MARSHALLING
5715
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fapprox-func"), fapprox_func, Flag, f_Group, INVALID, nullptr, CC1Option | FC1Option | FlangOption, 0,
5716
       "Allow certain math function calls to be replaced with an approximately equivalent calculation", nullptr, nullptr, "-fapprox-func", true, 0, LangOpts->ApproxFunc, false, false || LangOpts->UnsafeFPMath, true, makeBooleanOptionNormalizer(true, false, OPT_fno_approx_func), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5717
#endif // LANG_OPTION_WITH_MARSHALLING
5718
#ifdef LANG_OPTION_WITH_MARSHALLING
5719
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-approx-func"), fno_approx_func, Flag, f_Group, INVALID, nullptr, 0, 0,
5720
       "", nullptr, nullptr, "-fno-approx-func", true, 0, LangOpts->ApproxFunc, false, false || LangOpts->UnsafeFPMath, true, makeBooleanOptionNormalizer(false, true, OPT_fapprox_func), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5721
#endif // LANG_OPTION_WITH_MARSHALLING
5722
#ifdef LANG_OPTION_WITH_MARSHALLING
5723
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ffinite-math-only"), ffinite_math_only, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5724
       "", nullptr, nullptr, "-ffinite-math-only", true, 0, LangOpts->FiniteMathOnly, false, false || LangOpts->CLFiniteMathOnly || LangOpts->FastMath, true, makeBooleanOptionNormalizer(true, false, OPT_fno_finite_math_only), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5725
#endif // LANG_OPTION_WITH_MARSHALLING
5726
#ifdef LANG_OPTION_WITH_MARSHALLING
5727
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-finite-math-only"), fno_finite_math_only, Flag, f_Group, INVALID, nullptr, 0, 0,
5728
       "", nullptr, nullptr, "-fno-finite-math-only", true, 0, LangOpts->FiniteMathOnly, false, false || LangOpts->CLFiniteMathOnly || LangOpts->FastMath, true, makeBooleanOptionNormalizer(false, true, OPT_ffinite_math_only), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5729
#endif // LANG_OPTION_WITH_MARSHALLING
5730
#ifdef LANG_OPTION_WITH_MARSHALLING
5731
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-signed-zeros"), fno_signed_zeros, Flag, f_Group, INVALID, nullptr, CC1Option | FC1Option | FlangOption, 0,
5732
       "Allow optimizations that ignore the sign of floating point zeros", nullptr, nullptr, "-fno-signed-zeros", true, 0, LangOpts->NoSignedZero, false, false || LangOpts->CLNoSignedZero || LangOpts->UnsafeFPMath, true, makeBooleanOptionNormalizer(true, false, OPT_fsigned_zeros), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5733
#endif // LANG_OPTION_WITH_MARSHALLING
5734
#ifdef LANG_OPTION_WITH_MARSHALLING
5735
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsigned-zeros"), fsigned_zeros, Flag, f_Group, INVALID, nullptr, 0, 0,
5736
       "", nullptr, nullptr, "-fsigned-zeros", true, 0, LangOpts->NoSignedZero, false, false || LangOpts->CLNoSignedZero || LangOpts->UnsafeFPMath, true, makeBooleanOptionNormalizer(false, true, OPT_fno_signed_zeros), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5737
#endif // LANG_OPTION_WITH_MARSHALLING
5738
#ifdef LANG_OPTION_WITH_MARSHALLING
5739
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("frounding-math"), frounding_math, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "-frounding-math", true, 0, LangOpts->RoundingMath, false, false, false, makeFlagToValueNormalizer(llvm::RoundingMode::Dynamic), denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5740
#endif // LANG_OPTION_WITH_MARSHALLING
5741
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5742
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-strict-float-cast-overflow"), fno_strict_float_cast_overflow, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5743
       "Relax language rules and try to match the behavior of the target's native float-to-int conversion instructions", nullptr, nullptr, "-fno-strict-float-cast-overflow", true, 0, CodeGenOpts.StrictFloatCastOverflow, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fstrict_float_cast_overflow), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5744
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5745
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5746
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fstrict-float-cast-overflow"), fstrict_float_cast_overflow, Flag, f_Group, INVALID, nullptr, 0, 0,
5747
       "Assume that overflowing float-to-int casts are undefined (default)", nullptr, nullptr, "-fstrict-float-cast-overflow", true, 0, CodeGenOpts.StrictFloatCastOverflow, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_strict_float_cast_overflow), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5748
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5749
#ifdef LANG_OPTION_WITH_MARSHALLING
5750
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprotect-parens"), fprotect_parens, Flag, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
5751
       "Determines whether the optimizer honors parentheses when floating-point expressions are evaluated", nullptr, nullptr, "-fprotect-parens", true, 0, LangOpts->ProtectParens, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_protect_parens), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5752
#endif // LANG_OPTION_WITH_MARSHALLING
5753
#ifdef LANG_OPTION_WITH_MARSHALLING
5754
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-protect-parens"), fno_protect_parens, Flag, f_Group, INVALID, nullptr, 0, 0,
5755
       "", nullptr, nullptr, "-fno-protect-parens", true, 0, LangOpts->ProtectParens, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fprotect_parens), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5756
#endif // LANG_OPTION_WITH_MARSHALLING
5757
#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5758
PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("frewrite-imports"), frewrite_imports, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5759
       "", nullptr, nullptr, "-frewrite-imports", true, 0, PreprocessorOutputOpts.RewriteImports, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_rewrite_imports), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5760
#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5761
#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5762
PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-rewrite-imports"), fno_rewrite_imports, Flag, f_Group, INVALID, nullptr, 0, 0,
5763
       "", nullptr, nullptr, "-fno-rewrite-imports", true, 0, PreprocessorOutputOpts.RewriteImports, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_frewrite_imports), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5764
#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5765
#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5766
PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("frewrite-includes"), frewrite_includes, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5767
       "", nullptr, nullptr, "-frewrite-includes", true, 0, PreprocessorOutputOpts.RewriteIncludes, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_rewrite_includes), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5768
#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5769
#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5770
PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-rewrite-includes"), fno_rewrite_includes, Flag, f_Group, INVALID, nullptr, 0, 0,
5771
       "", nullptr, nullptr, "-fno-rewrite-includes", true, 0, PreprocessorOutputOpts.RewriteIncludes, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_frewrite_includes), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5772
#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5773
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5774
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-delete-null-pointer-checks"), fno_delete_null_pointer_checks, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5775
       "Do not treat usage of null pointers as undefined behavior", nullptr, nullptr, "-fno-delete-null-pointer-checks", true, 0, CodeGenOpts.NullPointerIsValid, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fdelete_null_pointer_checks), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5776
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5777
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5778
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdelete-null-pointer-checks"), fdelete_null_pointer_checks, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
5779
       "Treat usage of null pointers as undefined behavior (default)", nullptr, nullptr, "-fdelete-null-pointer-checks", true, 0, CodeGenOpts.NullPointerIsValid, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_delete_null_pointer_checks), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5780
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5781
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5782
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("frewrite-map-file="), frewrite_map_file_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0, nullptr, nullptr, nullptr, "-frewrite-map-file=", true, 0, CodeGenOpts.RewriteMapFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
5783
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5784
#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5785
PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fuse-line-directives"), fuse_line_directives, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5786
       "Use #line in preprocessed output", nullptr, nullptr, "-fuse-line-directives", true, 0, PreprocessorOutputOpts.UseLineDirectives, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_use_line_directives), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5787
#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5788
#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5789
PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-use-line-directives"), fno_use_line_directives, Flag, f_Group, INVALID, nullptr, 0, 0,
5790
       "", nullptr, nullptr, "-fno-use-line-directives", true, 0, PreprocessorOutputOpts.UseLineDirectives, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fuse_line_directives), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5791
#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5792
#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5793
PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fminimize-whitespace"), fminimize_whitespace, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5794
       "Minimize whitespace when emitting preprocessor output", nullptr, nullptr, "-fminimize-whitespace", true, 0, PreprocessorOutputOpts.MinimizeWhitespace, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_minimize_whitespace), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5795
#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5796
#ifdef PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5797
PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-minimize-whitespace"), fno_minimize_whitespace, Flag, f_Group, INVALID, nullptr, 0, 0,
5798
       "", nullptr, nullptr, "-fno-minimize-whitespace", true, 0, PreprocessorOutputOpts.MinimizeWhitespace, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fminimize_whitespace), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5799
#endif // PREPROCESSOR_OUTPUT_OPTION_WITH_MARSHALLING
5800
#ifdef LANG_OPTION_WITH_MARSHALLING
5801
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ffreestanding"), ffreestanding, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5802
       "Assert that the compilation takes place in a freestanding environment", nullptr, nullptr, "-ffreestanding", true, 0, LangOpts->Freestanding, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5803
#endif // LANG_OPTION_WITH_MARSHALLING
5804
#ifdef LANG_OPTION_WITH_MARSHALLING
5805
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fgnu-keywords"), fgnu_keywords, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5806
       "Allow GNU-extension keywords regardless of language standard", nullptr, nullptr, "-fgnu-keywords", true, 0, LangOpts->GNUKeywords, LangOpts->GNUMode, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gnu_keywords), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5807
#endif // LANG_OPTION_WITH_MARSHALLING
5808
#ifdef LANG_OPTION_WITH_MARSHALLING
5809
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-gnu-keywords"), fno_gnu_keywords, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5810
       "", nullptr, nullptr, "-fno-gnu-keywords", true, 0, LangOpts->GNUKeywords, LangOpts->GNUMode, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgnu_keywords), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5811
#endif // LANG_OPTION_WITH_MARSHALLING
5812
#ifdef LANG_OPTION_WITH_MARSHALLING
5813
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fgnu89-inline"), fgnu89_inline, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5814
       "Use the gnu89 inline semantics", nullptr, nullptr, "-fgnu89-inline", !LangOpts->CPlusPlus, 0, LangOpts->GNUInline, !LangOpts->C99 && !LangOpts->CPlusPlus, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_gnu89_inline), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5815
#endif // LANG_OPTION_WITH_MARSHALLING
5816
#ifdef LANG_OPTION_WITH_MARSHALLING
5817
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-gnu89-inline"), fno_gnu89_inline, Flag, f_Group, INVALID, nullptr, 0, 0,
5818
       "", nullptr, nullptr, "-fno-gnu89-inline", !LangOpts->CPlusPlus, 0, LangOpts->GNUInline, !LangOpts->C99 && !LangOpts->CPlusPlus, false, false, makeBooleanOptionNormalizer(false, true, OPT_fgnu89_inline), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5819
#endif // LANG_OPTION_WITH_MARSHALLING
5820
#ifdef LANG_OPTION_WITH_MARSHALLING
5821
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fheinous-gnu-extensions"), fheinous_gnu_extensions, Flag, INVALID, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "-fheinous-gnu-extensions", true, 0, LangOpts->HeinousExtensions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5822
#endif // LANG_OPTION_WITH_MARSHALLING
5823
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5824
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("finline-max-stacksize="), finline_max_stacksize_EQ, Joined, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
5825
       "Suppress inlining of functions whose stack size exceeds the given value", nullptr, nullptr, "-finline-max-stacksize=", true, 0, CodeGenOpts.InlineMaxStackSize, UINT_MAX, false, UINT_MAX, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
5826
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5827
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5828
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fjmc"), fjmc, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5829
       "Enable just-my-code debugging", nullptr, nullptr, "-fjmc", true, 0, CodeGenOpts.JMCInstrument, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_jmc), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5830
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5831
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5832
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-jmc"), fno_jmc, Flag, f_Group, INVALID, nullptr, 0, 0,
5833
       "", nullptr, nullptr, "-fno-jmc", true, 0, CodeGenOpts.JMCInstrument, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fjmc), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5834
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5835
#ifdef LANG_OPTION_WITH_MARSHALLING
5836
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fexperimental-strict-floating-point"), fexperimental_strict_floating_point, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
5837
       "Enables experimental strict floating point in LLVM.", nullptr, nullptr, "-fexperimental-strict-floating-point", true, 0, LangOpts->ExpStrictFP, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5838
#endif // LANG_OPTION_WITH_MARSHALLING
5839
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5840
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("finstrument-functions"), finstrument_functions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5841
       "Generate calls to instrument function entry and exit", nullptr, nullptr, "-finstrument-functions", true, 0, CodeGenOpts.InstrumentFunctions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5842
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5843
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5844
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("finstrument-functions-after-inlining"), finstrument_functions_after_inlining, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5845
       "Like -finstrument-functions, but insert the calls after inlining", nullptr, nullptr, "-finstrument-functions-after-inlining", true, 0, CodeGenOpts.InstrumentFunctionsAfterInlining, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5846
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5847
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5848
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("finstrument-function-entry-bare"), finstrument_function_entry_bare, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5849
       "Instrument function entry only, after inlining, without arguments to the instrumentation call", nullptr, nullptr, "-finstrument-function-entry-bare", true, 0, CodeGenOpts.InstrumentFunctionEntryBare, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5850
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5851
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5852
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mfunction-return="), mfunction_return_EQ, Joined, m_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
5853
       "Replace returns with jumps to ``__x86_return_thunk`` (x86 only, error otherwise)", nullptr, "keep,thunk-extern", "-mfunction-return=", true, 0, CodeGenOpts.FunctionReturnThunks, llvm::FunctionReturnThunksKind::Keep, false, llvm::FunctionReturnThunksKind::Keep, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 12)
5854
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5855
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5856
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mindirect-branch-cs-prefix"), mindirect_branch_cs_prefix, Flag, m_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
5857
       "Add cs prefix to call and jmp to indirect thunk", nullptr, nullptr, "-mindirect-branch-cs-prefix", true, 0, CodeGenOpts.IndirectBranchCSPrefix, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5858
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5859
#ifdef LANG_OPTION_WITH_MARSHALLING
5860
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fxray-instrument"), fxray_instrument, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5861
       "Generate XRay instrumentation sleds on function entry and exit", nullptr, nullptr, "-fxray-instrument", true, 0, LangOpts->XRayInstrument, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_xray_instrument), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5862
#endif // LANG_OPTION_WITH_MARSHALLING
5863
#ifdef LANG_OPTION_WITH_MARSHALLING
5864
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-xray-instrument"), fno_xray_instrument, Flag, f_Group, INVALID, nullptr, 0, 0,
5865
       "", nullptr, nullptr, "-fno-xray-instrument", true, 0, LangOpts->XRayInstrument, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fxray_instrument), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5866
#endif // LANG_OPTION_WITH_MARSHALLING
5867
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5868
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fxray-instruction-threshold="), fxray_instruction_threshold_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5869
       "Sets the minimum function size to instrument with XRay", nullptr, nullptr, "-fxray-instruction-threshold=", true, 0, CodeGenOpts.XRayInstructionThreshold, 200, false, 200, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
5870
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5871
#ifdef LANG_OPTION_WITH_MARSHALLING
5872
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fxray-always-instrument="), fxray_always_instrument, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5873
       "DEPRECATED: Filename defining the whitelist for imbuing the 'always instrument' XRay attribute.", nullptr, nullptr, "-fxray-always-instrument=", true, 0, LangOpts->XRayAlwaysInstrumentFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
5874
#endif // LANG_OPTION_WITH_MARSHALLING
5875
#ifdef LANG_OPTION_WITH_MARSHALLING
5876
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fxray-never-instrument="), fxray_never_instrument, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5877
       "DEPRECATED: Filename defining the whitelist for imbuing the 'never instrument' XRay attribute.", nullptr, nullptr, "-fxray-never-instrument=", true, 0, LangOpts->XRayNeverInstrumentFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
5878
#endif // LANG_OPTION_WITH_MARSHALLING
5879
#ifdef LANG_OPTION_WITH_MARSHALLING
5880
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fxray-attr-list="), fxray_attr_list, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5881
       "Filename defining the list of functions/types for imbuing XRay attributes.", nullptr, nullptr, "-fxray-attr-list=", true, 0, LangOpts->XRayAttrListFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
5882
#endif // LANG_OPTION_WITH_MARSHALLING
5883
#ifdef LANG_OPTION_WITH_MARSHALLING
5884
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fxray-always-emit-customevents"), fxray_always_emit_customevents, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5885
       "Always emit __xray_customevent(...) calls even if the containing function is not always instrumented", nullptr, nullptr, "-fxray-always-emit-customevents", true, 0, LangOpts->XRayAlwaysEmitCustomEvents, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_xray_always_emit_customevents), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5886
#endif // LANG_OPTION_WITH_MARSHALLING
5887
#ifdef LANG_OPTION_WITH_MARSHALLING
5888
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-xray-always-emit-customevents"), fno_xray_always_emit_customevents, Flag, f_Group, INVALID, nullptr, 0, 0,
5889
       "", nullptr, nullptr, "-fno-xray-always-emit-customevents", true, 0, LangOpts->XRayAlwaysEmitCustomEvents, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fxray_always_emit_customevents), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5890
#endif // LANG_OPTION_WITH_MARSHALLING
5891
#ifdef LANG_OPTION_WITH_MARSHALLING
5892
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fxray-always-emit-typedevents"), fxray_always_emit_typedevents, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5893
       "Always emit __xray_typedevent(...) calls even if the containing function is not always instrumented", nullptr, nullptr, "-fxray-always-emit-typedevents", true, 0, LangOpts->XRayAlwaysEmitTypedEvents, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_xray_always_emit_typedevents), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5894
#endif // LANG_OPTION_WITH_MARSHALLING
5895
#ifdef LANG_OPTION_WITH_MARSHALLING
5896
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-xray-always-emit-typedevents"), fno_xray_always_emit_typedevents, Flag, f_Group, INVALID, nullptr, 0, 0,
5897
       "", nullptr, nullptr, "-fno-xray-always-emit-typedevents", true, 0, LangOpts->XRayAlwaysEmitTypedEvents, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fxray_always_emit_typedevents), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5898
#endif // LANG_OPTION_WITH_MARSHALLING
5899
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5900
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fxray-ignore-loops"), fxray_ignore_loops, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5901
       "Don't instrument functions with loops unless they also meet the minimum function size", nullptr, nullptr, "-fxray-ignore-loops", true, 0, CodeGenOpts.XRayIgnoreLoops, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_xray_ignore_loops), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5902
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5903
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5904
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-xray-ignore-loops"), fno_xray_ignore_loops, Flag, f_Group, INVALID, nullptr, 0, 0,
5905
       "", nullptr, nullptr, "-fno-xray-ignore-loops", true, 0, CodeGenOpts.XRayIgnoreLoops, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fxray_ignore_loops), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5906
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5907
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5908
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-xray-function-index"), fno_xray_function_index, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5909
       "Omit function index section at the expense of single-function patching performance", nullptr, nullptr, "-fno-xray-function-index", true, 0, CodeGenOpts.XRayOmitFunctionIndex, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fxray_function_index), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5910
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5911
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5912
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fxray-function-index"), fxray_function_index, Flag, f_Group, INVALID, nullptr, 0, 0,
5913
       "", nullptr, nullptr, "-fxray-function-index", true, 0, CodeGenOpts.XRayOmitFunctionIndex, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_xray_function_index), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5914
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5915
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5916
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fxray-function-groups="), fxray_function_groups, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5917
       "Only instrument 1 of N groups", nullptr, nullptr, "-fxray-function-groups=", true, 0, CodeGenOpts.XRayTotalFunctionGroups, 1, false, 1, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
5918
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5919
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5920
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fxray-selected-function-group="), fxray_selected_function_group, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5921
       "When using -fxray-function-groups, select which group of functions to instrument. Valid range is 0 to fxray-function-groups - 1", nullptr, nullptr, "-fxray-selected-function-group=", true, 0, CodeGenOpts.XRaySelectedFunctionGroup, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
5922
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5923
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5924
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ffine-grained-bitfield-accesses"), ffine_grained_bitfield_accesses, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
5925
       "Use separate accesses for consecutive bitfield runs with legal widths and alignments.", nullptr, nullptr, "-ffine-grained-bitfield-accesses", true, 0, CodeGenOpts.FineGrainedBitfieldAccesses, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_fine_grained_bitfield_accesses), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5926
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5927
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5928
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-fine-grained-bitfield-accesses"), fno_fine_grained_bitfield_accesses, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
5929
       "Use large-integer access for consecutive bitfield runs.", nullptr, nullptr, "-fno-fine-grained-bitfield-accesses", true, 0, CodeGenOpts.FineGrainedBitfieldAccesses, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_ffine_grained_bitfield_accesses), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5930
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5931
#ifdef LANG_OPTION_WITH_MARSHALLING
5932
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("flax-vector-conversions="), flax_vector_conversions_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5933
       "Enable implicit vector bit-casts", nullptr, "none,integer,all", "-flax-vector-conversions=", true, 0, LangOpts->LaxVectorConversions, LangOpts->OpenCL ? LangOptions::LaxVectorConversionKind::None : LangOptions::LaxVectorConversionKind::All, false, LangOpts->OpenCL ? LangOptions::LaxVectorConversionKind::None : LangOptions::LaxVectorConversionKind::All, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 13)
5934
#endif // LANG_OPTION_WITH_MARSHALLING
5935
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5936
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fthin-link-bitcode="), fthin_link_bitcode_EQ, Joined, f_Group, INVALID, nullptr, CoreOption | CC1Option, 0,
5937
       "Write minimized bitcode to <file> for the ThinLTO thin link only", nullptr, nullptr, "-fthin-link-bitcode=", true, 0, CodeGenOpts.ThinLinkBitcodeFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5938
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5939
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5940
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmerge-all-constants"), fmerge_all_constants, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5941
       "Allow merging of constants", nullptr, nullptr, "-fmerge-all-constants", true, 0, CodeGenOpts.MergeAllConstants, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_merge_all_constants), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5942
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5943
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
5944
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-merge-all-constants"), fno_merge_all_constants, Flag, f_Group, INVALID, nullptr, 0, 0,
5945
       "Disallow merging of constants", nullptr, nullptr, "-fno-merge-all-constants", true, 0, CodeGenOpts.MergeAllConstants, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmerge_all_constants), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5946
#endif // CODEGEN_OPTION_WITH_MARSHALLING
5947
#ifdef DIAG_OPTION_WITH_MARSHALLING
5948
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmessage-length="), fmessage_length_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
5949
       "Format message diagnostics so that they fit within N columns", nullptr, nullptr, "-fmessage-length=", true, 0, DiagnosticOpts->MessageLength, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
5950
#endif // DIAG_OPTION_WITH_MARSHALLING
5951
#ifdef LANG_OPTION_WITH_MARSHALLING
5952
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fms-compatibility"), fms_compatibility, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5953
       "Enable full Microsoft Visual C++ compatibility", nullptr, nullptr, "-fms-compatibility", true, 0, LangOpts->MSVCCompat, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5954
#endif // LANG_OPTION_WITH_MARSHALLING
5955
#ifdef LANG_OPTION_WITH_MARSHALLING
5956
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fms-extensions"), fms_extensions, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5957
       "Accept some non-standard constructs supported by the Microsoft compiler", nullptr, nullptr, "-fms-extensions", true, 0, LangOpts->MicrosoftExt, false, false || LangOpts->MSVCCompat, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5958
#endif // LANG_OPTION_WITH_MARSHALLING
5959
#ifdef LANG_OPTION_WITH_MARSHALLING
5960
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fasm-blocks"), fasm_blocks, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
5961
       "", nullptr, nullptr, "-fasm-blocks", true, 0, LangOpts->AsmBlocks, LangOpts->MicrosoftExt, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_asm_blocks), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5962
#endif // LANG_OPTION_WITH_MARSHALLING
5963
#ifdef LANG_OPTION_WITH_MARSHALLING
5964
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-asm-blocks"), fno_asm_blocks, Flag, f_Group, INVALID, nullptr, 0, 0,
5965
       "", nullptr, nullptr, "-fno-asm-blocks", true, 0, LangOpts->AsmBlocks, LangOpts->MicrosoftExt, false, false, makeBooleanOptionNormalizer(false, true, OPT_fasm_blocks), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5966
#endif // LANG_OPTION_WITH_MARSHALLING
5967
#ifdef LANG_OPTION_WITH_MARSHALLING
5968
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fms-volatile"), fms_volatile, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "-fms-volatile", true, 0, LangOpts->MSVolatile, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5969
#endif // LANG_OPTION_WITH_MARSHALLING
5970
#ifdef LANG_OPTION_WITH_MARSHALLING
5971
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdelayed-template-parsing"), fdelayed_template_parsing, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
5972
       "Parse templated function definitions at the end of the translation unit", nullptr, nullptr, "-fdelayed-template-parsing", true, 0, LangOpts->DelayedTemplateParsing, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_delayed_template_parsing), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5973
#endif // LANG_OPTION_WITH_MARSHALLING
5974
#ifdef LANG_OPTION_WITH_MARSHALLING
5975
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-delayed-template-parsing"), fno_delayed_template_parsing, Flag, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
5976
       "Disable delayed template parsing", nullptr, nullptr, "-fno-delayed-template-parsing", true, 0, LangOpts->DelayedTemplateParsing, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdelayed_template_parsing), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5977
#endif // LANG_OPTION_WITH_MARSHALLING
5978
#ifdef LANG_OPTION_WITH_MARSHALLING
5979
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fms-memptr-rep="), fms_memptr_rep_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, "single,multiple,virtual", "-fms-memptr-rep=", true, 0, LangOpts->MSPointerToMemberRepresentationMethod, LangOptions::PPTMK_BestCase, false, LangOptions::PPTMK_BestCase, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 14)
5980
#endif // LANG_OPTION_WITH_MARSHALLING
5981
#ifdef LANG_OPTION_WITH_MARSHALLING
5982
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fms-kernel"), fms_kernel, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr, "-fms-kernel", true, 0, LangOpts->Kernel, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
5983
#endif // LANG_OPTION_WITH_MARSHALLING
5984
#ifdef LANG_OPTION_WITH_MARSHALLING
5985
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdeclspec"), fdeclspec, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
5986
       "Allow __declspec as a keyword", nullptr, nullptr, "-fdeclspec", true, 0, LangOpts->DeclSpecKeyword, false, false || LangOpts->MicrosoftExt || LangOpts->Borland || LangOpts->CUDA, true, makeBooleanOptionNormalizer(true, false, OPT_fno_declspec), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5987
#endif // LANG_OPTION_WITH_MARSHALLING
5988
#ifdef LANG_OPTION_WITH_MARSHALLING
5989
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-declspec"), fno_declspec, Flag, f_clang_Group, INVALID, nullptr, CC1Option, 0,
5990
       "Disallow __declspec as a keyword", nullptr, nullptr, "-fno-declspec", true, 0, LangOpts->DeclSpecKeyword, false, false || LangOpts->MicrosoftExt || LangOpts->Borland || LangOpts->CUDA, true, makeBooleanOptionNormalizer(false, true, OPT_fdeclspec), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
5991
#endif // LANG_OPTION_WITH_MARSHALLING
5992
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
5993
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-user-build-path"), fmodules_user_build_path, Separate, i_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
5994
       "Specify the module user build path", "<directory>", nullptr, "-fmodules-user-build-path", true, 0, HeaderSearchOpts->ModuleUserBuildPath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
5995
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
5996
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
5997
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprebuilt-implicit-modules"), fprebuilt_implicit_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
5998
       "Look up implicit modules in the prebuilt module path", nullptr, nullptr, "-fprebuilt-implicit-modules", true, 0, HeaderSearchOpts->EnablePrebuiltImplicitModules, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_prebuilt_implicit_modules), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
5999
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6000
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
6001
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-prebuilt-implicit-modules"), fno_prebuilt_implicit_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
6002
       "", nullptr, nullptr, "-fno-prebuilt-implicit-modules", true, 0, HeaderSearchOpts->EnablePrebuiltImplicitModules, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fprebuilt_implicit_modules), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6003
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6004
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
6005
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-prune-interval="), fmodules_prune_interval, Joined, i_Group, INVALID, nullptr, CC1Option, 0,
6006
       "Specify the interval (in seconds) between attempts to prune the module cache", "<seconds>", nullptr, "-fmodules-prune-interval=", true, 0, HeaderSearchOpts->ModuleCachePruneInterval, 7 * 24 * 60 * 60, false, 7 * 24 * 60 * 60, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6007
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6008
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
6009
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-prune-after="), fmodules_prune_after, Joined, i_Group, INVALID, nullptr, CC1Option, 0,
6010
       "Specify the interval (in seconds) after which a module file will be considered unused", "<seconds>", nullptr, "-fmodules-prune-after=", true, 0, HeaderSearchOpts->ModuleCachePruneAfter, 31 * 24 * 60 * 60, false, 31 * 24 * 60 * 60, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6011
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6012
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
6013
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fbuild-session-timestamp="), fbuild_session_timestamp, Joined, i_Group, INVALID, nullptr, CC1Option, 0,
6014
       "Time when the current build session started", "<time since Epoch in seconds>", nullptr, "-fbuild-session-timestamp=", true, 0, HeaderSearchOpts->BuildSessionTimestamp, 0, false, 0, normalizeStringIntegral<uint64_t>, denormalizeString<uint64_t>, mergeForwardValue, extractForwardValue, -1)
6015
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6016
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
6017
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-validate-once-per-build-session"), fmodules_validate_once_per_build_session, Flag, i_Group, INVALID, nullptr, CC1Option, 0,
6018
       "Don't verify input files for the modules if the module has been successfully validated or loaded during this build session", nullptr, nullptr, "-fmodules-validate-once-per-build-session", true, 0, HeaderSearchOpts->ModulesValidateOncePerBuildSession, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6019
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6020
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
6021
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-disable-diagnostic-validation"), fmodules_disable_diagnostic_validation, Flag, i_Group, INVALID, nullptr, CC1Option, 0,
6022
       "Disable validation of the diagnostic options when loading the module", nullptr, nullptr, "-fmodules-disable-diagnostic-validation", true, 0, HeaderSearchOpts->ModulesValidateDiagnosticOptions, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6023
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6024
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
6025
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-validate-system-headers"), fmodules_validate_system_headers, Flag, i_Group, INVALID, nullptr, CC1Option, 0,
6026
       "Validate the system headers that a module depends on when loading the module", nullptr, nullptr, "-fmodules-validate-system-headers", true, 0, HeaderSearchOpts->ModulesValidateSystemHeaders, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_modules_validate_system_headers), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6027
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6028
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
6029
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-modules-validate-system-headers"), fno_modules_validate_system_headers, Flag, i_Group, INVALID, nullptr, NoXarchOption, 0,
6030
       "", nullptr, nullptr, "-fno-modules-validate-system-headers", true, 0, HeaderSearchOpts->ModulesValidateSystemHeaders, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmodules_validate_system_headers), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6031
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6032
#ifdef LANG_OPTION_WITH_MARSHALLING
6033
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-modules-validate-textual-header-includes"), fno_modules_validate_textual_header_includes, Flag, f_Group, INVALID, nullptr, CC1Option | NoXarchOption, 0,
6034
       "Do not enforce -fmodules-decluse and private header restrictions for textual headers. This flag will be removed in a future Clang release.", nullptr, nullptr, "-fno-modules-validate-textual-header-includes", true, 0, LangOpts->ModulesValidateTextualHeaderIncludes, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6035
#endif // LANG_OPTION_WITH_MARSHALLING
6036
#ifdef LANG_OPTION_WITH_MARSHALLING
6037
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fincremental-extensions"), fincremental_extensions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6038
       "Enable incremental processing extensions such as processingstatements on the global scope.", nullptr, nullptr, "-fincremental-extensions", true, 0, LangOpts->IncrementalExtensions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6039
#endif // LANG_OPTION_WITH_MARSHALLING
6040
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
6041
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fvalidate-ast-input-files-content"), fvalidate_ast_input_files_content, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6042
       "Compute and store the hash of input files used to build an AST. Files with mismatching mtime's are considered valid if both contents is identical", nullptr, nullptr, "-fvalidate-ast-input-files-content", true, 0, HeaderSearchOpts->ValidateASTInputFilesContent, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6043
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6044
#ifdef LANG_OPTION_WITH_MARSHALLING
6045
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fpch-instantiate-templates"), fpch_instantiate_templates, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6046
       "Instantiate templates already while building a PCH", nullptr, nullptr, "-fpch-instantiate-templates", true, 0, LangOpts->PCHInstantiateTemplates, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_pch_instantiate_templates), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6047
#endif // LANG_OPTION_WITH_MARSHALLING
6048
#ifdef LANG_OPTION_WITH_MARSHALLING
6049
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-pch-instantiate-templates"), fno_pch_instantiate_templates, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6050
       "", nullptr, nullptr, "-fno-pch-instantiate-templates", true, 0, LangOpts->PCHInstantiateTemplates, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fpch_instantiate_templates), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6051
#endif // LANG_OPTION_WITH_MARSHALLING
6052
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
6053
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fimplicit-module-maps"), fimplicit_module_maps, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
6054
       "Implicitly search the file system for module map files.", nullptr, nullptr, "-fimplicit-module-maps", true, 0, HeaderSearchOpts->ImplicitModuleMaps, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6055
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6056
#ifdef LANG_OPTION_WITH_MARSHALLING
6057
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-ts"), fmodules_ts, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6058
       "Enable support for the C++ Modules TS", nullptr, nullptr, "-fmodules-ts", true, 0, LangOpts->ModulesTS, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6059
#endif // LANG_OPTION_WITH_MARSHALLING
6060
#ifdef LANG_OPTION_WITH_MARSHALLING
6061
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules"), fmodules, Flag, f_Group, INVALID, nullptr, CC1Option | NoXarchOption | CoreOption, 0,
6062
       "Enable the 'modules' language feature", nullptr, nullptr, "-fmodules", true, 0, LangOpts->Modules, LangOpts->ModulesTS||LangOpts->CPlusPlusModules, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_modules), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6063
#endif // LANG_OPTION_WITH_MARSHALLING
6064
#ifdef LANG_OPTION_WITH_MARSHALLING
6065
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-modules"), fno_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
6066
       "", nullptr, nullptr, "-fno-modules", true, 0, LangOpts->Modules, LangOpts->ModulesTS||LangOpts->CPlusPlusModules, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmodules), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6067
#endif // LANG_OPTION_WITH_MARSHALLING
6068
#ifdef LANG_OPTION_WITH_MARSHALLING
6069
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodule-name="), fmodule_name_EQ, Joined, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
6070
       "Specify the name of the module to build", "<name>", nullptr, "-fmodule-name=", true, 0, LangOpts->ModuleName, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
6071
#endif // LANG_OPTION_WITH_MARSHALLING
6072
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
6073
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsystem-module"), fsystem_module, Flag, INVALID, INVALID, nullptr, CC1Option | CoreOption, 0,
6074
       "Build this module as a system module. Only used with -emit-module", nullptr, nullptr, "-fsystem-module", true, 0, FrontendOpts.IsSystemModule, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6075
#endif // FRONTEND_OPTION_WITH_MARSHALLING
6076
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
6077
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodule-map-file="), fmodule_map_file, Joined, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
6078
       "Load this module map file", "<file>", nullptr, "-fmodule-map-file=", true, 0, FrontendOpts.ModuleMapFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
6079
#endif // FRONTEND_OPTION_WITH_MARSHALLING
6080
#ifdef LANG_OPTION_WITH_MARSHALLING
6081
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-strict-decluse"), fmodules_strict_decluse, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
6082
       "Like -fmodules-decluse but requires all headers to be in modules", nullptr, nullptr, "-fmodules-strict-decluse", true, 0, LangOpts->ModulesStrictDeclUse, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6083
#endif // LANG_OPTION_WITH_MARSHALLING
6084
#ifdef LANG_OPTION_WITH_MARSHALLING
6085
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-decluse"), fmodules_decluse, Flag, f_Group, INVALID, nullptr, CC1Option | NoXarchOption | CoreOption, 0,
6086
       "Require declaration of modules used within a module", nullptr, nullptr, "-fmodules-decluse", true, 0, LangOpts->ModulesDeclUse, LangOpts->ModulesStrictDeclUse, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_modules_decluse), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6087
#endif // LANG_OPTION_WITH_MARSHALLING
6088
#ifdef LANG_OPTION_WITH_MARSHALLING
6089
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-modules-decluse"), fno_modules_decluse, Flag, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
6090
       "", nullptr, nullptr, "-fno-modules-decluse", true, 0, LangOpts->ModulesDeclUse, LangOpts->ModulesStrictDeclUse, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmodules_decluse), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6091
#endif // LANG_OPTION_WITH_MARSHALLING
6092
#ifdef LANG_OPTION_WITH_MARSHALLING
6093
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-search-all"), fmodules_search_all, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
6094
       "Search even non-imported modules to resolve references", nullptr, nullptr, "-fmodules-search-all", LangOpts->Modules, 0, LangOpts->ModulesSearchAll, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_modules_search_all), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6095
#endif // LANG_OPTION_WITH_MARSHALLING
6096
#ifdef LANG_OPTION_WITH_MARSHALLING
6097
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-modules-search-all"), fno_modules_search_all, Flag, f_Group, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption, 0,
6098
       "", nullptr, nullptr, "-fno-modules-search-all", LangOpts->Modules, 0, LangOpts->ModulesSearchAll, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fmodules_search_all), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6099
#endif // LANG_OPTION_WITH_MARSHALLING
6100
#ifdef LANG_OPTION_WITH_MARSHALLING
6101
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-implicit-modules"), fno_implicit_modules, Flag, f_Group, INVALID, nullptr, CC1Option | NoXarchOption | CoreOption, 0,
6102
       "", nullptr, nullptr, "-fno-implicit-modules", true, 0, LangOpts->ImplicitModules, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fimplicit_modules), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6103
#endif // LANG_OPTION_WITH_MARSHALLING
6104
#ifdef LANG_OPTION_WITH_MARSHALLING
6105
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fimplicit-modules"), fimplicit_modules, Flag, f_Group, INVALID, nullptr, NoXarchOption | CoreOption, 0,
6106
       "", nullptr, nullptr, "-fimplicit-modules", true, 0, LangOpts->ImplicitModules, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_implicit_modules), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6107
#endif // LANG_OPTION_WITH_MARSHALLING
6108
#ifdef LANG_OPTION_WITH_MARSHALLING
6109
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fretain-comments-from-system-headers"), fretain_comments_from_system_headers, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "-fretain-comments-from-system-headers", true, 0, LangOpts->RetainCommentsFromSystemHeaders, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6110
#endif // LANG_OPTION_WITH_MARSHALLING
6111
#ifdef LANG_OPTION_WITH_MARSHALLING
6112
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-knr-functions"), fno_knr_functions, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6113
       "Disable support for K&R C function declarations", nullptr, nullptr, "-fno-knr-functions", true, 0, LangOpts->DisableKNRFunctions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6114
#endif // LANG_OPTION_WITH_MARSHALLING
6115
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6116
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-assume-sane-operator-new"), fno_assume_sane_operator_new, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6117
       "Don't assume that C++'s global operator new can't alias any pointer", nullptr, nullptr, "-fno-assume-sane-operator-new", true, 0, CodeGenOpts.AssumeSaneOperatorNew, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6118
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6119
#ifdef LANG_OPTION_WITH_MARSHALLING
6120
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdigraphs"), fdigraphs, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6121
       "Enable alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:' (default)", nullptr, nullptr, "-fdigraphs", true, 0, LangOpts->Digraphs, LangStandard::getLangStandardForKind(LangOpts->LangStd).hasDigraphs(), false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_digraphs), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6122
#endif // LANG_OPTION_WITH_MARSHALLING
6123
#ifdef LANG_OPTION_WITH_MARSHALLING
6124
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-digraphs"), fno_digraphs, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6125
       "Disallow alternative token representations '<:', ':>', '<%', '%>', '%:', '%:%:'", nullptr, nullptr, "-fno-digraphs", true, 0, LangOpts->Digraphs, LangStandard::getLangStandardForKind(LangOpts->LangStd).hasDigraphs(), false, false, makeBooleanOptionNormalizer(false, true, OPT_fdigraphs), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6126
#endif // LANG_OPTION_WITH_MARSHALLING
6127
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6128
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fveclib="), fveclib, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6129
       "Use the given vector functions library", nullptr, "Accelerate,libmvec,MASSV,SVML,SLEEF,Darwin_libsystem_m,none", "-fveclib=", true, 0, CodeGenOpts.VecLib, CodeGenOptions::NoLibrary, false, CodeGenOptions::NoLibrary, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 15)
6130
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6131
#ifdef LANG_OPTION_WITH_MARSHALLING
6132
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-operator-names"), fno_operator_names, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6133
       "Do not treat C++ operator name keywords as synonyms for operators", nullptr, nullptr, "-fno-operator-names", true, 0, LangOpts->CXXOperatorNames, LangOpts->CPlusPlus, false, true, makeBooleanOptionNormalizer(false, true, OPT_foperator_names), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6134
#endif // LANG_OPTION_WITH_MARSHALLING
6135
#ifdef LANG_OPTION_WITH_MARSHALLING
6136
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("foperator-names"), foperator_names, Flag, f_Group, INVALID, nullptr, 0, 0,
6137
       "", nullptr, nullptr, "-foperator-names", true, 0, LangOpts->CXXOperatorNames, LangOpts->CPlusPlus, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_operator_names), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6138
#endif // LANG_OPTION_WITH_MARSHALLING
6139
#ifdef DIAG_OPTION_WITH_MARSHALLING
6140
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdiagnostics-absolute-paths"), fdiagnostics_absolute_paths, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6141
       "Print absolute paths in diagnostics", nullptr, nullptr, "-fdiagnostics-absolute-paths", true, 0, DiagnosticOpts->AbsolutePath, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6142
#endif // DIAG_OPTION_WITH_MARSHALLING
6143
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
6144
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-temp-file"), fno_temp_file, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6145
       "Directly create compilation output files. This may lead to incorrect incremental builds if the compiler crashes", nullptr, nullptr, "-fno-temp-file", true, 0, FrontendOpts.UseTemporary, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6146
#endif // FRONTEND_OPTION_WITH_MARSHALLING
6147
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6148
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-use-cxa-atexit"), fno_use_cxa_atexit, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6149
       "Don't use __cxa_atexit for calling destructors", nullptr, nullptr, "-fno-use-cxa-atexit", true, 0, CodeGenOpts.CXAAtExit, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fuse_cxa_atexit), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6150
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6151
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6152
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fuse-cxa-atexit"), fuse_cxa_atexit, Flag, f_Group, INVALID, nullptr, 0, 0,
6153
       "", nullptr, nullptr, "-fuse-cxa-atexit", true, 0, CodeGenOpts.CXAAtExit, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_use_cxa_atexit), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6154
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6155
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6156
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-verbose-asm"), fno_verbose_asm, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "-fno-verbose-asm", true, 0, CodeGenOpts.AsmVerbose, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6157
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6158
#ifdef LANG_OPTION_WITH_MARSHALLING
6159
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fobjc-encode-cxx-class-template-spec"), fobjc_encode_cxx_class_template_spec, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6160
       "Fully encode c++ class template specialization", nullptr, nullptr, "-fobjc-encode-cxx-class-template-spec", true, 0, LangOpts->EncodeCXXClassTemplateSpec, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_objc_encode_cxx_class_template_spec), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6161
#endif // LANG_OPTION_WITH_MARSHALLING
6162
#ifdef LANG_OPTION_WITH_MARSHALLING
6163
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-objc-encode-cxx-class-template-spec"), fno_objc_encode_cxx_class_template_spec, Flag, f_Group, INVALID, nullptr, 0, 0,
6164
       "", nullptr, nullptr, "-fno-objc-encode-cxx-class-template-spec", true, 0, LangOpts->EncodeCXXClassTemplateSpec, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fobjc_encode_cxx_class_template_spec), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6165
#endif // LANG_OPTION_WITH_MARSHALLING
6166
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6167
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-objc-convert-messages-to-runtime-calls"), fno_objc_convert_messages_to_runtime_calls, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6168
       "", nullptr, nullptr, "-fno-objc-convert-messages-to-runtime-calls", true, 0, CodeGenOpts.ObjCConvertMessagesToRuntimeCalls, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fobjc_convert_messages_to_runtime_calls), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6169
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6170
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6171
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fobjc-convert-messages-to-runtime-calls"), fobjc_convert_messages_to_runtime_calls, Flag, f_Group, INVALID, nullptr, 0, 0,
6172
       "", nullptr, nullptr, "-fobjc-convert-messages-to-runtime-calls", true, 0, CodeGenOpts.ObjCConvertMessagesToRuntimeCalls, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_objc_convert_messages_to_runtime_calls), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6173
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6174
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6175
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fobjc-arc-exceptions"), fobjc_arc_exceptions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6176
       "Use EH-safe code when synthesizing retains and releases in -fobjc-arc", nullptr, nullptr, "-fobjc-arc-exceptions", true, 0, CodeGenOpts.ObjCAutoRefCountExceptions, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_objc_arc_exceptions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6177
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6178
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6179
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-objc-arc-exceptions"), fno_objc_arc_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
6180
       "", nullptr, nullptr, "-fno-objc-arc-exceptions", true, 0, CodeGenOpts.ObjCAutoRefCountExceptions, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fobjc_arc_exceptions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6181
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6182
#ifdef LANG_OPTION_WITH_MARSHALLING
6183
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fobjc-exceptions"), fobjc_exceptions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6184
       "Enable Objective-C exceptions", nullptr, nullptr, "-fobjc-exceptions", true, 0, LangOpts->ObjCExceptions, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_objc_exceptions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6185
#endif // LANG_OPTION_WITH_MARSHALLING
6186
#ifdef LANG_OPTION_WITH_MARSHALLING
6187
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-objc-exceptions"), fno_objc_exceptions, Flag, f_Group, INVALID, nullptr, 0, 0,
6188
       "", nullptr, nullptr, "-fno-objc-exceptions", true, 0, LangOpts->ObjCExceptions, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fobjc_exceptions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6189
#endif // LANG_OPTION_WITH_MARSHALLING
6190
#ifdef LANG_OPTION_WITH_MARSHALLING
6191
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fapplication-extension"), fapplication_extension, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6192
       "Restrict code to those available for App Extensions", nullptr, nullptr, "-fapplication-extension", true, 0, LangOpts->AppExt, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_application_extension), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6193
#endif // LANG_OPTION_WITH_MARSHALLING
6194
#ifdef LANG_OPTION_WITH_MARSHALLING
6195
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-application-extension"), fno_application_extension, Flag, f_Group, INVALID, nullptr, 0, 0,
6196
       "", nullptr, nullptr, "-fno-application-extension", true, 0, LangOpts->AppExt, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fapplication_extension), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6197
#endif // LANG_OPTION_WITH_MARSHALLING
6198
#ifdef LANG_OPTION_WITH_MARSHALLING
6199
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("frelaxed-template-template-args"), frelaxed_template_template_args, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6200
       "Enable C++17 relaxed template template argument matching", nullptr, nullptr, "-frelaxed-template-template-args", true, 0, LangOpts->RelaxedTemplateTemplateArgs, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_relaxed_template_template_args), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6201
#endif // LANG_OPTION_WITH_MARSHALLING
6202
#ifdef LANG_OPTION_WITH_MARSHALLING
6203
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-relaxed-template-template-args"), fno_relaxed_template_template_args, Flag, f_Group, INVALID, nullptr, 0, 0,
6204
       "", nullptr, nullptr, "-fno-relaxed-template-template-args", true, 0, LangOpts->RelaxedTemplateTemplateArgs, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_frelaxed_template_template_args), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6205
#endif // LANG_OPTION_WITH_MARSHALLING
6206
#ifdef LANG_OPTION_WITH_MARSHALLING
6207
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsized-deallocation"), fsized_deallocation, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6208
       "Enable C++14 sized global deallocation functions", nullptr, nullptr, "-fsized-deallocation", true, 0, LangOpts->SizedDeallocation, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_sized_deallocation), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6209
#endif // LANG_OPTION_WITH_MARSHALLING
6210
#ifdef LANG_OPTION_WITH_MARSHALLING
6211
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-sized-deallocation"), fno_sized_deallocation, Flag, f_Group, INVALID, nullptr, 0, 0,
6212
       "", nullptr, nullptr, "-fno-sized-deallocation", true, 0, LangOpts->SizedDeallocation, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsized_deallocation), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6213
#endif // LANG_OPTION_WITH_MARSHALLING
6214
#ifdef LANG_OPTION_WITH_MARSHALLING
6215
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("faligned-allocation"), faligned_allocation, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6216
       "Enable C++17 aligned allocation functions", nullptr, nullptr, "-faligned-allocation", true, 0, LangOpts->AlignedAllocation, LangOpts->CPlusPlus17, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_aligned_allocation), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6217
#endif // LANG_OPTION_WITH_MARSHALLING
6218
#ifdef LANG_OPTION_WITH_MARSHALLING
6219
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-aligned-allocation"), fno_aligned_allocation, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6220
       "", nullptr, nullptr, "-fno-aligned-allocation", true, 0, LangOpts->AlignedAllocation, LangOpts->CPlusPlus17, false, false, makeBooleanOptionNormalizer(false, true, OPT_faligned_allocation), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6221
#endif // LANG_OPTION_WITH_MARSHALLING
6222
#ifdef LANG_OPTION_WITH_MARSHALLING
6223
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fnew-alignment="), fnew_alignment_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6224
       "Specifies the largest alignment guaranteed by '::operator new(size_t)'", "<align>", nullptr, "-fnew-alignment=", true, 0, LangOpts->NewAlignOverride, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6225
#endif // LANG_OPTION_WITH_MARSHALLING
6226
#ifdef LANG_OPTION_WITH_MARSHALLING
6227
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-objc-infer-related-result-type"), fno_objc_infer_related_result_type, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6228
       "do not infer Objective-C related result type based on method family", nullptr, nullptr, "-fno-objc-infer-related-result-type", true, 0, LangOpts->ObjCInferRelatedResultType, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fobjc_infer_related_result_type), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6229
#endif // LANG_OPTION_WITH_MARSHALLING
6230
#ifdef LANG_OPTION_WITH_MARSHALLING
6231
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fobjc-infer-related-result-type"), fobjc_infer_related_result_type, Flag, f_Group, INVALID, nullptr, 0, 0,
6232
       "", nullptr, nullptr, "-fobjc-infer-related-result-type", true, 0, LangOpts->ObjCInferRelatedResultType, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_objc_infer_related_result_type), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6233
#endif // LANG_OPTION_WITH_MARSHALLING
6234
#ifdef LANG_OPTION_WITH_MARSHALLING
6235
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fobjc-disable-direct-methods-for-testing"), fobjc_disable_direct_methods_for_testing, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6236
       "Ignore attribute objc_direct so that direct methods can be tested", nullptr, nullptr, "-fobjc-disable-direct-methods-for-testing", true, 0, LangOpts->ObjCDisableDirectMethodsForTesting, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6237
#endif // LANG_OPTION_WITH_MARSHALLING
6238
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6239
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fobjc-avoid-heapify-local-blocks"), fobjc_avoid_heapify_local_blocks, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
6240
       "Try to avoid heapifying local blocks", nullptr, nullptr, "-fobjc-avoid-heapify-local-blocks", true, 0, CodeGenOpts.ObjCAvoidHeapifyLocalBlocks, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_objc_avoid_heapify_local_blocks), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6241
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6242
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6243
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-objc-avoid-heapify-local-blocks"), fno_objc_avoid_heapify_local_blocks, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
6244
       "Don't try to avoid heapifying local blocks", nullptr, nullptr, "-fno-objc-avoid-heapify-local-blocks", true, 0, CodeGenOpts.ObjCAvoidHeapifyLocalBlocks, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fobjc_avoid_heapify_local_blocks), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6245
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6246
#ifdef LANG_OPTION_WITH_MARSHALLING
6247
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fopenmp-extensions"), fopenmp_extensions, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused, 0,
6248
       "Enable all Clang extensions for OpenMP directives and clauses", nullptr, nullptr, "-fopenmp-extensions", true, 0, LangOpts->OpenMPExtensions, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_openmp_extensions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6249
#endif // LANG_OPTION_WITH_MARSHALLING
6250
#ifdef LANG_OPTION_WITH_MARSHALLING
6251
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-openmp-extensions"), fno_openmp_extensions, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused, 0,
6252
       "Disable all Clang extensions for OpenMP directives and clauses", nullptr, nullptr, "-fno-openmp-extensions", true, 0, LangOpts->OpenMPExtensions, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fopenmp_extensions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6253
#endif // LANG_OPTION_WITH_MARSHALLING
6254
#ifdef LANG_OPTION_WITH_MARSHALLING
6255
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fopenmp-assume-no-thread-state"), fopenmp_assume_no_thread_state, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0,
6256
       "Assert no thread in a parallel region modifies an ICV", nullptr, nullptr, "-fopenmp-assume-no-thread-state", true, 0, LangOpts->OpenMPNoThreadState, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6257
#endif // LANG_OPTION_WITH_MARSHALLING
6258
#ifdef LANG_OPTION_WITH_MARSHALLING
6259
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fopenmp-assume-no-nested-parallelism"), fopenmp_assume_no_nested_parallelism, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0,
6260
       "Assert no nested parallel regions in the GPU", nullptr, nullptr, "-fopenmp-assume-no-nested-parallelism", true, 0, LangOpts->OpenMPNoNestedParallelism, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6261
#endif // LANG_OPTION_WITH_MARSHALLING
6262
#ifdef LANG_OPTION_WITH_MARSHALLING
6263
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fopenmp-offload-mandatory"), fopenmp_offload_mandatory, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused, 0,
6264
       "Do not create a host fallback if offloading to the device fails.", nullptr, nullptr, "-fopenmp-offload-mandatory", true, 0, LangOpts->OpenMPOffloadMandatory, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6265
#endif // LANG_OPTION_WITH_MARSHALLING
6266
#ifdef LANG_OPTION_WITH_MARSHALLING
6267
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fopenmp-optimistic-collapse"), fopenmp_optimistic_collapse, Flag, f_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | HelpHidden, 0,
6268
       "", nullptr, nullptr, "-fopenmp-optimistic-collapse", true, 0, LangOpts->OpenMPOptimisticCollapse, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_openmp_optimistic_collapse), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6269
#endif // LANG_OPTION_WITH_MARSHALLING
6270
#ifdef LANG_OPTION_WITH_MARSHALLING
6271
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-openmp-optimistic-collapse"), fno_openmp_optimistic_collapse, Flag, f_Group, INVALID, nullptr, NoArgumentUnused | HelpHidden, 0,
6272
       "", nullptr, nullptr, "-fno-openmp-optimistic-collapse", true, 0, LangOpts->OpenMPOptimisticCollapse, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fopenmp_optimistic_collapse), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6273
#endif // LANG_OPTION_WITH_MARSHALLING
6274
#ifdef LANG_OPTION_WITH_MARSHALLING
6275
LANG_OPTION_WITH_MARSHALLING(prefix_3, llvm::StringLiteral("offload-new-driver"), offload_new_driver, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6276
       "Use the new driver for offloading compilation.", nullptr, nullptr, "--offload-new-driver", true, 0, LangOpts->OffloadingNewDriver, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6277
#endif // LANG_OPTION_WITH_MARSHALLING
6278
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6279
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-optimize-sibling-calls"), fno_optimize_sibling_calls, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6280
       "Disable tail call optimization, keeping the call stack accurate", nullptr, nullptr, "-fno-optimize-sibling-calls", true, 0, CodeGenOpts.DisableTailCalls, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6281
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6282
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6283
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-escaping-block-tail-calls"), fno_escaping_block_tail_calls, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6284
       "", nullptr, nullptr, "-fno-escaping-block-tail-calls", true, 0, CodeGenOpts.NoEscapingBlockTailCalls, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fescaping_block_tail_calls), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6285
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6286
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6287
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fescaping-block-tail-calls"), fescaping_block_tail_calls, Flag, f_Group, INVALID, nullptr, 0, 0,
6288
       "", nullptr, nullptr, "-fescaping-block-tail-calls", true, 0, CodeGenOpts.NoEscapingBlockTailCalls, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_escaping_block_tail_calls), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6289
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6290
#ifdef LANG_OPTION_WITH_MARSHALLING
6291
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fpack-struct="), fpack_struct_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6292
       "Specify the default maximum struct packing alignment", nullptr, nullptr, "-fpack-struct=", true, 0, LangOpts->PackStruct, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6293
#endif // LANG_OPTION_WITH_MARSHALLING
6294
#ifdef LANG_OPTION_WITH_MARSHALLING
6295
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmax-type-align="), fmax_type_align_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6296
       "Specify the maximum alignment to enforce on pointers lacking an explicit alignment", nullptr, nullptr, "-fmax-type-align=", true, 0, LangOpts->MaxTypeAlign, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6297
#endif // LANG_OPTION_WITH_MARSHALLING
6298
#ifdef LANG_OPTION_WITH_MARSHALLING
6299
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fpascal-strings"), fpascal_strings, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6300
       "Recognize and construct Pascal-style string literals", nullptr, nullptr, "-fpascal-strings", true, 0, LangOpts->PascalStrings, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_pascal_strings), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6301
#endif // LANG_OPTION_WITH_MARSHALLING
6302
#ifdef LANG_OPTION_WITH_MARSHALLING
6303
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-pascal-strings"), fno_pascal_strings, Flag, f_Group, INVALID, nullptr, 0, 0,
6304
       "", nullptr, nullptr, "-fno-pascal-strings", true, 0, LangOpts->PascalStrings, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fpascal_strings), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6305
#endif // LANG_OPTION_WITH_MARSHALLING
6306
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6307
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fpatchable-function-entry="), fpatchable_function_entry_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6308
       "Generate M NOPs before function entry and N-M NOPs after function entry", "<N,M>", nullptr, "-fpatchable-function-entry=", true, 0, CodeGenOpts.PatchableFunctionEntryCount, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6309
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6310
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6311
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fms-hotpatch"), fms_hotpatch, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6312
       "Ensure that all functions can be hotpatched at runtime", nullptr, nullptr, "-fms-hotpatch", true, 0, CodeGenOpts.HotPatch, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6313
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6314
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6315
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-plt"), fno_plt, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6316
       "Use GOT indirection instead of PLT to make external function calls (x86 only)", nullptr, nullptr, "-fno-plt", true, 0, CodeGenOpts.NoPLT, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fplt), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6317
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6318
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6319
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fplt"), fplt, Flag, f_Group, INVALID, nullptr, 0, 0,
6320
       "", nullptr, nullptr, "-fplt", true, 0, CodeGenOpts.NoPLT, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_plt), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6321
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6322
#ifdef LANG_OPTION_WITH_MARSHALLING
6323
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fropi"), fropi, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6324
       "Generate read-only position independent code (ARM only)", nullptr, nullptr, "-fropi", true, 0, LangOpts->ROPI, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_ropi), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6325
#endif // LANG_OPTION_WITH_MARSHALLING
6326
#ifdef LANG_OPTION_WITH_MARSHALLING
6327
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-ropi"), fno_ropi, Flag, f_Group, INVALID, nullptr, 0, 0,
6328
       "", nullptr, nullptr, "-fno-ropi", true, 0, LangOpts->ROPI, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fropi), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6329
#endif // LANG_OPTION_WITH_MARSHALLING
6330
#ifdef LANG_OPTION_WITH_MARSHALLING
6331
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("frwpi"), frwpi, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6332
       "Generate read-write position independent code (ARM only)", nullptr, nullptr, "-frwpi", true, 0, LangOpts->RWPI, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_rwpi), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6333
#endif // LANG_OPTION_WITH_MARSHALLING
6334
#ifdef LANG_OPTION_WITH_MARSHALLING
6335
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-rwpi"), fno_rwpi, Flag, f_Group, INVALID, nullptr, 0, 0,
6336
       "", nullptr, nullptr, "-fno-rwpi", true, 0, LangOpts->RWPI, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_frwpi), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6337
#endif // LANG_OPTION_WITH_MARSHALLING
6338
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6339
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fpass-plugin="), fpass_plugin_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | FlangOption | FC1Option, 0,
6340
       "Load pass plugin from a dynamic shared object file (only with new pass manager).", "<dsopath>", nullptr, "-fpass-plugin=", true, 0, CodeGenOpts.PassPlugins, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
6341
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6342
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6343
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-preserve-as-comments"), fno_preserve_as_comments, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6344
       "Do not preserve comments in inline assembly", nullptr, nullptr, "-fno-preserve-as-comments", true, 0, CodeGenOpts.PreserveAsmComments, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fpreserve_as_comments), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6345
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6346
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6347
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fpreserve-as-comments"), fpreserve_as_comments, Flag, f_Group, INVALID, nullptr, 0, 0,
6348
       "", nullptr, nullptr, "-fpreserve-as-comments", true, 0, CodeGenOpts.PreserveAsmComments, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_preserve_as_comments), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6349
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6350
#ifdef LANG_OPTION_WITH_MARSHALLING
6351
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-rtti"), fno_rtti, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6352
       "Disable generation of rtti information", nullptr, nullptr, "-fno-rtti", LangOpts->CPlusPlus, 0, LangOpts->RTTI, LangOpts->CPlusPlus, false, true, makeBooleanOptionNormalizer(false, true, OPT_frtti), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6353
#endif // LANG_OPTION_WITH_MARSHALLING
6354
#ifdef LANG_OPTION_WITH_MARSHALLING
6355
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("frtti"), frtti, Flag, f_Group, INVALID, nullptr, 0, 0,
6356
       "", nullptr, nullptr, "-frtti", LangOpts->CPlusPlus, 0, LangOpts->RTTI, LangOpts->CPlusPlus, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_rtti), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6357
#endif // LANG_OPTION_WITH_MARSHALLING
6358
#ifdef LANG_OPTION_WITH_MARSHALLING
6359
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-rtti-data"), fno_rtti_data, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6360
       "Disable generation of RTTI data", nullptr, nullptr, "-fno-rtti-data", LangOpts->RTTI, 0, LangOpts->RTTIData, LangOpts->RTTI, false, true, makeBooleanOptionNormalizer(false, true, OPT_frtti_data), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6361
#endif // LANG_OPTION_WITH_MARSHALLING
6362
#ifdef LANG_OPTION_WITH_MARSHALLING
6363
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("frtti-data"), frtti_data, Flag, f_Group, INVALID, nullptr, 0, 0,
6364
       "", nullptr, nullptr, "-frtti-data", LangOpts->RTTI, 0, LangOpts->RTTIData, LangOpts->RTTI, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_rtti_data), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6365
#endif // LANG_OPTION_WITH_MARSHALLING
6366
#ifdef LANG_OPTION_WITH_MARSHALLING
6367
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fshort-enums"), fshort_enums, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6368
       "Allocate to an enum type only as many bytes as it needs for the declared range of possible values", nullptr, nullptr, "-fshort-enums", true, 0, LangOpts->ShortEnums, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_short_enums), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6369
#endif // LANG_OPTION_WITH_MARSHALLING
6370
#ifdef LANG_OPTION_WITH_MARSHALLING
6371
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-short-enums"), fno_short_enums, Flag, f_Group, INVALID, nullptr, 0, 0,
6372
       "", nullptr, nullptr, "-fno-short-enums", true, 0, LangOpts->ShortEnums, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fshort_enums), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6373
#endif // LANG_OPTION_WITH_MARSHALLING
6374
#ifdef LANG_OPTION_WITH_MARSHALLING
6375
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fchar8_t"), fchar8__t, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6376
       "Enable C++ builtin type char8_t", nullptr, nullptr, "-fchar8_t", true, 0, LangOpts->Char8, LangOpts->CPlusPlus20, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_char8__t), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6377
#endif // LANG_OPTION_WITH_MARSHALLING
6378
#ifdef LANG_OPTION_WITH_MARSHALLING
6379
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-char8_t"), fno_char8__t, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6380
       "Disable C++ builtin type char8_t", nullptr, nullptr, "-fno-char8_t", true, 0, LangOpts->Char8, LangOpts->CPlusPlus20, false, false, makeBooleanOptionNormalizer(false, true, OPT_fchar8__t), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6381
#endif // LANG_OPTION_WITH_MARSHALLING
6382
#ifdef DIAG_OPTION_WITH_MARSHALLING
6383
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fshow-overloads="), fshow_overloads_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6384
       "Which overload candidates to show when overload resolution fails. Defaults to 'all'", nullptr, "best,all", "-fshow-overloads=", true, 0, DiagnosticOpts->ShowOverloads, Ovl_All, false, Ovl_All, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 16)
6385
#endif // DIAG_OPTION_WITH_MARSHALLING
6386
#ifdef DIAG_OPTION_WITH_MARSHALLING
6387
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-show-column"), fno_show_column, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6388
       "Do not include column number on diagnostics", nullptr, nullptr, "-fno-show-column", true, 0, DiagnosticOpts->ShowColumn, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fshow_column), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6389
#endif // DIAG_OPTION_WITH_MARSHALLING
6390
#ifdef DIAG_OPTION_WITH_MARSHALLING
6391
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fshow-column"), fshow_column, Flag, f_Group, INVALID, nullptr, 0, 0,
6392
       "", nullptr, nullptr, "-fshow-column", true, 0, DiagnosticOpts->ShowColumn, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_show_column), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6393
#endif // DIAG_OPTION_WITH_MARSHALLING
6394
#ifdef DIAG_OPTION_WITH_MARSHALLING
6395
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-show-source-location"), fno_show_source_location, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6396
       "Do not include source location information with diagnostics", nullptr, nullptr, "-fno-show-source-location", true, 0, DiagnosticOpts->ShowLocation, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fshow_source_location), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6397
#endif // DIAG_OPTION_WITH_MARSHALLING
6398
#ifdef DIAG_OPTION_WITH_MARSHALLING
6399
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fshow-source-location"), fshow_source_location, Flag, f_Group, INVALID, nullptr, 0, 0,
6400
       "", nullptr, nullptr, "-fshow-source-location", true, 0, DiagnosticOpts->ShowLocation, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_show_source_location), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6401
#endif // DIAG_OPTION_WITH_MARSHALLING
6402
#ifdef LANG_OPTION_WITH_MARSHALLING
6403
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-spell-checking"), fno_spell_checking, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6404
       "Disable spell-checking", nullptr, nullptr, "-fno-spell-checking", true, 0, LangOpts->SpellChecking, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fspell_checking), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6405
#endif // LANG_OPTION_WITH_MARSHALLING
6406
#ifdef LANG_OPTION_WITH_MARSHALLING
6407
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fspell-checking"), fspell_checking, Flag, f_Group, INVALID, nullptr, 0, 0,
6408
       "", nullptr, nullptr, "-fspell-checking", true, 0, LangOpts->SpellChecking, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_spell_checking), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6409
#endif // LANG_OPTION_WITH_MARSHALLING
6410
#ifdef LANG_OPTION_WITH_MARSHALLING
6411
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-signed-char"), fno_signed_char, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6412
       "char is unsigned", nullptr, nullptr, "-fno-signed-char", !LangOpts->OpenCL, 0, LangOpts->CharIsSigned, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fsigned_char), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6413
#endif // LANG_OPTION_WITH_MARSHALLING
6414
#ifdef LANG_OPTION_WITH_MARSHALLING
6415
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsigned-char"), fsigned_char, Flag, f_Group, INVALID, nullptr, 0, 0,
6416
       "char is signed", nullptr, nullptr, "-fsigned-char", !LangOpts->OpenCL, 0, LangOpts->CharIsSigned, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_signed_char), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6417
#endif // LANG_OPTION_WITH_MARSHALLING
6418
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6419
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-split-stack"), fno_split_stack, Flag, f_Group, INVALID, nullptr, 0, 0,
6420
       "Wouldn't use segmented stack", nullptr, nullptr, "-fno-split-stack", true, 0, CodeGenOpts.EnableSegmentedStacks, false, false, true, makeBooleanOptionNormalizer(false, true, OPT_fsplit_stack), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6421
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6422
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6423
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsplit-stack"), fsplit_stack, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6424
       "Use segmented stack", nullptr, nullptr, "-fsplit-stack", true, 0, CodeGenOpts.EnableSegmentedStacks, false, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_split_stack), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6425
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6426
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6427
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fstack-clash-protection"), fstack_clash_protection, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6428
       "Enable stack clash protection", nullptr, nullptr, "-fstack-clash-protection", true, 0, CodeGenOpts.StackClashProtector, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_stack_clash_protection), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6429
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6430
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6431
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-stack-clash-protection"), fno_stack_clash_protection, Flag, f_Group, INVALID, nullptr, 0, 0,
6432
       "Disable stack clash protection", nullptr, nullptr, "-fno-stack-clash-protection", true, 0, CodeGenOpts.StackClashProtector, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fstack_clash_protection), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6433
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6434
#ifdef LANG_OPTION_WITH_MARSHALLING
6435
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftrivial-auto-var-init="), ftrivial_auto_var_init, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6436
       "Initialize trivial automatic stack variables. Defaults to 'uninitialized'", nullptr, "uninitialized,zero,pattern", "-ftrivial-auto-var-init=", true, 0, LangOpts->TrivialAutoVarInit, LangOptions::TrivialAutoVarInitKind::Uninitialized, false, LangOptions::TrivialAutoVarInitKind::Uninitialized, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 17)
6437
#endif // LANG_OPTION_WITH_MARSHALLING
6438
#ifdef LANG_OPTION_WITH_MARSHALLING
6439
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftrivial-auto-var-init-stop-after="), ftrivial_auto_var_init_stop_after, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6440
       "Stop initializing trivial automatic stack variables after the specified number of instances", nullptr, nullptr, "-ftrivial-auto-var-init-stop-after=", true, 0, LangOpts->TrivialAutoVarInitStopAfter, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6441
#endif // LANG_OPTION_WITH_MARSHALLING
6442
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6443
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fstrict-enums"), fstrict_enums, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6444
       "Enable optimizations based on the strict definition of an enum's value range", nullptr, nullptr, "-fstrict-enums", true, 0, CodeGenOpts.StrictEnums, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6445
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6446
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6447
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fstrict-vtable-pointers"), fstrict_vtable_pointers, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6448
       "Enable optimizations based on the strict rules for overwriting polymorphic C++ objects", nullptr, nullptr, "-fstrict-vtable-pointers", true, 0, CodeGenOpts.StrictVTablePointers, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_strict_vtable_pointers), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6449
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6450
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6451
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-strict-vtable-pointers"), fno_strict_vtable_pointers, Flag, f_Group, INVALID, nullptr, 0, 0,
6452
       "", nullptr, nullptr, "-fno-strict-vtable-pointers", true, 0, CodeGenOpts.StrictVTablePointers, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fstrict_vtable_pointers), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6453
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6454
#ifdef LANG_OPTION_WITH_MARSHALLING
6455
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("Wlarge-by-value-copy="), Wlarge_by_value_copy_EQ, Joined, INVALID, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "-Wlarge-by-value-copy=", true, 0, LangOpts->NumLargeByValueCopy, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6456
#endif // LANG_OPTION_WITH_MARSHALLING
6457
#ifdef LANG_OPTION_WITH_MARSHALLING
6458
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-threadsafe-statics"), fno_threadsafe_statics, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6459
       "Do not emit code to make initialization of local statics thread safe", nullptr, nullptr, "-fno-threadsafe-statics", true, 0, LangOpts->ThreadsafeStatics, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fthreadsafe_statics), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6460
#endif // LANG_OPTION_WITH_MARSHALLING
6461
#ifdef LANG_OPTION_WITH_MARSHALLING
6462
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fthreadsafe-statics"), fthreadsafe_statics, Flag, f_Group, INVALID, nullptr, 0, 0,
6463
       "", nullptr, nullptr, "-fthreadsafe-statics", true, 0, LangOpts->ThreadsafeStatics, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_threadsafe_statics), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6464
#endif // LANG_OPTION_WITH_MARSHALLING
6465
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6466
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftime-report"), ftime_report, Flag, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "-ftime-report", true, 0, CodeGenOpts.TimePasses, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6467
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6468
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6469
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftime-report="), ftime_report_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6470
       "(For new pass manager) 'per-pass': one report for each pass; 'per-pass-run': one report for each pass invocation", nullptr, "per-pass,per-pass-run", "-ftime-report=", true, 0, CodeGenOpts.TimePassesPerRun, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6471
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6472
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
6473
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftime-trace"), ftime_trace, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6474
       "Turn on time profiler. Generates JSON file based on output filename.", nullptr, nullptr, "-ftime-trace", true, 0, FrontendOpts.TimeTrace, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6475
#endif // FRONTEND_OPTION_WITH_MARSHALLING
6476
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
6477
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftime-trace-granularity="), ftime_trace_granularity_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6478
       "Minimum time granularity (in microseconds) traced by time profiler", nullptr, nullptr, "-ftime-trace-granularity=", true, 0, FrontendOpts.TimeTraceGranularity, 500u, false, 500u, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6479
#endif // FRONTEND_OPTION_WITH_MARSHALLING
6480
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
6481
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftime-trace="), ftime_trace_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6482
       "Similar to -ftime-trace. Specify the JSON file or a directory which will contain the JSON file", nullptr, nullptr, "-ftime-trace=", true, 0, FrontendOpts.TimeTracePath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
6483
#endif // FRONTEND_OPTION_WITH_MARSHALLING
6484
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6485
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftls-model="), ftlsmodel_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, "global-dynamic,local-dynamic,initial-exec,local-exec", "-ftls-model=", true, 0, CodeGenOpts.DefaultTLSModel, CodeGenOptions::GeneralDynamicTLSModel, false, CodeGenOptions::GeneralDynamicTLSModel, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 18)
6486
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6487
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6488
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftrap-function="), ftrap_function_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6489
       "Issue call to specified function rather than a trap instruction", nullptr, nullptr, "-ftrap-function=", true, 0, CodeGenOpts.TrapFuncName, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
6490
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6491
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6492
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("freroll-loops"), freroll_loops, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6493
       "Turn on loop reroller", nullptr, nullptr, "-freroll-loops", true, 0, CodeGenOpts.RerollLoops, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_reroll_loops), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6494
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6495
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6496
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-reroll-loops"), fno_reroll_loops, Flag, f_Group, INVALID, nullptr, 0, 0,
6497
       "", nullptr, nullptr, "-fno-reroll-loops", true, 0, CodeGenOpts.RerollLoops, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_freroll_loops), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6498
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6499
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6500
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fregister-global-dtors-with-atexit"), fregister_global_dtors_with_atexit, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6501
       "Use atexit or __cxa_atexit to register global destructors", nullptr, nullptr, "-fregister-global-dtors-with-atexit", true, 0, CodeGenOpts.RegisterGlobalDtorsWithAtExit, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_register_global_dtors_with_atexit), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6502
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6503
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6504
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-register-global-dtors-with-atexit"), fno_register_global_dtors_with_atexit, Flag, f_Group, INVALID, nullptr, 0, 0,
6505
       "Don't use atexit or __cxa_atexit to register global destructors", nullptr, nullptr, "-fno-register-global-dtors-with-atexit", true, 0, CodeGenOpts.RegisterGlobalDtorsWithAtExit, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fregister_global_dtors_with_atexit), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6506
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6507
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6508
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-use-init-array"), fno_use_init_array, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6509
       "Use .ctors/.dtors instead of .init_array/.fini_array", nullptr, nullptr, "-fno-use-init-array", true, 0, CodeGenOpts.UseInitArray, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fuse_init_array), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6510
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6511
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6512
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fuse-init-array"), fuse_init_array, Flag, f_Group, INVALID, nullptr, 0, 0,
6513
       "", nullptr, nullptr, "-fuse-init-array", true, 0, CodeGenOpts.UseInitArray, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_use_init_array), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6514
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6515
#ifdef LANG_OPTION_WITH_MARSHALLING
6516
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fvisibility-from-dllstorageclass"), fvisibility_from_dllstorageclass, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6517
       "Set the visibility of symbols in the generated code from their DLL storage class", nullptr, nullptr, "-fvisibility-from-dllstorageclass", true, 0, LangOpts->VisibilityFromDLLStorageClass, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_visibility_from_dllstorageclass), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6518
#endif // LANG_OPTION_WITH_MARSHALLING
6519
#ifdef LANG_OPTION_WITH_MARSHALLING
6520
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-visibility-from-dllstorageclass"), fno_visibility_from_dllstorageclass, Flag, f_Group, INVALID, nullptr, 0, 0,
6521
       "", nullptr, nullptr, "-fno-visibility-from-dllstorageclass", true, 0, LangOpts->VisibilityFromDLLStorageClass, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fvisibility_from_dllstorageclass), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6522
#endif // LANG_OPTION_WITH_MARSHALLING
6523
#ifdef LANG_OPTION_WITH_MARSHALLING
6524
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fvisibility-dllexport="), fvisibility_dllexport_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6525
       "The visibility for dllexport definitions [-fvisibility-from-dllstorageclass]", nullptr, "default,hidden,internal,protected", "-fvisibility-dllexport=", LangOpts->VisibilityFromDLLStorageClass, 0, LangOpts->DLLExportVisibility, DefaultVisibility, false, DefaultVisibility, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 19)
6526
#endif // LANG_OPTION_WITH_MARSHALLING
6527
#ifdef LANG_OPTION_WITH_MARSHALLING
6528
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fvisibility-nodllstorageclass="), fvisibility_nodllstorageclass_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6529
       "The visibility for definitions without an explicit DLL export class [-fvisibility-from-dllstorageclass]", nullptr, "default,hidden,internal,protected", "-fvisibility-nodllstorageclass=", LangOpts->VisibilityFromDLLStorageClass, 0, LangOpts->NoDLLStorageClassVisibility, HiddenVisibility, false, HiddenVisibility, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 20)
6530
#endif // LANG_OPTION_WITH_MARSHALLING
6531
#ifdef LANG_OPTION_WITH_MARSHALLING
6532
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fvisibility-externs-dllimport="), fvisibility_externs_dllimport_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6533
       "The visibility for dllimport external declarations [-fvisibility-from-dllstorageclass]", nullptr, "default,hidden,internal,protected", "-fvisibility-externs-dllimport=", LangOpts->VisibilityFromDLLStorageClass, 0, LangOpts->ExternDeclDLLImportVisibility, DefaultVisibility, false, DefaultVisibility, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 21)
6534
#endif // LANG_OPTION_WITH_MARSHALLING
6535
#ifdef LANG_OPTION_WITH_MARSHALLING
6536
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fvisibility-externs-nodllstorageclass="), fvisibility_externs_nodllstorageclass_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6537
       "The visibility for external declarations without an explicit DLL dllstorageclass [-fvisibility-from-dllstorageclass]", nullptr, "default,hidden,internal,protected", "-fvisibility-externs-nodllstorageclass=", LangOpts->VisibilityFromDLLStorageClass, 0, LangOpts->ExternDeclNoDLLStorageClassVisibility, HiddenVisibility, false, HiddenVisibility, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 22)
6538
#endif // LANG_OPTION_WITH_MARSHALLING
6539
#ifdef LANG_OPTION_WITH_MARSHALLING
6540
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fvisibility="), fvisibility_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6541
       "Set the default symbol visibility for all global definitions", nullptr, "default,hidden,internal,protected", "-fvisibility=", true, 0, LangOpts->ValueVisibilityMode, DefaultVisibility, false, DefaultVisibility, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 23)
6542
#endif // LANG_OPTION_WITH_MARSHALLING
6543
#ifdef LANG_OPTION_WITH_MARSHALLING
6544
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fvisibility-inlines-hidden"), fvisibility_inlines_hidden, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6545
       "Give inline C++ member functions hidden visibility by default", nullptr, nullptr, "-fvisibility-inlines-hidden", true, 0, LangOpts->InlineVisibilityHidden, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_visibility_inlines_hidden), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6546
#endif // LANG_OPTION_WITH_MARSHALLING
6547
#ifdef LANG_OPTION_WITH_MARSHALLING
6548
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-visibility-inlines-hidden"), fno_visibility_inlines_hidden, Flag, f_Group, INVALID, nullptr, 0, 0,
6549
       "", nullptr, nullptr, "-fno-visibility-inlines-hidden", true, 0, LangOpts->InlineVisibilityHidden, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fvisibility_inlines_hidden), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6550
#endif // LANG_OPTION_WITH_MARSHALLING
6551
#ifdef LANG_OPTION_WITH_MARSHALLING
6552
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fvisibility-inlines-hidden-static-local-var"), fvisibility_inlines_hidden_static_local_var, Flag, f_Group, INVALID, nullptr, CC1Option | CC1Option, 0,
6553
       "When -fvisibility-inlines-hidden is enabled, static variables in inline C++ member functions will also be given hidden visibility by default", nullptr, nullptr, "-fvisibility-inlines-hidden-static-local-var", true, 0, LangOpts->VisibilityInlinesHiddenStaticLocalVar, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_visibility_inlines_hidden_static_local_var), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6554
#endif // LANG_OPTION_WITH_MARSHALLING
6555
#ifdef LANG_OPTION_WITH_MARSHALLING
6556
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-visibility-inlines-hidden-static-local-var"), fno_visibility_inlines_hidden_static_local_var, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6557
       "Disables -fvisibility-inlines-hidden-static-local-var (this is the default on non-darwin targets)", nullptr, nullptr, "-fno-visibility-inlines-hidden-static-local-var", true, 0, LangOpts->VisibilityInlinesHiddenStaticLocalVar, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fvisibility_inlines_hidden_static_local_var), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6558
#endif // LANG_OPTION_WITH_MARSHALLING
6559
#ifdef LANG_OPTION_WITH_MARSHALLING
6560
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fvisibility-global-new-delete-hidden"), fvisibility_global_new_delete_hidden, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6561
       "Give global C++ operator new and delete declarations hidden visibility", nullptr, nullptr, "-fvisibility-global-new-delete-hidden", true, 0, LangOpts->GlobalAllocationFunctionVisibilityHidden, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6562
#endif // LANG_OPTION_WITH_MARSHALLING
6563
#ifdef LANG_OPTION_WITH_MARSHALLING
6564
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mdefault-visibility-export-mapping="), mdefault_visibility_export_mapping_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
6565
       "Mapping between default visibility and export", nullptr, "none,explicit,all", "-mdefault-visibility-export-mapping=", true, 0, LangOpts->DefaultVisibilityExportMapping, LangOptions::DefaultVisiblityExportMapping::None, false, LangOptions::DefaultVisiblityExportMapping::None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 24)
6566
#endif // LANG_OPTION_WITH_MARSHALLING
6567
#ifdef LANG_OPTION_WITH_MARSHALLING
6568
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fnew-infallible"), fnew_infallible, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6569
       "Enable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.", nullptr, nullptr, "-fnew-infallible", true, 0, LangOpts->NewInfallible, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_new_infallible), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6570
#endif // LANG_OPTION_WITH_MARSHALLING
6571
#ifdef LANG_OPTION_WITH_MARSHALLING
6572
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-new-infallible"), fno_new_infallible, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6573
       "Disable treating throwing global C++ operator new as always returning valid memory (annotates with __attribute__((returns_nonnull)) and throw()). This is detectable in source.", nullptr, nullptr, "-fno-new-infallible", true, 0, LangOpts->NewInfallible, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fnew_infallible), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6574
#endif // LANG_OPTION_WITH_MARSHALLING
6575
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6576
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fwhole-program-vtables"), fwhole_program_vtables, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6577
       "Enables whole-program vtable optimization. Requires -flto", nullptr, nullptr, "-fwhole-program-vtables", true, 0, CodeGenOpts.WholeProgramVTables, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_whole_program_vtables), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6578
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6579
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6580
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-whole-program-vtables"), fno_whole_program_vtables, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
6581
       "", nullptr, nullptr, "-fno-whole-program-vtables", true, 0, CodeGenOpts.WholeProgramVTables, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fwhole_program_vtables), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6582
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6583
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6584
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsplit-lto-unit"), fsplit_lto_unit, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6585
       "Enables splitting of the LTO unit", nullptr, nullptr, "-fsplit-lto-unit", true, 0, CodeGenOpts.EnableSplitLTOUnit, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_split_lto_unit), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6586
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6587
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6588
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-split-lto-unit"), fno_split_lto_unit, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
6589
       "", nullptr, nullptr, "-fno-split-lto-unit", true, 0, CodeGenOpts.EnableSplitLTOUnit, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsplit_lto_unit), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6590
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6591
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6592
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fforce-emit-vtables"), fforce_emit_vtables, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6593
       "Emits more virtual tables to improve devirtualization", nullptr, nullptr, "-fforce-emit-vtables", true, 0, CodeGenOpts.ForceEmitVTables, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_force_emit_vtables), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6594
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6595
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6596
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-force-emit-vtables"), fno_force_emit_vtables, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
6597
       "", nullptr, nullptr, "-fno-force-emit-vtables", true, 0, CodeGenOpts.ForceEmitVTables, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fforce_emit_vtables), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6598
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6599
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6600
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fvirtual-function-elimination"), fvirtual_function_elimination, Flag, f_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6601
       "Enables dead virtual function elimination optimization. Requires -flto=full", nullptr, nullptr, "-fvirtual-function-elimination", true, 0, CodeGenOpts.VirtualFunctionElimination, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_virtual_function_elimination), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6602
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6603
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6604
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-virtual-function-elimination"), fno_virtual_function_elimination, Flag, f_Group, INVALID, nullptr, CoreOption, 0,
6605
       "", nullptr, nullptr, "-fno-virtual-function-elimination", true, 0, CodeGenOpts.VirtualFunctionElimination, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fvirtual_function_elimination), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6606
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6607
#ifdef LANG_OPTION_WITH_MARSHALLING
6608
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fwritable-strings"), fwritable_strings, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6609
       "Store string literals as writable data", nullptr, nullptr, "-fwritable-strings", true, 0, LangOpts->WritableStrings, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6610
#endif // LANG_OPTION_WITH_MARSHALLING
6611
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6612
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-zero-initialized-in-bss"), fno_zero_initialized_in_bss, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6613
       "Don't place zero initialized data in BSS", nullptr, nullptr, "-fno-zero-initialized-in-bss", true, 0, CodeGenOpts.NoZeroInitializedInBSS, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fzero_initialized_in_bss), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6614
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6615
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6616
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fzero-initialized-in-bss"), fzero_initialized_in_bss, Flag, f_Group, INVALID, nullptr, 0, 0,
6617
       "", nullptr, nullptr, "-fzero-initialized-in-bss", true, 0, CodeGenOpts.NoZeroInitializedInBSS, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_zero_initialized_in_bss), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6618
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6619
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6620
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ffunction-sections"), ffunction_sections, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6621
       "Place each function in its own section", nullptr, nullptr, "-ffunction-sections", true, 0, CodeGenOpts.FunctionSections, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_function_sections), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6622
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6623
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6624
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-function-sections"), fno_function_sections, Flag, f_Group, INVALID, nullptr, 0, 0,
6625
       "", nullptr, nullptr, "-fno-function-sections", true, 0, CodeGenOpts.FunctionSections, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_ffunction_sections), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6626
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6627
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6628
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fbasic-block-sections="), fbasic_block_sections_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CC1AsOption, 0,
6629
       "Place each function's basic blocks in unique sections (ELF Only)", nullptr, "all,labels,none,list=", "-fbasic-block-sections=", true, 0, CodeGenOpts.BBSections, "none", false, "none", normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
6630
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6631
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6632
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdata-sections"), fdata_sections, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6633
       "Place each data in its own section", nullptr, nullptr, "-fdata-sections", true, 0, CodeGenOpts.DataSections, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_data_sections), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6634
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6635
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6636
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-data-sections"), fno_data_sections, Flag, f_Group, INVALID, nullptr, 0, 0,
6637
       "", nullptr, nullptr, "-fno-data-sections", true, 0, CodeGenOpts.DataSections, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdata_sections), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6638
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6639
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6640
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fstack-size-section"), fstack_size_section, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6641
       "Emit section containing metadata on function stack sizes", nullptr, nullptr, "-fstack-size-section", true, 0, CodeGenOpts.StackSizeSection, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_stack_size_section), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6642
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6643
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6644
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-stack-size-section"), fno_stack_size_section, Flag, f_Group, INVALID, nullptr, 0, 0,
6645
       "", nullptr, nullptr, "-fno-stack-size-section", true, 0, CodeGenOpts.StackSizeSection, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fstack_size_section), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6646
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6647
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6648
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("stack-usage-file"), stack_usage_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
6649
       "Filename (or -) to write stack usage output to", nullptr, nullptr, "-stack-usage-file", true, 0, CodeGenOpts.StackUsageOutput, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
6650
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6651
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6652
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("funique-basic-block-section-names"), funique_basic_block_section_names, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6653
       "Use unique names for basic block sections (ELF Only)", nullptr, nullptr, "-funique-basic-block-section-names", true, 0, CodeGenOpts.UniqueBasicBlockSectionNames, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_unique_basic_block_section_names), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6654
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6655
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6656
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-unique-basic-block-section-names"), fno_unique_basic_block_section_names, Flag, f_Group, INVALID, nullptr, 0, 0,
6657
       "", nullptr, nullptr, "-fno-unique-basic-block-section-names", true, 0, CodeGenOpts.UniqueBasicBlockSectionNames, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_funique_basic_block_section_names), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6658
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6659
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6660
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("funique-internal-linkage-names"), funique_internal_linkage_names, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6661
       "Uniqueify Internal Linkage Symbol Names by appending the MD5 hash of the module path", nullptr, nullptr, "-funique-internal-linkage-names", true, 0, CodeGenOpts.UniqueInternalLinkageNames, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_unique_internal_linkage_names), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6662
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6663
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6664
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-unique-internal-linkage-names"), fno_unique_internal_linkage_names, Flag, f_Group, INVALID, nullptr, 0, 0,
6665
       "", nullptr, nullptr, "-fno-unique-internal-linkage-names", true, 0, CodeGenOpts.UniqueInternalLinkageNames, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_funique_internal_linkage_names), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6666
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6667
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6668
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-unique-section-names"), fno_unique_section_names, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6669
       "Don't use unique names for text and data sections", nullptr, nullptr, "-fno-unique-section-names", true, 0, CodeGenOpts.UniqueSectionNames, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_funique_section_names), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6670
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6671
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6672
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("funique-section-names"), funique_section_names, Flag, f_Group, INVALID, nullptr, 0, 0,
6673
       "", nullptr, nullptr, "-funique-section-names", true, 0, CodeGenOpts.UniqueSectionNames, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_unique_section_names), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6674
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6675
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6676
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsplit-machine-functions"), fsplit_machine_functions, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6677
       "Enable late function splitting using profile information (x86 ELF)", nullptr, nullptr, "-fsplit-machine-functions", true, 0, CodeGenOpts.SplitMachineFunctions, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_split_machine_functions), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6678
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6679
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6680
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-split-machine-functions"), fno_split_machine_functions, Flag, f_Group, INVALID, nullptr, 0, 0,
6681
       "Disable late function splitting using profile information (x86 ELF)", nullptr, nullptr, "-fno-split-machine-functions", true, 0, CodeGenOpts.SplitMachineFunctions, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsplit_machine_functions), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6682
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6683
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6684
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-strict-return"), fno_strict_return, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6685
       "Don't treat control flow paths that fall off the end of a non-void function as unreachable", nullptr, nullptr, "-fno-strict-return", true, 0, CodeGenOpts.StrictReturn, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fstrict_return), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6686
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6687
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6688
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fstrict-return"), fstrict_return, Flag, f_Group, INVALID, nullptr, 0, 0,
6689
       "", nullptr, nullptr, "-fstrict-return", true, 0, CodeGenOpts.StrictReturn, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_strict_return), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6690
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6691
#ifdef LANG_OPTION_WITH_MARSHALLING
6692
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fenable-matrix"), fenable_matrix, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6693
       "Enable matrix data type and related builtin functions", nullptr, nullptr, "-fenable-matrix", true, 0, LangOpts->MatrixTypes, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6694
#endif // LANG_OPTION_WITH_MARSHALLING
6695
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6696
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fzero-call-used-regs="), fzero_call_used_regs_EQ, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
6697
       "Clear call-used registers upon function return (AArch64/x86 only)", nullptr, "skip,used-gpr-arg,used-gpr,used-arg,used,all-gpr-arg,all-gpr,all-arg,all", "-fzero-call-used-regs=", true, 0, CodeGenOpts.ZeroCallUsedRegs, llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::Skip, false, llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::Skip, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 25)
6698
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6699
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6700
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdebug-ranges-base-address"), fdebug_ranges_base_address, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6701
       "Use DWARF base address selection entries in .debug_ranges", nullptr, nullptr, "-fdebug-ranges-base-address", true, 0, CodeGenOpts.DebugRangesBaseAddress, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_debug_ranges_base_address), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6702
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6703
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6704
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-debug-ranges-base-address"), fno_debug_ranges_base_address, Flag, f_Group, INVALID, nullptr, 0, 0,
6705
       "", nullptr, nullptr, "-fno-debug-ranges-base-address", true, 0, CodeGenOpts.DebugRangesBaseAddress, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdebug_ranges_base_address), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6706
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6707
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6708
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-split-dwarf-inlining"), fno_split_dwarf_inlining, Flag, f_Group, INVALID, nullptr, 0, 0,
6709
       "", nullptr, nullptr, "-fno-split-dwarf-inlining", true, 0, CodeGenOpts.SplitDwarfInlining, false, false, true, makeBooleanOptionNormalizer(false, true, OPT_fsplit_dwarf_inlining), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6710
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6711
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6712
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsplit-dwarf-inlining"), fsplit_dwarf_inlining, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6713
       "Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF", nullptr, nullptr, "-fsplit-dwarf-inlining", true, 0, CodeGenOpts.SplitDwarfInlining, false, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_split_dwarf_inlining), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6714
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6715
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6716
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fforce-dwarf-frame"), fforce_dwarf_frame, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6717
       "Always emit a debug frame section", nullptr, nullptr, "-fforce-dwarf-frame", true, 0, CodeGenOpts.ForceDwarfFrameSection, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_force_dwarf_frame), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6718
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6719
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6720
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-force-dwarf-frame"), fno_force_dwarf_frame, Flag, f_Group, INVALID, nullptr, 0, 0,
6721
       "", nullptr, nullptr, "-fno-force-dwarf-frame", true, 0, CodeGenOpts.ForceDwarfFrameSection, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fforce_dwarf_frame), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6722
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6723
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6724
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("femit-dwarf-unwind="), femit_dwarf_unwind_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | CC1AsOption, 0,
6725
       "When to emit DWARF unwind (EH frame) info", nullptr, "always,no-compact-unwind,default", "-femit-dwarf-unwind=", true, 0, CodeGenOpts.EmitDwarfUnwind, llvm::EmitDwarfUnwindType::Default, false, llvm::EmitDwarfUnwindType::Default, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 26)
6726
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6727
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6728
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gdwarf64"), gdwarf64, Flag, g_Group, INVALID, nullptr, CC1Option | CC1AsOption, 0,
6729
       "Enables DWARF64 format for ELF binaries, if debug information emission is enabled.", nullptr, nullptr, "-gdwarf64", true, 0, CodeGenOpts.Dwarf64, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6730
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6731
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6732
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gcodeview"), gcodeview, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | CoreOption, 0,
6733
       "Generate CodeView debug information", nullptr, nullptr, "-gcodeview", true, 0, CodeGenOpts.EmitCodeView, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6734
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6735
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6736
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gcodeview-ghash"), gcodeview_ghash, Flag, INVALID, INVALID, nullptr, CC1Option | CoreOption, 0,
6737
       "Emit type record hashes in a .debug$H section", nullptr, nullptr, "-gcodeview-ghash", true, 0, CodeGenOpts.CodeViewGHash, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_gno_codeview_ghash), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6738
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6739
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6740
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gno-codeview-ghash"), gno_codeview_ghash, Flag, INVALID, INVALID, nullptr, CoreOption, 0,
6741
       "", nullptr, nullptr, "-gno-codeview-ghash", true, 0, CodeGenOpts.CodeViewGHash, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_gcodeview_ghash), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6742
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6743
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6744
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gcodeview-command-line"), gcodeview_command_line, Flag, INVALID, INVALID, nullptr, CoreOption | CC1Option, 0,
6745
       "Emit compiler path and command line into CodeView debug information", nullptr, nullptr, "-gcodeview-command-line", true, 0, CodeGenOpts.CodeViewCommandLine, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_gno_codeview_command_line), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6746
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6747
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6748
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gno-codeview-command-line"), gno_codeview_command_line, Flag, INVALID, INVALID, nullptr, CoreOption | CC1Option, 0,
6749
       "Don't emit compiler path and command line into CodeView debug information", nullptr, nullptr, "-gno-codeview-command-line", true, 0, CodeGenOpts.CodeViewCommandLine, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_gcodeview_command_line), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6750
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6751
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6752
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gno-inline-line-tables"), gno_inline_line_tables, Flag, g_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6753
       "Don't emit inline line tables.", nullptr, nullptr, "-gno-inline-line-tables", true, 0, CodeGenOpts.NoInlineLineTables, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_ginline_line_tables), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6754
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6755
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6756
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ginline-line-tables"), ginline_line_tables, Flag, g_Group, INVALID, nullptr, CoreOption, 0,
6757
       "", nullptr, nullptr, "-ginline-line-tables", true, 0, CodeGenOpts.NoInlineLineTables, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_gno_inline_line_tables), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6758
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6759
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6760
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gstrict-dwarf"), gstrict_dwarf, Flag, g_flags_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6761
       "", nullptr, nullptr, "-gstrict-dwarf", true, 0, CodeGenOpts.DebugStrictDwarf, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_gno_strict_dwarf), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6762
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6763
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6764
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gno-strict-dwarf"), gno_strict_dwarf, Flag, g_flags_Group, INVALID, nullptr, CoreOption, 0,
6765
       "", nullptr, nullptr, "-gno-strict-dwarf", true, 0, CodeGenOpts.DebugStrictDwarf, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_gstrict_dwarf), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6766
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6767
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6768
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gno-column-info"), gno_column_info, Flag, g_flags_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6769
       "", nullptr, nullptr, "-gno-column-info", true, 0, CodeGenOpts.DebugColumnInfo, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_gcolumn_info), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6770
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6771
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6772
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gcolumn-info"), gcolumn_info, Flag, g_flags_Group, INVALID, nullptr, CoreOption, 0,
6773
       "", nullptr, nullptr, "-gcolumn-info", true, 0, CodeGenOpts.DebugColumnInfo, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_gno_column_info), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6774
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6775
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6776
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gsrc-hash="), gsrc_hash_EQ, Joined, g_flags_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, "md5,sha1,sha256", "-gsrc-hash=", true, 0, CodeGenOpts.DebugSrcHash, CodeGenOptions::DSH_MD5, false, CodeGenOptions::DSH_MD5, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 27)
6777
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6778
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6779
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("gembed-source"), gembed_source, Flag, g_flags_Group, INVALID, nullptr, CC1Option, 0,
6780
       "Embed source text in DWARF debug sections", nullptr, nullptr, "-gembed-source", true, 0, CodeGenOpts.EmbedSource, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6781
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6782
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
6783
FRONTEND_OPTION_WITH_MARSHALLING(prefix_4, llvm::StringLiteral("help"), help, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | FC1Option | FlangOption, 0,
6784
       "Display available options", nullptr, nullptr, "-help", true, 0, FrontendOpts.ShowHelp, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6785
#endif // FRONTEND_OPTION_WITH_MARSHALLING
6786
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
6787
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_4, llvm::StringLiteral("imacros"), imacros, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
6788
       "Include macros from file before parsing", "<file>", nullptr, "-imacros", true, 0, PreprocessorOpts->MacroIncludes, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
6789
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
6790
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
6791
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("include-pch"), include_pch, Separate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
6792
       "Include precompiled header file", "<file>", nullptr, "-include-pch", true, 0, PreprocessorOpts->ImplicitPCHInclude, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
6793
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
6794
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
6795
FRONTEND_OPTION_WITH_MARSHALLING(prefix_4, llvm::StringLiteral("relocatable-pch"), relocatable_pch, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
6796
       "Whether to build a relocatable precompiled header", nullptr, nullptr, "-relocatable-pch", true, 0, FrontendOpts.RelocatablePCH, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6797
#endif // FRONTEND_OPTION_WITH_MARSHALLING
6798
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
6799
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("isysroot"), isysroot, JoinedOrSeparate, clang_i_Group, INVALID, nullptr, CC1Option, 0,
6800
       "Set the system root directory (usually /)", "<dir>", nullptr, "-isysroot", true, 0, HeaderSearchOpts->Sysroot, "/", false, "/", normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
6801
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6802
#ifdef LANG_OPTION_WITH_MARSHALLING
6803
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mqdsp6-compat"), mqdsp6_compat, Flag, m_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
6804
       "Enable hexagon-qdsp6 backward compatibility", nullptr, nullptr, "-mqdsp6-compat", true, 0, LangOpts->HexagonQdsp6Compat, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6805
#endif // LANG_OPTION_WITH_MARSHALLING
6806
#ifdef LANG_OPTION_WITH_MARSHALLING
6807
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mdouble="), mdouble_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
6808
       "Force double to be <n> bits", "<n", "32,64", "-mdouble=", true, 0, LangOpts->DoubleSize, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6809
#endif // LANG_OPTION_WITH_MARSHALLING
6810
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6811
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("inline-asm="), inline_asm_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, "att,intel", "-inline-asm=", true, 0, CodeGenOpts.InlineAsmDialect, CodeGenOptions::IAD_ATT, false, CodeGenOptions::IAD_ATT, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 28)
6812
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6813
#ifdef TARGET_OPTION_WITH_MARSHALLING
6814
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mcmodel="), mcmodel_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "-mcmodel=", true, 0, TargetOpts->CodeModel, "default", false, "default", normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
6815
#endif // TARGET_OPTION_WITH_MARSHALLING
6816
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6817
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mtls-size="), mtls_size_EQ, Joined, m_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
6818
       "Specify bit size of immediate TLS offsets (AArch64 ELF only): 12 (for 4KB) | 24 (for 16MB, default) | 32 (for 4GB) | 48 (for 256TB, needs -mcmodel=large)", nullptr, nullptr, "-mtls-size=", true, 0, CodeGenOpts.TLSSize, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6819
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6820
#ifdef LANG_OPTION_WITH_MARSHALLING
6821
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("malign-double"), malign_double, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6822
       "Align doubles to two words in structs (x86 only)", nullptr, nullptr, "-malign-double", true, 0, LangOpts->AlignDouble, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6823
#endif // LANG_OPTION_WITH_MARSHALLING
6824
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
6825
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mllvm"), mllvm, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | CoreOption | FC1Option | FlangOption, 0,
6826
       "Additional arguments to forward to LLVM's option processing", nullptr, nullptr, "-mllvm", true, 0, FrontendOpts.LLVMArgs, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
6827
#endif // FRONTEND_OPTION_WITH_MARSHALLING
6828
#ifdef LANG_OPTION_WITH_MARSHALLING
6829
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ffuchsia-api-level="), ffuchsia_api_level_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
6830
       "Set Fuchsia API level", nullptr, nullptr, "-ffuchsia-api-level=", true, 0, LangOpts->FuchsiaAPILevel, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6831
#endif // LANG_OPTION_WITH_MARSHALLING
6832
#ifdef LANG_OPTION_WITH_MARSHALLING
6833
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mms-bitfields"), mms_bitfields, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6834
       "Set the default structure layout to be compatible with the Microsoft compiler standard", nullptr, nullptr, "-mms-bitfields", true, 0, LangOpts->MSBitfields, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6835
#endif // LANG_OPTION_WITH_MARSHALLING
6836
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6837
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mskip-rax-setup"), mskip_rax_setup, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6838
       "Skip setting up RAX register when passing variable arguments (x86 only)", nullptr, nullptr, "-mskip-rax-setup", true, 0, CodeGenOpts.SkipRaxSetup, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6839
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6840
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6841
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mstackrealign"), mstackrealign, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6842
       "Force realign the stack at entry to every function", nullptr, nullptr, "-mstackrealign", true, 0, CodeGenOpts.StackRealignment, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6843
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6844
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6845
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mstack-alignment="), mstack_alignment, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
6846
       "Set the stack alignment", nullptr, nullptr, "-mstack-alignment=", true, 0, CodeGenOpts.StackAlignment, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6847
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6848
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6849
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mstack-probe-size="), mstack_probe_size, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
6850
       "Set the stack probe size", nullptr, nullptr, "-mstack-probe-size=", true, 0, CodeGenOpts.StackProbeSize, 4096, false, 4096, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6851
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6852
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6853
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mno-stack-arg-probe"), mno_stack_arg_probe, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6854
       "Disable stack probes which are enabled by default", nullptr, nullptr, "-mno-stack-arg-probe", true, 0, CodeGenOpts.NoStackArgProbe, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6855
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6856
#ifdef LANG_OPTION_WITH_MARSHALLING
6857
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mthread-model"), mthread_model, Separate, m_Group, INVALID, nullptr, CC1Option, 0,
6858
       "The thread model to use. Defaults to 'posix')", nullptr, "posix,single", "-mthread-model", true, 0, LangOpts->ThreadModel, LangOptions::ThreadModelKind::POSIX, false, LangOptions::ThreadModelKind::POSIX, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 29)
6859
#endif // LANG_OPTION_WITH_MARSHALLING
6860
#ifdef TARGET_OPTION_WITH_MARSHALLING
6861
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("meabi"), meabi, Separate, m_Group, INVALID, nullptr, CC1Option, 0,
6862
       "Set EABI type. Default depends on triple)", nullptr, "default,4,5,gnu", "-meabi", true, 0, TargetOpts->EABIVersion, llvm::EABI::Default, false, llvm::EABI::Default, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 30)
6863
#endif // TARGET_OPTION_WITH_MARSHALLING
6864
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6865
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mno-tls-direct-seg-refs"), mno_tls_direct_seg_refs, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6866
       "Disable direct TLS access through segment registers", nullptr, nullptr, "-mno-tls-direct-seg-refs", true, 0, CodeGenOpts.IndirectTlsSegRefs, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6867
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6868
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6869
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mspeculative-load-hardening"), mspeculative_load_hardening, Flag, m_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
6870
       "", nullptr, nullptr, "-mspeculative-load-hardening", true, 0, CodeGenOpts.SpeculativeLoadHardening, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_speculative_load_hardening), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6871
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6872
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6873
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mno-speculative-load-hardening"), mno_speculative_load_hardening, Flag, m_Group, INVALID, nullptr, CoreOption, 0,
6874
       "", nullptr, nullptr, "-mno-speculative-load-hardening", true, 0, CodeGenOpts.SpeculativeLoadHardening, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_mspeculative_load_hardening), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6875
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6876
#ifdef LANG_OPTION_WITH_MARSHALLING
6877
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mcmse"), mcmse, Flag, m_arm_Features_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
6878
       "Allow use of CMSE (Armv8-M Security Extensions)", nullptr, nullptr, "-mcmse", true, 0, LangOpts->Cmse, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6879
#endif // LANG_OPTION_WITH_MARSHALLING
6880
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6881
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("faapcs-bitfield-load"), ForceAAPCSBitfieldLoad, Flag, m_arm_Features_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
6882
       "Follows the AAPCS standard that all volatile bit-field write generates at least one load. (ARM only).", nullptr, nullptr, "-faapcs-bitfield-load", true, 0, CodeGenOpts.ForceAAPCSBitfieldLoad, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6883
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6884
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6885
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-aapcs-bitfield-width"), fno_aapcs_bitfield_width, Flag, m_arm_Features_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
6886
       "Do not follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).", nullptr, nullptr, "-fno-aapcs-bitfield-width", true, 0, CodeGenOpts.AAPCSBitfieldWidth, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_faapcs_bitfield_width), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6887
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6888
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6889
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("faapcs-bitfield-width"), faapcs_bitfield_width, Flag, m_arm_Features_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
6890
       "Follow the AAPCS standard requirement stating that volatile bit-field width is dictated by the field container type. (ARM only).", nullptr, nullptr, "-faapcs-bitfield-width", true, 0, CodeGenOpts.AAPCSBitfieldWidth, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_aapcs_bitfield_width), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6891
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6892
#ifdef LANG_OPTION_WITH_MARSHALLING
6893
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mvscale-min="), mvscale_min_EQ, Joined, m_aarch64_Features_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
6894
       "Specify the vscale minimum. Defaults to \"1\". (AArch64 only)", nullptr, nullptr, "-mvscale-min=", true, 0, LangOpts->VScaleMin, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6895
#endif // LANG_OPTION_WITH_MARSHALLING
6896
#ifdef LANG_OPTION_WITH_MARSHALLING
6897
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mvscale-max="), mvscale_max_EQ, Joined, m_aarch64_Features_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
6898
       "Specify the vscale maximum. Defaults to the vector length agnostic value of \"0\". (AArch64 only)", nullptr, nullptr, "-mvscale-max=", true, 0, LangOpts->VScaleMax, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
6899
#endif // LANG_OPTION_WITH_MARSHALLING
6900
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6901
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mamdgpu-ieee"), mamdgpu_ieee, Flag, m_Group, INVALID, nullptr, 0, 0,
6902
       "Sets the IEEE bit in the expected default floating point  mode register. Floating point opcodes that support exception flag gathering quiet and propagate signaling NaN inputs per IEEE 754-2008. This option changes the ABI. (AMDGPU only)", nullptr, nullptr, "-mamdgpu-ieee", true, 0, CodeGenOpts.EmitIEEENaNCompliantInsts, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_amdgpu_ieee), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6903
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6904
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6905
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mno-amdgpu-ieee"), mno_amdgpu_ieee, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6906
       "", nullptr, nullptr, "-mno-amdgpu-ieee", true, 0, CodeGenOpts.EmitIEEENaNCompliantInsts, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_mamdgpu_ieee), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6907
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6908
#ifdef TARGET_OPTION_WITH_MARSHALLING
6909
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mcode-object-version="), mcode_object_version_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
6910
       "Specify code object ABI version. Defaults to 4. (AMDGPU only)", nullptr, "none,2,3,4,5", "-mcode-object-version=", true, 0, TargetOpts->CodeObjectVersion, TargetOptions::COV_4, false, TargetOptions::COV_4, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 31)
6911
#endif // TARGET_OPTION_WITH_MARSHALLING
6912
#ifdef TARGET_OPTION_WITH_MARSHALLING
6913
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("munsafe-fp-atomics"), munsafe_fp_atomics, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6914
       "Enable unsafe floating point atomic instructions (AMDGPU only)", nullptr, nullptr, "-munsafe-fp-atomics", true, 0, TargetOpts->AllowAMDGPUUnsafeFPAtomics, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_unsafe_fp_atomics), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6915
#endif // TARGET_OPTION_WITH_MARSHALLING
6916
#ifdef TARGET_OPTION_WITH_MARSHALLING
6917
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mno-unsafe-fp-atomics"), mno_unsafe_fp_atomics, Flag, m_Group, INVALID, nullptr, 0, 0,
6918
       "", nullptr, nullptr, "-mno-unsafe-fp-atomics", true, 0, TargetOpts->AllowAMDGPUUnsafeFPAtomics, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_munsafe_fp_atomics), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6919
#endif // TARGET_OPTION_WITH_MARSHALLING
6920
#ifdef LANG_OPTION_WITH_MARSHALLING
6921
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mabi=vec-extabi"), mabi_EQ_vec_extabi, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6922
       "Enable the extended Altivec ABI on AIX (AIX only). Uses volatile and nonvolatile vector registers", nullptr, nullptr, "-mabi=vec-extabi", true, 0, LangOpts->EnableAIXExtendedAltivecABI, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6923
#endif // LANG_OPTION_WITH_MARSHALLING
6924
#ifdef LANG_OPTION_WITH_MARSHALLING
6925
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mabi=quadword-atomics"), mabi_EQ_quadword_atomics, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6926
       "Enable quadword atomics ABI on AIX (AIX PPC64 only). Uses lqarx/stqcx. instructions.", nullptr, nullptr, "-mabi=quadword-atomics", true, 0, LangOpts->EnableAIXQuadwordAtomicsABI, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6927
#endif // LANG_OPTION_WITH_MARSHALLING
6928
#ifdef LANG_OPTION_WITH_MARSHALLING
6929
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fzvector"), fzvector, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
6930
       "Enable System z vector language extension", nullptr, nullptr, "-fzvector", true, 0, LangOpts->ZVector, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_zvector), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6931
#endif // LANG_OPTION_WITH_MARSHALLING
6932
#ifdef LANG_OPTION_WITH_MARSHALLING
6933
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-zvector"), fno_zvector, Flag, f_Group, INVALID, nullptr, 0, 0,
6934
       "", nullptr, nullptr, "-fno-zvector", true, 0, LangOpts->ZVector, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fzvector), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6935
#endif // LANG_OPTION_WITH_MARSHALLING
6936
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6937
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mbackchain"), mbackchain, Flag, m_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
6938
       "Link stack frames through backchain on System Z", nullptr, nullptr, "-mbackchain", true, 0, CodeGenOpts.Backchain, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_backchain), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
6939
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6940
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6941
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mno-backchain"), mno_backchain, Flag, m_Group, INVALID, nullptr, NoXarchOption | CC1Option, 0,
6942
       "", nullptr, nullptr, "-mno-backchain", true, 0, CodeGenOpts.Backchain, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_mbackchain), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
6943
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6944
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6945
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mrelax-all"), mrelax_all, Flag, m_Group, INVALID, nullptr, CC1Option | CC1AsOption, 0,
6946
       "(integrated-as) Relax all machine instructions", nullptr, nullptr, "-mrelax-all", true, 0, CodeGenOpts.RelaxAll, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6947
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6948
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6949
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mincremental-linker-compatible"), mincremental_linker_compatible, Flag, m_Group, INVALID, nullptr, CC1Option | CC1AsOption, 0,
6950
       "(integrated-as) Emit an object file which can be used with an incremental linker", nullptr, nullptr, "-mincremental-linker-compatible", true, 0, CodeGenOpts.IncrementalLinkerCompatible, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6951
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6952
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6953
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("msoft-float"), msoft_float, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6954
       "Use software floating point", nullptr, nullptr, "-msoft-float", true, 0, CodeGenOpts.SoftFloat, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6955
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6956
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6957
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mrecip="), mrecip_EQ, CommaJoined, m_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "-mrecip=", true, 0, CodeGenOpts.Reciprocals, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
6958
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6959
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6960
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mprefer-vector-width="), mprefer_vector_width_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
6961
       "Specifies preferred vector width for auto-vectorization. Defaults to 'none' which allows target specific decisions.", nullptr, nullptr, "-mprefer-vector-width=", true, 0, CodeGenOpts.PreferVectorWidth, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
6962
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6963
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6964
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mstack-protector-guard="), mstack_protector_guard_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
6965
       "Use the given guard (global, tls) for addressing the stack-protector guard", nullptr, nullptr, "-mstack-protector-guard=", true, 0, CodeGenOpts.StackProtectorGuard, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
6966
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6967
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6968
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mstack-protector-guard-offset="), mstack_protector_guard_offset_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
6969
       "Use the given offset for addressing the stack-protector guard", nullptr, nullptr, "-mstack-protector-guard-offset=", true, 0, CodeGenOpts.StackProtectorGuardOffset, INT_MAX, false, INT_MAX, normalizeStringIntegral<int>, denormalizeString<int>, mergeForwardValue, extractForwardValue, -1)
6970
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6971
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6972
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mstack-protector-guard-symbol="), mstack_protector_guard_symbol_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
6973
       "Use the given symbol for addressing the stack-protector guard", nullptr, nullptr, "-mstack-protector-guard-symbol=", true, 0, CodeGenOpts.StackProtectorGuardSymbol, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
6974
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6975
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6976
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mstack-protector-guard-reg="), mstack_protector_guard_reg_EQ, Joined, m_Group, INVALID, nullptr, CC1Option, 0,
6977
       "Use the given reg for addressing the stack-protector guard", nullptr, nullptr, "-mstack-protector-guard-reg=", true, 0, CodeGenOpts.StackProtectorGuardReg, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
6978
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6979
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6980
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mfentry"), mfentry, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6981
       "Insert calls to fentry at function entry (x86/SystemZ only)", nullptr, nullptr, "-mfentry", true, 0, CodeGenOpts.CallFEntry, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6982
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6983
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6984
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mnop-mcount"), mnop_mcount, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6985
       "Generate mcount/__fentry__ calls as nops. To activate they need to be patched in.", nullptr, nullptr, "-mnop-mcount", true, 0, CodeGenOpts.MNopMCount, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6986
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6987
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6988
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mrecord-mcount"), mrecord_mcount, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6989
       "Generate a __mcount_loc section entry for each __fentry__ call.", nullptr, nullptr, "-mrecord-mcount", true, 0, CodeGenOpts.RecordMCount, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6990
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6991
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
6992
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mpacked-stack"), mpacked_stack, Flag, m_Group, INVALID, nullptr, CC1Option, 0,
6993
       "Use packed stack layout (SystemZ only).", nullptr, nullptr, "-mpacked-stack", true, 0, CodeGenOpts.PackedStack, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6994
#endif // CODEGEN_OPTION_WITH_MARSHALLING
6995
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
6996
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("nobuiltininc"), nobuiltininc, Flag, INVALID, INVALID, nullptr, CC1Option | CoreOption, 0,
6997
       "Disable builtin #include directories", nullptr, nullptr, "-nobuiltininc", true, 0, HeaderSearchOpts->UseBuiltinIncludes, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
6998
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
6999
#ifdef LANG_OPTION_WITH_MARSHALLING
7000
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("nogpulib"), nogpulib, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
7001
       "Do not link device library for CUDA/HIP device compilation", nullptr, nullptr, "-nogpulib", true, 0, LangOpts->NoGPULib, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7002
#endif // LANG_OPTION_WITH_MARSHALLING
7003
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
7004
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("nostdinc++"), nostdincxx, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
7005
       "Disable standard #include directories for the C++ standard library", nullptr, nullptr, "-nostdinc++", true, 0, HeaderSearchOpts->UseStandardCXXIncludes, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7006
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
7007
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7008
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("o"), o, JoinedOrSeparate, INVALID, INVALID, nullptr, NoXarchOption | CC1Option | CC1AsOption | FC1Option | FlangOption, 0,
7009
       "Write output to <file>", "<file>", nullptr, "-o", true, 0, FrontendOpts.OutputFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7010
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7011
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7012
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("object-file-name="), object_file_name_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | CoreOption, 0,
7013
       "Set the output <file> for debug infos", "<file>", nullptr, "-object-file-name=", true, 0, CodeGenOpts.ObjectFilenameForDebug, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7014
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7015
#ifdef DIAG_OPTION_WITH_MARSHALLING
7016
DIAG_OPTION_WITH_MARSHALLING(prefix_4, llvm::StringLiteral("pedantic-errors"), pedantic_errors, Flag, pedantic_Group, INVALID, nullptr, CC1Option, 0, nullptr, nullptr, nullptr, "-pedantic-errors", true, 0, DiagnosticOpts->PedanticErrors, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7017
#endif // DIAG_OPTION_WITH_MARSHALLING
7018
#ifdef DIAG_OPTION_WITH_MARSHALLING
7019
DIAG_OPTION_WITH_MARSHALLING(prefix_4, llvm::StringLiteral("pedantic"), pedantic, Flag, pedantic_Group, INVALID, nullptr, CC1Option | FlangOption | FC1Option, 0,
7020
       "Warn on language extensions", nullptr, nullptr, "-pedantic", true, 0, DiagnosticOpts->Pedantic, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7021
#endif // DIAG_OPTION_WITH_MARSHALLING
7022
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7023
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("pg"), pg, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
7024
       "Enable mcount instrumentation", nullptr, nullptr, "-pg", true, 0, CodeGenOpts.InstrumentForProfiling, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7025
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7026
#ifdef LANG_OPTION_WITH_MARSHALLING
7027
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("print-ivar-layout"), print_ivar_layout, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
7028
       "Enable Objective-C Ivar layout bitmap print trace", nullptr, nullptr, "-print-ivar-layout", true, 0, LangOpts->ObjCGCBitmapPrint, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7029
#endif // LANG_OPTION_WITH_MARSHALLING
7030
#ifdef LANG_OPTION_WITH_MARSHALLING
7031
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("pthread"), pthread, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
7032
       "Support POSIX threads in generated code", nullptr, nullptr, "-pthread", true, 0, LangOpts->POSIXThreads, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_no_pthread), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7033
#endif // LANG_OPTION_WITH_MARSHALLING
7034
#ifdef LANG_OPTION_WITH_MARSHALLING
7035
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("no-pthread"), no_pthread, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
7036
       "", nullptr, nullptr, "-no-pthread", true, 0, LangOpts->POSIXThreads, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_pthread), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7037
#endif // LANG_OPTION_WITH_MARSHALLING
7038
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
7039
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("resource-dir"), resource_dir, Separate, INVALID, INVALID, nullptr, NoXarchOption | CC1Option | CoreOption | HelpHidden, 0,
7040
       "The directory which holds the compiler resource files", nullptr, nullptr, "-resource-dir", true, 0, HeaderSearchOpts->ResourceDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7041
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
7042
#ifdef LANG_OPTION_WITH_MARSHALLING
7043
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fopenmp-implicit-rpath"), fopenmp_implicit_rpath, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, 0,
7044
       "Set rpath on OpenMP executables", nullptr, nullptr, "-fopenmp-implicit-rpath", true, 0, LangOpts->OpenMP, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_openmp_implicit_rpath), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7045
#endif // LANG_OPTION_WITH_MARSHALLING
7046
#ifdef LANG_OPTION_WITH_MARSHALLING
7047
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-openmp-implicit-rpath"), fno_openmp_implicit_rpath, Flag, f_Group, INVALID, nullptr, NoArgumentUnused, 0,
7048
       "", nullptr, nullptr, "-fno-openmp-implicit-rpath", true, 0, LangOpts->OpenMP, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_fopenmp_implicit_rpath), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7049
#endif // LANG_OPTION_WITH_MARSHALLING
7050
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7051
FRONTEND_OPTION_WITH_MARSHALLING(prefix_4, llvm::StringLiteral("print-supported-cpus"), print_supported_cpus, Flag, CompileOnly_Group, INVALID, nullptr, CC1Option | CoreOption, 0,
7052
       "Print supported cpu models for the given target (if target is not specified, it will print the supported cpus for the default target)", nullptr, nullptr, "-print-supported-cpus", true, 0, FrontendOpts.PrintSupportedCPUs, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7053
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7054
#ifdef LANG_OPTION_WITH_MARSHALLING
7055
LANG_OPTION_WITH_MARSHALLING(prefix_4, llvm::StringLiteral("traditional-cpp"), traditional_cpp, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
7056
       "Enable some traditional CPP emulation", nullptr, nullptr, "-traditional-cpp", true, 0, LangOpts->TraditionalCPP, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7057
#endif // LANG_OPTION_WITH_MARSHALLING
7058
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
7059
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("undef"), undef, Flag, u_Group, INVALID, nullptr, CC1Option, 0,
7060
       "undef all system defines", nullptr, nullptr, "-undef", true, 0, PreprocessorOpts->UsePredefines, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7061
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
7062
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
7063
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("v"), v, Flag, INVALID, INVALID, nullptr, CC1Option | CoreOption, 0,
7064
       "Show commands to run and use verbose output", nullptr, nullptr, "-v", true, 0, HeaderSearchOpts->Verbose, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7065
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
7066
#ifdef LANG_OPTION_WITH_MARSHALLING
7067
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("faltivec-src-compat="), altivec_src_compat, Joined, f_Group, INVALID, nullptr, CC1Option, 0,
7068
       "Source-level compatibility for Altivec vectors (for PowerPC targets). This includes results of vector comparison (scalar for 'xl', vector for 'gcc') as well as behavior when initializing with a scalar (splatting for 'xl', element zero only for 'gcc'). For 'mixed', the compatibility is as 'gcc' for 'vector bool/vector pixel' and as 'xl' for other types. Current default is 'mixed'.", nullptr, "mixed,gcc,xl", "-faltivec-src-compat=", true, 0, LangOpts->AltivecSrcCompat, LangOptions::AltivecSrcCompatKind::Mixed, false, LangOptions::AltivecSrcCompatKind::Mixed, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 32)
7069
#endif // LANG_OPTION_WITH_MARSHALLING
7070
#ifdef DIAG_OPTION_WITH_MARSHALLING
7071
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("w"), w, Flag, INVALID, INVALID, nullptr, CC1Option, 0,
7072
       "Suppress all warnings", nullptr, nullptr, "-w", true, 0, DiagnosticOpts->IgnoreWarnings, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7073
#endif // DIAG_OPTION_WITH_MARSHALLING
7074
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7075
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-integrated-as"), fno_integrated_as, Flag, f_Group, INVALID, nullptr, CC1Option | FlangOption, 0,
7076
       "Disable the integrated assembler", nullptr, nullptr, "-fno-integrated-as", true, 0, CodeGenOpts.DisableIntegratedAS, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fintegrated_as), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7077
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7078
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7079
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fintegrated-as"), fintegrated_as, Flag, f_Group, INVALID, nullptr, 0, 0,
7080
       "Enable the integrated assembler", nullptr, nullptr, "-fintegrated-as", true, 0, CodeGenOpts.DisableIntegratedAS, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fno_integrated_as), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7081
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7082
#ifdef FILE_SYSTEM_OPTION_WITH_MARSHALLING
7083
FILE_SYSTEM_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("working-directory"), working_directory, Separate, INVALID, INVALID, nullptr, CC1Option, 0,
7084
       "Resolve file paths relative to the specified directory", nullptr, nullptr, "-working-directory", true, 0, FileSystemOpts.WorkingDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7085
#endif // FILE_SYSTEM_OPTION_WITH_MARSHALLING
7086
#ifdef LANG_OPTION_WITH_MARSHALLING
7087
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsemantic-interposition"), fsemantic_interposition, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
7088
       "", nullptr, nullptr, "-fsemantic-interposition", true, 0, LangOpts->SemanticInterposition, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_semantic_interposition), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7089
#endif // LANG_OPTION_WITH_MARSHALLING
7090
#ifdef LANG_OPTION_WITH_MARSHALLING
7091
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-semantic-interposition"), fno_semantic_interposition, Flag, f_Group, INVALID, nullptr, 0, 0,
7092
       "", nullptr, nullptr, "-fno-semantic-interposition", true, 0, LangOpts->SemanticInterposition, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fsemantic_interposition), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7093
#endif // LANG_OPTION_WITH_MARSHALLING
7094
#ifdef TARGET_OPTION_WITH_MARSHALLING
7095
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("tune-cpu"), tune_cpu, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7096
       "Tune for a specific cpu type", nullptr, nullptr, "-tune-cpu", true, 0, TargetOpts->TuneCPU, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7097
#endif // TARGET_OPTION_WITH_MARSHALLING
7098
#ifdef TARGET_OPTION_WITH_MARSHALLING
7099
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("target-abi"), target_abi, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7100
       "Target a particular ABI type", nullptr, nullptr, "-target-abi", true, 0, TargetOpts->ABI, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7101
#endif // TARGET_OPTION_WITH_MARSHALLING
7102
#ifdef TARGET_OPTION_WITH_MARSHALLING
7103
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("darwin-target-variant-triple"), darwin_target_variant_triple, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption, 0,
7104
       "Specify the darwin target variant triple", nullptr, nullptr, "-darwin-target-variant-triple", true, 0, TargetOpts->DarwinTargetVariantTriple, std::string(), false, std::string(), normalizeTriple, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7105
#endif // TARGET_OPTION_WITH_MARSHALLING
7106
#ifdef TARGET_OPTION_WITH_MARSHALLING
7107
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("target-cpu"), target_cpu, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | FC1Option | NoDriverOption, 0,
7108
       "Target a specific cpu type", nullptr, nullptr, "-target-cpu", true, 0, TargetOpts->CPU, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7109
#endif // TARGET_OPTION_WITH_MARSHALLING
7110
#ifdef TARGET_OPTION_WITH_MARSHALLING
7111
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("target-feature"), target_feature, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | FC1Option | NoDriverOption, 0,
7112
       "Target specific attributes", nullptr, nullptr, "-target-feature", true, 0, TargetOpts->FeaturesAsWritten, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
7113
#endif // TARGET_OPTION_WITH_MARSHALLING
7114
#ifdef TARGET_OPTION_WITH_MARSHALLING
7115
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("triple"), triple, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | FC1Option | NoDriverOption, 0,
7116
       "Specify target triple (e.g. i686-apple-darwin9)", nullptr, nullptr, "-triple", true, 1, TargetOpts->Triple, llvm::Triple::normalize(llvm::sys::getDefaultTargetTriple()), false, llvm::Triple::normalize(llvm::sys::getDefaultTargetTriple()), normalizeTriple, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7117
#endif // TARGET_OPTION_WITH_MARSHALLING
7118
#ifdef TARGET_OPTION_WITH_MARSHALLING
7119
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("target-linker-version"), target_linker_version, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7120
       "Target linker version", nullptr, nullptr, "-target-linker-version", true, 0, TargetOpts->LinkerVersion, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7121
#endif // TARGET_OPTION_WITH_MARSHALLING
7122
#ifdef TARGET_OPTION_WITH_MARSHALLING
7123
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mfpmath"), mfpmath, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7124
       "Which unit to use for fp math", nullptr, nullptr, "-mfpmath", true, 0, TargetOpts->FPMath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7125
#endif // TARGET_OPTION_WITH_MARSHALLING
7126
#ifdef LANG_OPTION_WITH_MARSHALLING
7127
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fpadding-on-unsigned-fixed-point"), fpadding_on_unsigned_fixed_point, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7128
       "Force each unsigned fixed point type to have an extra bit of padding to align their scales with those of signed fixed point types", nullptr, nullptr, "-fpadding-on-unsigned-fixed-point", LangOpts->FixedPoint, 0, LangOpts->PaddingOnUnsignedFixedPoint, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_padding_on_unsigned_fixed_point), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7129
#endif // LANG_OPTION_WITH_MARSHALLING
7130
#ifdef LANG_OPTION_WITH_MARSHALLING
7131
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-padding-on-unsigned-fixed-point"), fno_padding_on_unsigned_fixed_point, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7132
       "", nullptr, nullptr, "-fno-padding-on-unsigned-fixed-point", LangOpts->FixedPoint, 0, LangOpts->PaddingOnUnsignedFixedPoint, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fpadding_on_unsigned_fixed_point), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7133
#endif // LANG_OPTION_WITH_MARSHALLING
7134
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7135
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("unoptimized-cfg"), analysis_UnoptimizedCFG, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7136
       "Generate unoptimized CFGs for all analyses", nullptr, nullptr, "-unoptimized-cfg", true, 0, AnalyzerOpts->UnoptimizedCFG, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7137
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7138
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7139
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-opt-analyze-headers"), analyzer_opt_analyze_headers, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7140
       "Force the static analyzer to analyze functions defined in header files", nullptr, nullptr, "-analyzer-opt-analyze-headers", true, 0, AnalyzerOpts->AnalyzeAll, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7141
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7142
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7143
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-display-progress"), analyzer_display_progress, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7144
       "Emit verbose output about the analyzer's progress", nullptr, nullptr, "-analyzer-display-progress", true, 0, AnalyzerOpts->AnalyzerDisplayProgress, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7145
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7146
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7147
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyze-function"), analyze_function, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7148
       "Run analysis on specific function (for C++ include parameters in name)", nullptr, nullptr, "-analyze-function", true, 0, AnalyzerOpts->AnalyzeSpecificFunction, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7149
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7150
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7151
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("trim-egraph"), trim_egraph, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7152
       "Only show error-related paths in the analysis graph", nullptr, nullptr, "-trim-egraph", true, 0, AnalyzerOpts->TrimGraph, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7153
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7154
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7155
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-viz-egraph-graphviz"), analyzer_viz_egraph_graphviz, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7156
       "Display exploded graph using GraphViz", nullptr, nullptr, "-analyzer-viz-egraph-graphviz", true, 0, AnalyzerOpts->visualizeExplodedGraphWithGraphViz, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7157
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7158
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7159
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-dump-egraph"), analyzer_dump_egraph, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7160
       "Dump exploded graph to the specified file", nullptr, nullptr, "-analyzer-dump-egraph", true, 0, AnalyzerOpts->DumpExplodedGraphTo, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7161
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7162
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7163
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-inline-max-stack-depth"), analyzer_inline_max_stack_depth, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7164
       "Bound on stack depth while inlining (4 by default)", nullptr, nullptr, "-analyzer-inline-max-stack-depth", true, 0, AnalyzerOpts->InlineMaxStackDepth, 5, false, 5, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7165
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7166
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7167
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-disable-retry-exhausted"), analyzer_disable_retry_exhausted, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7168
       "Do not re-analyze paths leading to exhausted nodes with a different strategy (may decrease code coverage)", nullptr, nullptr, "-analyzer-disable-retry-exhausted", true, 0, AnalyzerOpts->NoRetryExhausted, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7169
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7170
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7171
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-max-loop"), analyzer_max_loop, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7172
       "The maximum number of times the analyzer will go through a loop", nullptr, nullptr, "-analyzer-max-loop", true, 0, AnalyzerOpts->maxBlockVisitOnPath, 4, false, 4, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7173
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7174
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7175
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-stats"), analyzer_stats, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7176
       "Print internal analyzer statistics.", nullptr, nullptr, "-analyzer-stats", true, 0, AnalyzerOpts->PrintStats, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7177
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7178
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7179
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-disable-all-checks"), analyzer_disable_all_checks, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7180
       "Disable all static analyzer checks", nullptr, nullptr, "-analyzer-disable-all-checks", true, 0, AnalyzerOpts->DisableAllCheckers, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7181
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7182
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7183
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-checker-help"), analyzer_checker_help, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7184
       "Display the list of analyzer checkers that are available", nullptr, nullptr, "-analyzer-checker-help", true, 0, AnalyzerOpts->ShowCheckerHelp, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7185
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7186
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7187
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-checker-help-alpha"), analyzer_checker_help_alpha, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7188
       "Display the list of in development analyzer checkers. These are NOT considered safe, they are unstable and will emit incorrect reports. Enable ONLY FOR DEVELOPMENT purposes", nullptr, nullptr, "-analyzer-checker-help-alpha", true, 0, AnalyzerOpts->ShowCheckerHelpAlpha, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7189
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7190
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7191
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-checker-help-developer"), analyzer_checker_help_developer, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7192
       "Display the list of developer-only checkers such as modeling and debug checkers", nullptr, nullptr, "-analyzer-checker-help-developer", true, 0, AnalyzerOpts->ShowCheckerHelpDeveloper, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7193
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7194
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7195
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-config-help"), analyzer_config_help, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7196
       "Display the list of -analyzer-config options. These are meant for development purposes only!", nullptr, nullptr, "-analyzer-config-help", true, 0, AnalyzerOpts->ShowConfigOptionsList, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7197
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7198
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7199
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-list-enabled-checkers"), analyzer_list_enabled_checkers, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7200
       "Display the list of enabled analyzer checkers", nullptr, nullptr, "-analyzer-list-enabled-checkers", true, 0, AnalyzerOpts->ShowEnabledCheckerList, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7201
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7202
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7203
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-checker-option-help"), analyzer_checker_option_help, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7204
       "Display the list of checker and package options", nullptr, nullptr, "-analyzer-checker-option-help", true, 0, AnalyzerOpts->ShowCheckerOptionList, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7205
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7206
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7207
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-checker-option-help-alpha"), analyzer_checker_option_help_alpha, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7208
       "Display the list of in development checker and package options. These are NOT considered safe, they are unstable and will emit incorrect reports. Enable ONLY FOR DEVELOPMENT purposes", nullptr, nullptr, "-analyzer-checker-option-help-alpha", true, 0, AnalyzerOpts->ShowCheckerOptionAlphaList, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7209
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7210
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7211
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-checker-option-help-developer"), analyzer_checker_option_help_developer, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7212
       "Display the list of checker and package options meant for development purposes only", nullptr, nullptr, "-analyzer-checker-option-help-developer", true, 0, AnalyzerOpts->ShowCheckerOptionDeveloperList, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7213
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7214
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7215
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-config-compatibility-mode"), analyzer_config_compatibility_mode, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7216
       "Don't emit errors on invalid analyzer-config inputs", nullptr, "true,false", "-analyzer-config-compatibility-mode", true, 0, AnalyzerOpts->ShouldEmitErrorsOnInvalidConfigValue, true, false, true, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 33)
7217
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7218
#ifdef ANALYZER_OPTION_WITH_MARSHALLING
7219
ANALYZER_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("analyzer-werror"), analyzer_werror, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7220
       "Emit analyzer results as errors rather than warnings", nullptr, nullptr, "-analyzer-werror", true, 0, AnalyzerOpts->AnalyzerWerror, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7221
#endif // ANALYZER_OPTION_WITH_MARSHALLING
7222
#ifdef MIGRATOR_OPTION_WITH_MARSHALLING
7223
MIGRATOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("no-ns-alloc-error"), migrator_no_nsalloc_error, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7224
       "Do not error on use of NSAllocateCollectable/NSReallocateCollectable", nullptr, nullptr, "-no-ns-alloc-error", true, 0, MigratorOpts.NoNSAllocReallocError, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7225
#endif // MIGRATOR_OPTION_WITH_MARSHALLING
7226
#ifdef MIGRATOR_OPTION_WITH_MARSHALLING
7227
MIGRATOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("no-finalize-removal"), migrator_no_finalize_removal, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7228
       "Do not remove finalize method in gc mode", nullptr, nullptr, "-no-finalize-removal", true, 0, MigratorOpts.NoFinalizeRemoval, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7229
#endif // MIGRATOR_OPTION_WITH_MARSHALLING
7230
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7231
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mrelocation-model"), mrelocation_model, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | FC1Option | NoDriverOption, 0,
7232
       "The relocation model to use", nullptr, "static,pic,ropi,rwpi,ropi-rwpi,dynamic-no-pic", "-mrelocation-model", true, 0, CodeGenOpts.RelocationModel, llvm::Reloc::PIC_, false, llvm::Reloc::PIC_, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 34)
7233
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7234
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7235
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("debug-info-macro"), debug_info_macro, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7236
       "Emit macro debug information", nullptr, nullptr, "-debug-info-macro", true, 0, CodeGenOpts.MacroDebugInfo, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7237
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7238
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7239
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("default-function-attr"), default_function_attr, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7240
       "Apply given attribute to all functions", nullptr, nullptr, "-default-function-attr", true, 0, CodeGenOpts.DefaultFunctionAttrs, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
7241
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7242
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7243
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("dwarf-version="), dwarf_version_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0, nullptr, nullptr, nullptr, "-dwarf-version=", true, 0, CodeGenOpts.DwarfVersion, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7244
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7245
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7246
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("debugger-tuning="), debugger_tuning_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0, nullptr, nullptr, "gdb,lldb,sce,dbx", "-debugger-tuning=", true, 0, CodeGenOpts.DebuggerTuning, llvm::DebuggerKind::Default, false, llvm::DebuggerKind::Default, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 35)
7247
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7248
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7249
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("dwarf-debug-flags"), dwarf_debug_flags, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7250
       "The string to embed in the Dwarf debug flags record.", nullptr, nullptr, "-dwarf-debug-flags", true, 0, CodeGenOpts.DwarfDebugFlags, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7251
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7252
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7253
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("record-command-line"), record_command_line, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7254
       "The string to embed in the .LLVM.command.line section.", nullptr, nullptr, "-record-command-line", true, 0, CodeGenOpts.RecordCommandLine, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7255
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7256
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7257
CODEGEN_OPTION_WITH_MARSHALLING(prefix_4, llvm::StringLiteral("compress-debug-sections="), compress_debug_sections_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7258
       "DWARF debug sections compression type", nullptr, "none,zlib,zstd", "-compress-debug-sections=", true, 0, CodeGenOpts.CompressDebugSections, llvm::DebugCompressionType::None, false, llvm::DebugCompressionType::None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 36)
7259
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7260
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7261
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mnoexecstack"), mno_exec_stack, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7262
       "Mark the file as not needing an executable stack", nullptr, nullptr, "-mnoexecstack", true, 0, CodeGenOpts.NoExecStack, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7263
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7264
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7265
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("massembler-no-warn"), massembler_no_warn, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7266
       "Make assembler not emit warnings", nullptr, nullptr, "-massembler-no-warn", true, 0, CodeGenOpts.NoWarn, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7267
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7268
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7269
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("massembler-fatal-warnings"), massembler_fatal_warnings, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7270
       "Make assembler warnings fatal", nullptr, nullptr, "-massembler-fatal-warnings", true, 0, CodeGenOpts.FatalWarnings, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7271
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7272
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7273
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mrelax-relocations=no"), mrelax_relocations_no, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7274
       "Disable x86 relax relocations", nullptr, nullptr, "-mrelax-relocations=no", true, 0, CodeGenOpts.RelaxELFRelocations, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7275
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7276
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7277
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("msave-temp-labels"), msave_temp_labels, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7278
       "Save temporary labels in the symbol table. Note this may change .s semantics and shouldn't generally be used on compiler-generated code.", nullptr, nullptr, "-msave-temp-labels", true, 0, CodeGenOpts.SaveTempLabels, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7279
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7280
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7281
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mno-type-check"), mno_type_check, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7282
       "Don't perform type checking of the assembly code (wasm only)", nullptr, nullptr, "-mno-type-check", true, 0, CodeGenOpts.NoTypeCheck, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7283
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7284
#ifdef LANG_OPTION_WITH_MARSHALLING
7285
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-math-builtin"), fno_math_builtin, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7286
       "Disable implicit builtin knowledge of math functions", nullptr, nullptr, "-fno-math-builtin", true, 0, LangOpts->NoMathBuiltin, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7287
#endif // LANG_OPTION_WITH_MARSHALLING
7288
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7289
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("as-secure-log-file"), as_secure_log_file, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7290
       "Emit .secure_log_unique directives to this filename.", nullptr, nullptr, "-as-secure-log-file", true, 0, CodeGenOpts.AsSecureLogFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7291
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7292
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7293
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("disable-llvm-verifier"), disable_llvm_verifier, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7294
       "Don't run the LLVM IR verifier pass", nullptr, nullptr, "-disable-llvm-verifier", true, 0, CodeGenOpts.VerifyModule, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7295
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7296
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7297
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("disable-llvm-passes"), disable_llvm_passes, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7298
       "Use together with -emit-llvm to get pristine LLVM IR from the frontend by not running any LLVM passes at all", nullptr, nullptr, "-disable-llvm-passes", true, 0, CodeGenOpts.DisableLLVMPasses, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7299
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7300
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7301
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("disable-lifetime-markers"), disable_lifetimemarkers, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7302
       "Disable lifetime-markers emission even when optimizations are enabled", nullptr, nullptr, "-disable-lifetime-markers", true, 0, CodeGenOpts.DisableLifetimeMarkers, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7303
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7304
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7305
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("disable-O0-optnone"), disable_O0_optnone, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7306
       "Disable adding the optnone attribute to functions at O0", nullptr, nullptr, "-disable-O0-optnone", true, 0, CodeGenOpts.DisableO0ImplyOptNone, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7307
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7308
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7309
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("disable-red-zone"), disable_red_zone, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7310
       "Do not emit code that uses the red zone.", nullptr, nullptr, "-disable-red-zone", true, 0, CodeGenOpts.DisableRedZone, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7311
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7312
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7313
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("dwarf-ext-refs"), dwarf_ext_refs, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7314
       "Generate debug info with external references to clang modules or precompiled headers", nullptr, nullptr, "-dwarf-ext-refs", true, 0, CodeGenOpts.DebugTypeExtRefs, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7315
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7316
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7317
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("dwarf-explicit-import"), dwarf_explicit_import, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7318
       "Generate explicit import from anonymous namespace to containing scope", nullptr, nullptr, "-dwarf-explicit-import", true, 0, CodeGenOpts.DebugExplicitImport, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7319
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7320
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7321
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("debug-forward-template-params"), debug_forward_template_params, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7322
       "Emit complete descriptions of template parameters in forward declarations", nullptr, nullptr, "-debug-forward-template-params", true, 0, CodeGenOpts.DebugFwdTemplateParams, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7323
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7324
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7325
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fforbid-guard-variables"), fforbid_guard_variables, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7326
       "Emit an error if a C++ static local initializer would need a guard variable", nullptr, nullptr, "-fforbid-guard-variables", true, 0, CodeGenOpts.ForbidGuardVariables, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7327
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7328
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7329
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("no-implicit-float"), no_implicit_float, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7330
       "Don't generate implicit floating point or vector instructions", nullptr, nullptr, "-no-implicit-float", true, 0, CodeGenOpts.NoImplicitFloat, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7331
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7332
#ifdef LANG_OPTION_WITH_MARSHALLING
7333
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdump-vtable-layouts"), fdump_vtable_layouts, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7334
       "Dump the layouts of all vtables that will be emitted in a translation unit", nullptr, nullptr, "-fdump-vtable-layouts", true, 0, LangOpts->DumpVTableLayouts, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7335
#endif // LANG_OPTION_WITH_MARSHALLING
7336
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7337
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmerge-functions"), fmerge_functions, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7338
       "Permit merging of identical functions when optimizing.", nullptr, nullptr, "-fmerge-functions", true, 0, CodeGenOpts.MergeFunctions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7339
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7340
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7341
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("coverage-data-file"), coverage_data_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7342
       "Emit coverage data to this filename.", nullptr, nullptr, "-coverage-data-file", CodeGenOpts.EmitGcovArcs||CodeGenOpts.EmitGcovNotes, 0, CodeGenOpts.CoverageDataFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7343
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7344
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7345
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("coverage-notes-file"), coverage_notes_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7346
       "Emit coverage notes to this filename.", nullptr, nullptr, "-coverage-notes-file", CodeGenOpts.EmitGcovArcs||CodeGenOpts.EmitGcovNotes, 0, CodeGenOpts.CoverageNotesFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7347
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7348
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7349
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("dump-coverage-mapping"), dump_coverage_mapping, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7350
       "Dump the coverage mapping records, for testing", nullptr, nullptr, "-dump-coverage-mapping", true, 0, CodeGenOpts.DumpCoverageMapping, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7351
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7352
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7353
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fuse-register-sized-bitfield-access"), fuse_register_sized_bitfield_access, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7354
       "Use register sized accesses to bit-fields, when possible.", nullptr, nullptr, "-fuse-register-sized-bitfield-access", true, 0, CodeGenOpts.UseRegisterSizedBitfieldAccess, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7355
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7356
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7357
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("relaxed-aliasing"), relaxed_aliasing, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7358
       "Turn off Type Based Alias Analysis", nullptr, nullptr, "-relaxed-aliasing", true, 0, CodeGenOpts.RelaxedAliasing, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7359
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7360
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7361
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("no-struct-path-tbaa"), no_struct_path_tbaa, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7362
       "Turn off struct-path aware Type Based Alias Analysis", nullptr, nullptr, "-no-struct-path-tbaa", true, 0, CodeGenOpts.StructPathTBAA, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7363
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7364
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7365
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mdebug-pass"), mdebug_pass, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7366
       "Enable additional debug output", nullptr, nullptr, "-mdebug-pass", true, 0, CodeGenOpts.DebugPass, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7367
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7368
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7369
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mframe-pointer="), mframe_pointer_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7370
       "Specify which frame pointers to retain.", nullptr, "all,non-leaf,none", "-mframe-pointer=", true, 0, CodeGenOpts.FramePointer, CodeGenOptions::FramePointerKind::None, false, CodeGenOptions::FramePointerKind::None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 37)
7371
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7372
#ifdef LANG_OPTION_WITH_MARSHALLING
7373
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mabi=ieeelongdouble"), mabi_EQ_ieeelongdouble, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7374
       "Use IEEE 754 quadruple-precision for long double", nullptr, nullptr, "-mabi=ieeelongdouble", true, 0, LangOpts->PPCIEEELongDouble, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7375
#endif // LANG_OPTION_WITH_MARSHALLING
7376
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7377
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mfloat-abi"), mfloat_abi, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7378
       "The float ABI to use", nullptr, nullptr, "-mfloat-abi", true, 0, CodeGenOpts.FloatABI, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7379
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7380
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7381
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mlimit-float-precision"), mlimit_float_precision, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7382
       "Limit float precision to the given value", nullptr, nullptr, "-mlimit-float-precision", true, 0, CodeGenOpts.LimitFloatPrecision, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7383
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7384
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7385
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mregparm"), mregparm, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7386
       "Limit the number of registers available for integer arguments", nullptr, nullptr, "-mregparm", true, 0, CodeGenOpts.NumRegisterParameters, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7387
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7388
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7389
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("msmall-data-limit"), msmall_data_limit, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7390
       "Put global and static data smaller than the limit into a special section", nullptr, nullptr, "-msmall-data-limit", true, 0, CodeGenOpts.SmallDataLimit, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7391
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7392
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7393
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("funwind-tables="), funwind_tables_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7394
       "Generate unwinding tables for all functions", nullptr, nullptr, "-funwind-tables=", true, 0, CodeGenOpts.UnwindTables, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7395
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7396
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7397
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mconstructor-aliases"), mconstructor_aliases, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7398
       "Enable emitting complete constructors and destructors as aliases when possible", nullptr, nullptr, "-mconstructor-aliases", true, 0, CodeGenOpts.CXXCtorDtorAliases, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_mno_constructor_aliases), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7399
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7400
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7401
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mno-constructor-aliases"), mno_constructor_aliases, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7402
       "Disable emitting complete constructors and destructors as aliases when possible", nullptr, nullptr, "-mno-constructor-aliases", true, 0, CodeGenOpts.CXXCtorDtorAliases, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_mconstructor_aliases), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7403
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7404
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7405
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("vectorize-loops"), vectorize_loops, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7406
       "Run the Loop vectorization passes", nullptr, nullptr, "-vectorize-loops", true, 0, CodeGenOpts.VectorizeLoop, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7407
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7408
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7409
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("vectorize-slp"), vectorize_slp, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7410
       "Run the SLP vectorization passes", nullptr, nullptr, "-vectorize-slp", true, 0, CodeGenOpts.VectorizeSLP, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7411
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7412
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7413
CODEGEN_OPTION_WITH_MARSHALLING(prefix_3, llvm::StringLiteral("dependent-lib="), dependent_lib, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7414
       "Add dependent library", nullptr, nullptr, "--dependent-lib=", true, 0, CodeGenOpts.DependentLibraries, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
7415
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7416
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7417
CODEGEN_OPTION_WITH_MARSHALLING(prefix_3, llvm::StringLiteral("linker-option="), linker_option, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7418
       "Add linker option", nullptr, nullptr, "--linker-option=", true, 0, CodeGenOpts.LinkerOptions, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
7419
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7420
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7421
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-type="), fsanitize_coverage_type, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7422
       "Sanitizer coverage type", nullptr, nullptr, "-fsanitize-coverage-type=", true, 0, CodeGenOpts.SanitizeCoverageType, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7423
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7424
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7425
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-indirect-calls"), fsanitize_coverage_indirect_calls, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7426
       "Enable sanitizer coverage for indirect calls", nullptr, nullptr, "-fsanitize-coverage-indirect-calls", true, 0, CodeGenOpts.SanitizeCoverageIndirectCalls, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7427
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7428
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7429
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-bb"), fsanitize_coverage_trace_bb, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7430
       "Enable basic block tracing in sanitizer coverage", nullptr, nullptr, "-fsanitize-coverage-trace-bb", true, 0, CodeGenOpts.SanitizeCoverageTraceBB, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7431
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7432
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7433
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-cmp"), fsanitize_coverage_trace_cmp, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7434
       "Enable cmp instruction tracing in sanitizer coverage", nullptr, nullptr, "-fsanitize-coverage-trace-cmp", true, 0, CodeGenOpts.SanitizeCoverageTraceCmp, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7435
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7436
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7437
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-div"), fsanitize_coverage_trace_div, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7438
       "Enable div instruction tracing in sanitizer coverage", nullptr, nullptr, "-fsanitize-coverage-trace-div", true, 0, CodeGenOpts.SanitizeCoverageTraceDiv, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7439
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7440
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7441
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-gep"), fsanitize_coverage_trace_gep, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7442
       "Enable gep instruction tracing in sanitizer coverage", nullptr, nullptr, "-fsanitize-coverage-trace-gep", true, 0, CodeGenOpts.SanitizeCoverageTraceGep, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7443
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7444
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7445
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-8bit-counters"), fsanitize_coverage_8bit_counters, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7446
       "Enable frequency counters in sanitizer coverage", nullptr, nullptr, "-fsanitize-coverage-8bit-counters", true, 0, CodeGenOpts.SanitizeCoverage8bitCounters, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7447
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7448
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7449
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-inline-8bit-counters"), fsanitize_coverage_inline_8bit_counters, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7450
       "Enable inline 8-bit counters in sanitizer coverage", nullptr, nullptr, "-fsanitize-coverage-inline-8bit-counters", true, 0, CodeGenOpts.SanitizeCoverageInline8bitCounters, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7451
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7452
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7453
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-inline-bool-flag"), fsanitize_coverage_inline_bool_flag, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7454
       "Enable inline bool flag in sanitizer coverage", nullptr, nullptr, "-fsanitize-coverage-inline-bool-flag", true, 0, CodeGenOpts.SanitizeCoverageInlineBoolFlag, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7455
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7456
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7457
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-pc-table"), fsanitize_coverage_pc_table, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7458
       "Create a table of coverage-instrumented PCs", nullptr, nullptr, "-fsanitize-coverage-pc-table", true, 0, CodeGenOpts.SanitizeCoveragePCTable, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7459
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7460
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7461
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-control-flow"), fsanitize_coverage_control_flow, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7462
       "Collect control flow of function", nullptr, nullptr, "-fsanitize-coverage-control-flow", true, 0, CodeGenOpts.SanitizeCoverageControlFlow, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7463
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7464
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7465
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-pc"), fsanitize_coverage_trace_pc, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7466
       "Enable PC tracing in sanitizer coverage", nullptr, nullptr, "-fsanitize-coverage-trace-pc", true, 0, CodeGenOpts.SanitizeCoverageTracePC, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7467
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7468
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7469
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-pc-guard"), fsanitize_coverage_trace_pc_guard, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7470
       "Enable PC tracing with guard in sanitizer coverage", nullptr, nullptr, "-fsanitize-coverage-trace-pc-guard", true, 0, CodeGenOpts.SanitizeCoverageTracePCGuard, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7471
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7472
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7473
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-no-prune"), fsanitize_coverage_no_prune, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7474
       "Disable coverage pruning (i.e. instrument all blocks/edges)", nullptr, nullptr, "-fsanitize-coverage-no-prune", true, 0, CodeGenOpts.SanitizeCoverageNoPrune, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7475
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7476
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7477
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-stack-depth"), fsanitize_coverage_stack_depth, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7478
       "Enable max stack depth tracing", nullptr, nullptr, "-fsanitize-coverage-stack-depth", true, 0, CodeGenOpts.SanitizeCoverageStackDepth, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7479
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7480
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7481
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-loads"), fsanitize_coverage_trace_loads, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7482
       "Enable tracing of loads", nullptr, nullptr, "-fsanitize-coverage-trace-loads", true, 0, CodeGenOpts.SanitizeCoverageTraceLoads, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7483
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7484
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7485
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsanitize-coverage-trace-stores"), fsanitize_coverage_trace_stores, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7486
       "Enable tracing of stores", nullptr, nullptr, "-fsanitize-coverage-trace-stores", true, 0, CodeGenOpts.SanitizeCoverageTraceStores, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7487
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7488
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7489
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fexperimental-sanitize-metadata=covered"), fexperimental_sanitize_metadata_EQ_covered, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7490
       "Emit PCs for code covered with binary analysis sanitizers", nullptr, nullptr, "-fexperimental-sanitize-metadata=covered", true, 0, CodeGenOpts.SanitizeBinaryMetadataCovered, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7491
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7492
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7493
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fexperimental-sanitize-metadata=atomics"), fexperimental_sanitize_metadata_EQ_atomics, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7494
       "Emit PCs for atomic operations used by binary analysis sanitizers", nullptr, nullptr, "-fexperimental-sanitize-metadata=atomics", true, 0, CodeGenOpts.SanitizeBinaryMetadataAtomics, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7495
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7496
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7497
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fexperimental-sanitize-metadata=uar"), fexperimental_sanitize_metadata_EQ_uar, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7498
       "Emit PCs for start of functions that are subject for use-after-return checking.", nullptr, nullptr, "-fexperimental-sanitize-metadata=uar", true, 0, CodeGenOpts.SanitizeBinaryMetadataUAR, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7499
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7500
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7501
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fpatchable-function-entry-offset="), fpatchable_function_entry_offset_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7502
       "Generate M NOPs before function entry", "<M>", nullptr, "-fpatchable-function-entry-offset=", true, 0, CodeGenOpts.PatchableFunctionEntryOffset, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7503
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7504
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7505
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-instrument="), fprofile_instrument_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7506
       "Enable PGO instrumentation", nullptr, "none,clang,llvm,csllvm", "-fprofile-instrument=", true, 0, CodeGenOpts.ProfileInstr, CodeGenOptions::ProfileNone, false, CodeGenOptions::ProfileNone, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 38)
7507
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7508
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7509
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-instrument-path="), fprofile_instrument_path_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7510
       "Generate instrumented code to collect execution counts into <file> (overridden by LLVM_PROFILE_FILE env var)", nullptr, nullptr, "-fprofile-instrument-path=", true, 0, CodeGenOpts.InstrProfileOutput, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7511
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7512
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7513
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fprofile-instrument-use-path="), fprofile_instrument_use_path_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7514
       "Specify the profile path in PGO use compilation", nullptr, nullptr, "-fprofile-instrument-use-path=", true, 0, CodeGenOpts.ProfileInstrumentUsePath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7515
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7516
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7517
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("flto-visibility-public-std"), flto_visibility_public_std, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7518
       "Use public LTO visibility for classes in std and stdext namespaces", nullptr, nullptr, "-flto-visibility-public-std", true, 0, CodeGenOpts.LTOVisibilityPublicStd, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7519
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7520
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7521
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("flto-unit"), flto_unit, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7522
       "Emit IR to support LTO unit features (CFI, whole program vtable opt)", nullptr, nullptr, "-flto-unit", true, 0, CodeGenOpts.LTOUnit, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_lto_unit), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7523
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7524
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7525
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-lto-unit"), fno_lto_unit, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7526
       "", nullptr, nullptr, "-fno-lto-unit", true, 0, CodeGenOpts.LTOUnit, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_flto_unit), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7527
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7528
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7529
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fverify-debuginfo-preserve"), fverify_debuginfo_preserve, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7530
       "Enable Debug Info Metadata preservation testing in optimizations.", nullptr, nullptr, "-fverify-debuginfo-preserve", true, 0, CodeGenOpts.EnableDIPreservationVerify, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7531
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7532
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7533
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fverify-debuginfo-preserve-export="), fverify_debuginfo_preserve_export, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7534
       "Export debug info (by testing original Debug Info) failures into specified (JSON) file (should be abs path as we use append mode to insert new JSON objects).", "<file>", nullptr, "-fverify-debuginfo-preserve-export=", true, 0, CodeGenOpts.DIBugsReportFilePath, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7535
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7536
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7537
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fwarn-stack-size="), fwarn_stack_size_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr, "-fwarn-stack-size=", true, 0, CodeGenOpts.WarnStackSize, UINT_MAX, false, UINT_MAX, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7538
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7539
#ifdef LANG_OPTION_WITH_MARSHALLING
7540
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mbranch-target-enforce"), mbranch_target_enforce, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr, "-mbranch-target-enforce", true, 0, LangOpts->BranchTargetEnforcement, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7541
#endif // LANG_OPTION_WITH_MARSHALLING
7542
#ifdef LANG_OPTION_WITH_MARSHALLING
7543
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-dllexport-inlines"), fno_dllexport_inlines, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0, nullptr, nullptr, nullptr, "-fno-dllexport-inlines", true, 0, LangOpts->DllExportInlines, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7544
#endif // LANG_OPTION_WITH_MARSHALLING
7545
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7546
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cfguard-no-checks"), cfguard_no_checks, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7547
       "Emit Windows Control Flow Guard tables only (no checks)", nullptr, nullptr, "-cfguard-no-checks", true, 0, CodeGenOpts.ControlFlowGuardNoChecks, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7548
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7549
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7550
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("cfguard"), cfguard, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7551
       "Emit Windows Control Flow Guard tables and checks", nullptr, nullptr, "-cfguard", true, 0, CodeGenOpts.ControlFlowGuard, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7552
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7553
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7554
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ehcontguard"), ehcontguard, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7555
       "Emit Windows EH Continuation Guard tables", nullptr, nullptr, "-ehcontguard", true, 0, CodeGenOpts.EHContGuard, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7556
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7557
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7558
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fctor-dtor-return-this"), fctor_dtor_return_this, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7559
       "Change the C++ ABI to returning `this` pointer from constructors and non-deleting destructors. (No effect on Microsoft ABI)", nullptr, nullptr, "-fctor-dtor-return-this", true, 0, CodeGenOpts.CtorDtorReturnThis, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7560
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7561
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7562
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fexperimental-assignment-tracking"), fexperimental_assignment_tracking, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7563
       "", nullptr, nullptr, "-fexperimental-assignment-tracking", true, 0, CodeGenOpts.EnableAssignmentTracking, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_experimental_assignment_tracking), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7564
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7565
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7566
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-experimental-assignment-tracking"), fno_experimental_assignment_tracking, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7567
       "", nullptr, nullptr, "-fno-experimental-assignment-tracking", true, 0, CodeGenOpts.EnableAssignmentTracking, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fexperimental_assignment_tracking), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7568
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7569
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
7570
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("sys-header-deps"), sys_header_deps, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7571
       "Include system headers in dependency output", nullptr, nullptr, "-sys-header-deps", true, 0, DependencyOutputOpts.IncludeSystemHeaders, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7572
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
7573
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
7574
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("module-file-deps"), module_file_deps, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7575
       "Include module files in dependency output", nullptr, nullptr, "-module-file-deps", true, 0, DependencyOutputOpts.IncludeModuleFiles, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7576
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
7577
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
7578
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("header-include-file"), header_include_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7579
       "Filename (or -) to write header include output to", nullptr, nullptr, "-header-include-file", true, 0, DependencyOutputOpts.HeaderIncludeOutputFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7580
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
7581
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
7582
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("header-include-format="), header_include_format_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7583
       "set format in which header info is emitted", nullptr, "textual,json", "-header-include-format=", true, 0, DependencyOutputOpts.HeaderIncludeFormat, HIFMT_Textual, false, HIFMT_Textual, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 39)
7584
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
7585
#ifdef DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
7586
DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("header-include-filtering="), header_include_filtering_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7587
       "set the flag that enables filtering header information", nullptr, "none,only-direct-system", "-header-include-filtering=", true, 0, DependencyOutputOpts.HeaderIncludeFiltering, HIFIL_None, false, HIFIL_None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 40)
7588
#endif // DEPENDENCY_OUTPUT_OPTION_WITH_MARSHALLING
7589
#ifdef DIAG_OPTION_WITH_MARSHALLING
7590
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("diagnostic-log-file"), diagnostic_log_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7591
       "Filename (or -) to log diagnostics to", nullptr, nullptr, "-diagnostic-log-file", true, 0, DiagnosticOpts->DiagnosticLogFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7592
#endif // DIAG_OPTION_WITH_MARSHALLING
7593
#ifdef DIAG_OPTION_WITH_MARSHALLING
7594
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdiagnostics-format"), fdiagnostics_format, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7595
       "Change diagnostic formatting to match IDE and command line tools", nullptr, "clang,msvc,vi,sarif,SARIF", "-fdiagnostics-format", true, 0, DiagnosticOpts->Format, DiagnosticOptions::Clang, false, DiagnosticOptions::Clang, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 41)
7596
#endif // DIAG_OPTION_WITH_MARSHALLING
7597
#ifdef DIAG_OPTION_WITH_MARSHALLING
7598
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdiagnostics-show-category"), fdiagnostics_show_category, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7599
       "Print diagnostic category", nullptr, "none,id,name", "-fdiagnostics-show-category", true, 0, DiagnosticOpts->ShowCategories, 0, false, 0, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 42)
7600
#endif // DIAG_OPTION_WITH_MARSHALLING
7601
#ifdef DIAG_OPTION_WITH_MARSHALLING
7602
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-diagnostics-use-presumed-location"), fno_diagnostics_use_presumed_location, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7603
       "Ignore #line directives when displaying diagnostic locations", nullptr, nullptr, "-fno-diagnostics-use-presumed-location", true, 0, DiagnosticOpts->ShowPresumedLoc, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7604
#endif // DIAG_OPTION_WITH_MARSHALLING
7605
#ifdef DIAG_OPTION_WITH_MARSHALLING
7606
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftabstop"), ftabstop, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7607
       "Set the tab stop distance.", "<N>", nullptr, "-ftabstop", true, 0, DiagnosticOpts->TabStop, DiagnosticOptions::DefaultTabStop, false, DiagnosticOptions::DefaultTabStop, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7608
#endif // DIAG_OPTION_WITH_MARSHALLING
7609
#ifdef DIAG_OPTION_WITH_MARSHALLING
7610
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ferror-limit"), ferror_limit, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7611
       "Set the maximum number of errors to emit before stopping (0 = no limit).", "<N>", nullptr, "-ferror-limit", true, 0, DiagnosticOpts->ErrorLimit, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7612
#endif // DIAG_OPTION_WITH_MARSHALLING
7613
#ifdef DIAG_OPTION_WITH_MARSHALLING
7614
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmacro-backtrace-limit"), fmacro_backtrace_limit, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7615
       "Set the maximum number of entries to print in a macro expansion backtrace (0 = no limit).", "<N>", nullptr, "-fmacro-backtrace-limit", true, 0, DiagnosticOpts->MacroBacktraceLimit, DiagnosticOptions::DefaultMacroBacktraceLimit, false, DiagnosticOptions::DefaultMacroBacktraceLimit, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7616
#endif // DIAG_OPTION_WITH_MARSHALLING
7617
#ifdef DIAG_OPTION_WITH_MARSHALLING
7618
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftemplate-backtrace-limit"), ftemplate_backtrace_limit, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7619
       "Set the maximum number of entries to print in a template instantiation backtrace (0 = no limit).", "<N>", nullptr, "-ftemplate-backtrace-limit", true, 0, DiagnosticOpts->TemplateBacktraceLimit, DiagnosticOptions::DefaultTemplateBacktraceLimit, false, DiagnosticOptions::DefaultTemplateBacktraceLimit, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7620
#endif // DIAG_OPTION_WITH_MARSHALLING
7621
#ifdef DIAG_OPTION_WITH_MARSHALLING
7622
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fconstexpr-backtrace-limit"), fconstexpr_backtrace_limit, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7623
       "Set the maximum number of entries to print in a constexpr evaluation backtrace (0 = no limit).", "<N>", nullptr, "-fconstexpr-backtrace-limit", true, 0, DiagnosticOpts->ConstexprBacktraceLimit, DiagnosticOptions::DefaultConstexprBacktraceLimit, false, DiagnosticOptions::DefaultConstexprBacktraceLimit, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7624
#endif // DIAG_OPTION_WITH_MARSHALLING
7625
#ifdef DIAG_OPTION_WITH_MARSHALLING
7626
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fspell-checking-limit"), fspell_checking_limit, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7627
       "Set the maximum number of times to perform spell checking on unrecognized identifiers (0 = no limit).", "<N>", nullptr, "-fspell-checking-limit", true, 0, DiagnosticOpts->SpellCheckingLimit, DiagnosticOptions::DefaultSpellCheckingLimit, false, DiagnosticOptions::DefaultSpellCheckingLimit, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7628
#endif // DIAG_OPTION_WITH_MARSHALLING
7629
#ifdef DIAG_OPTION_WITH_MARSHALLING
7630
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcaret-diagnostics-max-lines"), fcaret_diagnostics_max_lines, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7631
       "Set the maximum number of source lines to show in a caret diagnostic", "<N>", nullptr, "-fcaret-diagnostics-max-lines", true, 0, DiagnosticOpts->SnippetLineLimit, DiagnosticOptions::DefaultSnippetLineLimit, false, DiagnosticOptions::DefaultSnippetLineLimit, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7632
#endif // DIAG_OPTION_WITH_MARSHALLING
7633
#ifdef DIAG_OPTION_WITH_MARSHALLING
7634
DIAG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("Wno-rewrite-macros"), Wno_rewrite_macros, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7635
       "Silence ObjC rewriting warnings", nullptr, nullptr, "-Wno-rewrite-macros", true, 0, DiagnosticOpts->NoRewriteMacros, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7636
#endif // DIAG_OPTION_WITH_MARSHALLING
7637
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7638
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ast-merge"), ast_merge, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7639
       "Merge the given AST file into the translation unit being compiled.", "<ast file>", nullptr, "-ast-merge", true, 0, FrontendOpts.ASTMergeFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
7640
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7641
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7642
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("aux-triple"), aux_triple, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7643
       "Auxiliary target triple.", nullptr, nullptr, "-aux-triple", true, 0, FrontendOpts.AuxTriple, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7644
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7645
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7646
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("code-completion-macros"), code_completion_macros, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7647
       "Include macros in code-completion results", nullptr, nullptr, "-code-completion-macros", true, 0, FrontendOpts.CodeCompleteOpts.IncludeMacros, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7648
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7649
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7650
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("code-completion-patterns"), code_completion_patterns, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7651
       "Include code patterns in code-completion results", nullptr, nullptr, "-code-completion-patterns", true, 0, FrontendOpts.CodeCompleteOpts.IncludeCodePatterns, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7652
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7653
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7654
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("no-code-completion-globals"), no_code_completion_globals, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7655
       "Do not include global declarations in code-completion results.", nullptr, nullptr, "-no-code-completion-globals", true, 0, FrontendOpts.CodeCompleteOpts.IncludeGlobals, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7656
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7657
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7658
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("no-code-completion-ns-level-decls"), no_code_completion_ns_level_decls, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7659
       "Do not include declarations inside namespaces (incl. global namespace) in the code-completion results.", nullptr, nullptr, "-no-code-completion-ns-level-decls", true, 0, FrontendOpts.CodeCompleteOpts.IncludeNamespaceLevelDecls, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7660
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7661
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7662
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("code-completion-brief-comments"), code_completion_brief_comments, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7663
       "Include brief documentation comments in code-completion results.", nullptr, nullptr, "-code-completion-brief-comments", true, 0, FrontendOpts.CodeCompleteOpts.IncludeBriefComments, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7664
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7665
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7666
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("code-completion-with-fixits"), code_completion_with_fixits, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7667
       "Include code completion results which require small fix-its.", nullptr, nullptr, "-code-completion-with-fixits", true, 0, FrontendOpts.CodeCompleteOpts.IncludeFixIts, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7668
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7669
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7670
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("disable-free"), disable_free, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7671
       "Disable freeing of memory on exit", nullptr, nullptr, "-disable-free", true, 0, FrontendOpts.DisableFree, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7672
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7673
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7674
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("clear-ast-before-backend"), clear_ast_before_backend, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7675
       "Clear the Clang AST before running backend code generation", nullptr, nullptr, "-clear-ast-before-backend", true, 0, CodeGenOpts.ClearASTBeforeBackend, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_no_clear_ast_before_backend), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7676
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7677
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7678
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("no-clear-ast-before-backend"), no_clear_ast_before_backend, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7679
       "Don't clear the Clang AST before running backend code generation", nullptr, nullptr, "-no-clear-ast-before-backend", true, 0, CodeGenOpts.ClearASTBeforeBackend, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_clear_ast_before_backend), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7680
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7681
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7682
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("enable-noundef-analysis"), enable_noundef_analysis, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7683
       "Enable analyzing function argument and return types for mandatory definedness", nullptr, nullptr, "-enable-noundef-analysis", true, 0, CodeGenOpts.EnableNoundefAttrs, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_no_enable_noundef_analysis), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7684
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7685
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7686
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("no-enable-noundef-analysis"), no_enable_noundef_analysis, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7687
       "Disable analyzing function argument and return types for mandatory definedness", nullptr, nullptr, "-no-enable-noundef-analysis", true, 0, CodeGenOpts.EnableNoundefAttrs, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_enable_noundef_analysis), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7688
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7689
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7690
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("opaque-pointers"), opaque_pointers, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7691
       "Enable opaque pointers", nullptr, nullptr, "-opaque-pointers", true, 0, CodeGenOpts.OpaquePointers, true, false, false, makeBooleanOptionNormalizer(true, false, OPT_no_opaque_pointers), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7692
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7693
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7694
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("no-opaque-pointers"), no_opaque_pointers, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7695
       "Disable opaque pointers", nullptr, nullptr, "-no-opaque-pointers", true, 0, CodeGenOpts.OpaquePointers, true, false, false, makeBooleanOptionNormalizer(false, true, OPT_opaque_pointers), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7696
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7697
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7698
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("discard-value-names"), discard_value_names, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7699
       "Discard value names in LLVM IR", nullptr, nullptr, "-discard-value-names", true, 0, CodeGenOpts.DiscardValueNames, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7700
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7701
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7702
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("add-plugin"), add_plugin, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7703
       "Use the named plugin action in addition to the default action", "<name>", nullptr, "-add-plugin", true, 0, FrontendOpts.AddPluginActions, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
7704
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7705
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7706
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ast-dump-filter"), ast_dump_filter, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7707
       "Use with -ast-dump or -ast-print to dump/print only AST declaration nodes having a certain substring in a qualified name. Use -ast-list to list all filterable declaration node names.", "<dump_filter>", nullptr, "-ast-dump-filter", true, 0, FrontendOpts.ASTDumpFilter, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7708
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7709
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7710
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-modules-global-index"), fno_modules_global_index, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7711
       "Do not automatically generate or update the global module index", nullptr, nullptr, "-fno-modules-global-index", true, 0, FrontendOpts.UseGlobalModuleIndex, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7712
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7713
#ifdef LANG_OPTION_WITH_MARSHALLING
7714
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-modules-error-recovery"), fno_modules_error_recovery, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7715
       "Do not automatically import modules for error recovery", nullptr, nullptr, "-fno-modules-error-recovery", true, 0, LangOpts->ModulesErrorRecovery, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7716
#endif // LANG_OPTION_WITH_MARSHALLING
7717
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
7718
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodule-map-file-home-is-cwd"), fmodule_map_file_home_is_cwd, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7719
       "Use the current working directory as the home directory of module maps specified by -fmodule-map-file=<FILE>", nullptr, nullptr, "-fmodule-map-file-home-is-cwd", true, 0, HeaderSearchOpts->ModuleMapFileHomeIsCwd, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7720
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
7721
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
7722
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodule-file-home-is-cwd"), fmodule_file_home_is_cwd, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7723
       "Use the current working directory as the base directory of compiled module files.", nullptr, nullptr, "-fmodule-file-home-is-cwd", true, 0, HeaderSearchOpts->ModuleFileHomeIsCwd, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7724
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
7725
#ifdef LANG_OPTION_WITH_MARSHALLING
7726
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodule-feature"), fmodule_feature, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7727
       "Enable <feature> in module map requires declarations", "<feature>", nullptr, "-fmodule-feature", true, 0, LangOpts->ModuleFeatures, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
7728
#endif // LANG_OPTION_WITH_MARSHALLING
7729
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7730
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-embed-file="), fmodules_embed_file_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7731
       "Embed the contents of the specified file into the module file being compiled.", "<file>", nullptr, "-fmodules-embed-file=", true, 0, FrontendOpts.ModulesEmbedFiles, std::vector<std::string>({}), false, std::vector<std::string>({}), normalizeStringVector, denormalizeStringVector, mergeForwardValue, extractForwardValue, -1)
7732
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7733
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7734
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-embed-all-files"), fmodules_embed_all_files, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7735
       "Embed the contents of all files read by this compilation into the produced module file.", nullptr, nullptr, "-fmodules-embed-all-files", true, 0, FrontendOpts.ModulesEmbedAllFiles, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7736
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7737
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7738
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-implicit-modules-use-lock"), fno_fimplicit_modules_use_lock, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7739
       "", nullptr, nullptr, "-fno-implicit-modules-use-lock", true, 0, FrontendOpts.BuildingImplicitModuleUsesLock, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_ffimplicit_modules_use_lock), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7740
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7741
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7742
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fimplicit-modules-use-lock"), ffimplicit_modules_use_lock, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7743
       "Use filesystem locks for implicit modules builds to avoid duplicating work in competing clang invocations.", nullptr, nullptr, "-fimplicit-modules-use-lock", true, 0, FrontendOpts.BuildingImplicitModuleUsesLock, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_fimplicit_modules_use_lock), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7744
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7745
#ifdef LANG_OPTION_WITH_MARSHALLING
7746
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-local-submodule-visibility"), fmodules_local_submodule_visibility, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7747
       "Enforce name visibility rules across submodules of the same top-level module.", nullptr, nullptr, "-fmodules-local-submodule-visibility", true, 0, LangOpts->ModulesLocalVisibility, false, false || LangOpts->ModulesTS || LangOpts->CPlusPlusModules, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7748
#endif // LANG_OPTION_WITH_MARSHALLING
7749
#ifdef LANG_OPTION_WITH_MARSHALLING
7750
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-codegen"), fmodules_codegen, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7751
       "Generate code for uses of this module that assumes an explicit object file will be built for the module", nullptr, nullptr, "-fmodules-codegen", true, 0, LangOpts->ModulesCodegen, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7752
#endif // LANG_OPTION_WITH_MARSHALLING
7753
#ifdef LANG_OPTION_WITH_MARSHALLING
7754
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-debuginfo"), fmodules_debuginfo, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7755
       "Generate debug info for types in an object file built from this module and do not generate them elsewhere", nullptr, nullptr, "-fmodules-debuginfo", true, 0, LangOpts->ModulesDebugInfo, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7756
#endif // LANG_OPTION_WITH_MARSHALLING
7757
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
7758
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodule-format="), fmodule_format_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7759
       "Select the container format for clang modules and PCH. Supported options are 'raw' and 'obj'.", nullptr, nullptr, "-fmodule-format=", true, 0, HeaderSearchOpts->ModuleFormat, "raw", false, "raw", normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7760
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
7761
#ifdef LANG_OPTION_WITH_MARSHALLING
7762
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-recovery-ast"), fno_recovery_ast, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7763
       "", nullptr, nullptr, "-fno-recovery-ast", true, 0, LangOpts->RecoveryAST, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_frecovery_ast), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7764
#endif // LANG_OPTION_WITH_MARSHALLING
7765
#ifdef LANG_OPTION_WITH_MARSHALLING
7766
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("frecovery-ast"), frecovery_ast, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7767
       "Preserve expressions in AST rather than dropping them when encountering semantic errors", nullptr, nullptr, "-frecovery-ast", true, 0, LangOpts->RecoveryAST, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_recovery_ast), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7768
#endif // LANG_OPTION_WITH_MARSHALLING
7769
#ifdef LANG_OPTION_WITH_MARSHALLING
7770
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-recovery-ast-type"), fno_recovery_ast_type, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7771
       "", nullptr, nullptr, "-fno-recovery-ast-type", true, 0, LangOpts->RecoveryASTType, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_frecovery_ast_type), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7772
#endif // LANG_OPTION_WITH_MARSHALLING
7773
#ifdef LANG_OPTION_WITH_MARSHALLING
7774
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("frecovery-ast-type"), frecovery_ast_type, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7775
       "Preserve the type for recovery expressions when possible", nullptr, nullptr, "-frecovery-ast-type", true, 0, LangOpts->RecoveryASTType, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_recovery_ast_type), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7776
#endif // LANG_OPTION_WITH_MARSHALLING
7777
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7778
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ast-dump-decl-types"), ast_dump_decl_types, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7779
       "Include declaration types in AST dumps", nullptr, nullptr, "-ast-dump-decl-types", true, 0, FrontendOpts.ASTDumpDeclTypes, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7780
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7781
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7782
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ast-dump-lookups"), ast_dump_lookups, Flag, Action_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7783
       "Build ASTs and then debug dump their name lookup tables", nullptr, nullptr, "-ast-dump-lookups", true, 0, FrontendOpts.ASTDumpLookups, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7784
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7785
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7786
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("emit-llvm-uselists"), emit_llvm_uselists, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7787
       "Preserve order of LLVM use-lists when serializing", nullptr, nullptr, "-emit-llvm-uselists", true, 0, CodeGenOpts.EmitLLVMUseLists, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_no_emit_llvm_uselists), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
7788
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7789
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7790
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("no-emit-llvm-uselists"), no_emit_llvm_uselists, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7791
       "Don't preserve order of LLVM use-lists when serializing", nullptr, nullptr, "-no-emit-llvm-uselists", true, 0, CodeGenOpts.EmitLLVMUseLists, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_emit_llvm_uselists), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
7792
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7793
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7794
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mt-migrate-directory"), mt_migrate_directory, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7795
       "Directory for temporary files produced during ARC or ObjC migration", nullptr, nullptr, "-mt-migrate-directory", true, 0, FrontendOpts.MTMigrateDir, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7796
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7797
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7798
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("arcmt-action="), arcmt_action_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7799
       "The ARC migration action to take", nullptr, "check,modify,migrate", "-arcmt-action=", true, 0, FrontendOpts.ARCMTAction, FrontendOptions::ARCMT_None, false, FrontendOptions::ARCMT_None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 43)
7800
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7801
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7802
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("opt-record-file"), opt_record_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7803
       "File name to use for YAML optimization record output", nullptr, nullptr, "-opt-record-file", true, 0, CodeGenOpts.OptRecordFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7804
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7805
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7806
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("print-stats"), print_stats, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7807
       "Print performance metrics and statistics", nullptr, nullptr, "-print-stats", true, 0, FrontendOpts.ShowStats, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7808
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7809
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7810
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("stats-file="), stats_file, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7811
       "Filename to write statistics to", nullptr, nullptr, "-stats-file=", true, 0, FrontendOpts.StatsFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7812
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7813
#ifdef LANG_OPTION_WITH_MARSHALLING
7814
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdump-record-layouts-simple"), fdump_record_layouts_simple, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7815
       "Dump record layout information in a simple form used for testing", nullptr, nullptr, "-fdump-record-layouts-simple", true, 0, LangOpts->DumpRecordLayoutsSimple, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7816
#endif // LANG_OPTION_WITH_MARSHALLING
7817
#ifdef LANG_OPTION_WITH_MARSHALLING
7818
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdump-record-layouts-canonical"), fdump_record_layouts_canonical, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7819
       "Dump record layout information with canonical field types", nullptr, nullptr, "-fdump-record-layouts-canonical", true, 0, LangOpts->DumpRecordLayoutsCanonical, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7820
#endif // LANG_OPTION_WITH_MARSHALLING
7821
#ifdef LANG_OPTION_WITH_MARSHALLING
7822
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdump-record-layouts-complete"), fdump_record_layouts_complete, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7823
       "Dump record layout information for all complete types", nullptr, nullptr, "-fdump-record-layouts-complete", true, 0, LangOpts->DumpRecordLayoutsComplete, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7824
#endif // LANG_OPTION_WITH_MARSHALLING
7825
#ifdef LANG_OPTION_WITH_MARSHALLING
7826
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdump-record-layouts"), fdump_record_layouts, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7827
       "Dump record layout information", nullptr, nullptr, "-fdump-record-layouts", true, 0, LangOpts->DumpRecordLayouts, false, false || LangOpts->DumpRecordLayoutsSimple || LangOpts->DumpRecordLayoutsComplete || LangOpts->DumpRecordLayoutsCanonical, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7828
#endif // LANG_OPTION_WITH_MARSHALLING
7829
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7830
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fix-what-you-can"), fix_what_you_can, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7831
       "Apply fix-it advice even in the presence of unfixable errors", nullptr, nullptr, "-fix-what-you-can", true, 0, FrontendOpts.FixWhatYouCan, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7832
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7833
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7834
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fix-only-warnings"), fix_only_warnings, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7835
       "Apply fix-it advice only for warnings, not errors", nullptr, nullptr, "-fix-only-warnings", true, 0, FrontendOpts.FixOnlyWarnings, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7836
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7837
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7838
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fixit-recompile"), fixit_recompile, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7839
       "Apply fix-it changes and recompile", nullptr, nullptr, "-fixit-recompile", true, 0, FrontendOpts.FixAndRecompile, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7840
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7841
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7842
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fixit-to-temporary"), fixit_to_temp, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7843
       "Apply fix-it changes to temporary files", nullptr, nullptr, "-fixit-to-temporary", true, 0, FrontendOpts.FixToTemporaries, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7844
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7845
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7846
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("foverride-record-layout="), foverride_record_layout_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7847
       "Override record layouts with those in the given file", nullptr, nullptr, "-foverride-record-layout=", true, 0, FrontendOpts.OverrideRecordLayoutsFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7848
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7849
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
7850
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("pch-through-header="), pch_through_header_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7851
       "Stop PCH generation after including this file.  When using a PCH, skip tokens until after this file is included.", nullptr, nullptr, "-pch-through-header=", true, 0, PreprocessorOpts->PCHThroughHeader, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7852
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
7853
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
7854
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("pch-through-hdrstop-create"), pch_through_hdrstop_create, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7855
       "When creating a PCH, stop PCH generation after #pragma hdrstop.", nullptr, nullptr, "-pch-through-hdrstop-create", true, 0, PreprocessorOpts->PCHWithHdrStopCreate, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7856
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
7857
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7858
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-pch-timestamp"), fno_pch_timestamp, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7859
       "Disable inclusion of timestamp in precompiled headers", nullptr, nullptr, "-fno-pch-timestamp", true, 0, FrontendOpts.IncludeTimestamps, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7860
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7861
#ifdef LANG_OPTION_WITH_MARSHALLING
7862
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("building-pch-with-obj"), building_pch_with_obj, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7863
       "This compilation is part of building a PCH with corresponding object file.", nullptr, nullptr, "-building-pch-with-obj", true, 0, LangOpts->BuildingPCHWithObjectFile, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7864
#endif // LANG_OPTION_WITH_MARSHALLING
7865
#ifdef LANG_OPTION_WITH_MARSHALLING
7866
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("faligned-alloc-unavailable"), aligned_alloc_unavailable, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7867
       "Aligned allocation/deallocation functions are unavailable", nullptr, nullptr, "-faligned-alloc-unavailable", LangOpts->AlignedAllocation, 0, LangOpts->AlignedAllocationUnavailable, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7868
#endif // LANG_OPTION_WITH_MARSHALLING
7869
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7870
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("version"), version, Flag, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | FC1Option | NoDriverOption, 0,
7871
       "Print the compiler version", nullptr, nullptr, "-version", true, 0, FrontendOpts.ShowVersion, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7872
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7873
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7874
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("main-file-name"), main_file_name, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7875
       "Main file name to use for debug info and source if missing", nullptr, nullptr, "-main-file-name", true, 0, CodeGenOpts.MainFileName, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7876
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7877
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7878
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("split-dwarf-output"), split_dwarf_output, Separate, INVALID, INVALID, nullptr, CC1Option | CC1AsOption | NoDriverOption, 0,
7879
       "File name to use for split dwarf debug info output", nullptr, nullptr, "-split-dwarf-output", true, 0, CodeGenOpts.SplitDwarfOutput, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7880
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7881
#ifdef LANG_OPTION_WITH_MARSHALLING
7882
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("mreassociate"), mreassociate, Flag, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
7883
       "Allow reassociation transformations for floating-point instructions", nullptr, nullptr, "-mreassociate", true, 0, LangOpts->AllowFPReassoc, false, false || LangOpts->UnsafeFPMath, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7884
#endif // LANG_OPTION_WITH_MARSHALLING
7885
#ifdef LANG_OPTION_WITH_MARSHALLING
7886
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("menable-no-nans"), menable_no_nans, Flag, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
7887
       "Allow optimization to assume there are no NaNs.", nullptr, nullptr, "-menable-no-nans", true, 0, LangOpts->NoHonorNaNs, false, false || LangOpts->FiniteMathOnly, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7888
#endif // LANG_OPTION_WITH_MARSHALLING
7889
#ifdef LANG_OPTION_WITH_MARSHALLING
7890
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("menable-no-infs"), menable_no_infinities, Flag, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
7891
       "Allow optimization to assume there are no infinities.", nullptr, nullptr, "-menable-no-infs", true, 0, LangOpts->NoHonorInfs, false, false || LangOpts->FiniteMathOnly, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7892
#endif // LANG_OPTION_WITH_MARSHALLING
7893
#ifdef LANG_OPTION_WITH_MARSHALLING
7894
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("pic-level"), pic_level, Separate, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
7895
       "Value for __PIC__", nullptr, nullptr, "-pic-level", true, 0, LangOpts->PICLevel, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7896
#endif // LANG_OPTION_WITH_MARSHALLING
7897
#ifdef LANG_OPTION_WITH_MARSHALLING
7898
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("pic-is-pie"), pic_is_pie, Flag, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
7899
       "File is for a position independent executable", nullptr, nullptr, "-pic-is-pie", true, 0, LangOpts->PIE, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7900
#endif // LANG_OPTION_WITH_MARSHALLING
7901
#ifdef LANG_OPTION_WITH_MARSHALLING
7902
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fblocks-runtime-optional"), fblocks_runtime_optional, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7903
       "Weakly link in the blocks runtime", nullptr, nullptr, "-fblocks-runtime-optional", true, 0, LangOpts->BlocksRuntimeOptional, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7904
#endif // LANG_OPTION_WITH_MARSHALLING
7905
#ifdef LANG_OPTION_WITH_MARSHALLING
7906
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fexternc-nounwind"), fexternc_nounwind, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7907
       "Assume all functions with C linkage do not unwind", nullptr, nullptr, "-fexternc-nounwind", true, 0, LangOpts->ExternCNoUnwind, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7908
#endif // LANG_OPTION_WITH_MARSHALLING
7909
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7910
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("split-dwarf-file"), split_dwarf_file, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7911
       "Name of the split dwarf debug info file to encode in the object file", nullptr, nullptr, "-split-dwarf-file", true, 0, CodeGenOpts.SplitDwarfFile, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7912
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7913
#ifdef LANG_OPTION_WITH_MARSHALLING
7914
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-wchar"), fno_wchar, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7915
       "Disable C++ builtin type wchar_t", nullptr, nullptr, "-fno-wchar", LangOpts->CPlusPlus, 0, LangOpts->WChar, LangOpts->CPlusPlus, false, LangOpts->CPlusPlus, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7916
#endif // LANG_OPTION_WITH_MARSHALLING
7917
#ifdef LANG_OPTION_WITH_MARSHALLING
7918
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fconstant-string-class"), fconstant_string_class, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7919
       "Specify the class to use for constant Objective-C string objects.", "<class name>", nullptr, "-fconstant-string-class", true, 0, LangOpts->ObjCConstantStringClass, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
7920
#endif // LANG_OPTION_WITH_MARSHALLING
7921
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
7922
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fobjc-arc-cxxlib="), fobjc_arc_cxxlib_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7923
       "Objective-C++ Automatic Reference Counting standard library kind", nullptr, "libc++,libstdc++,none", "-fobjc-arc-cxxlib=", true, 0, PreprocessorOpts->ObjCXXARCStandardLibrary, ARCXX_nolib, false, ARCXX_nolib, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 44)
7924
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
7925
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7926
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fobjc-dispatch-method="), fobjc_dispatch_method_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7927
       "Objective-C dispatch method to use", nullptr, "legacy,non-legacy,mixed", "-fobjc-dispatch-method=", true, 0, CodeGenOpts.ObjCDispatchMethod, CodeGenOptions::Legacy, false, CodeGenOptions::Legacy, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 45)
7928
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7929
#ifdef LANG_OPTION_WITH_MARSHALLING
7930
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("disable-objc-default-synthesize-properties"), disable_objc_default_synthesize_properties, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7931
       "disable the default synthesis of Objective-C properties", nullptr, nullptr, "-disable-objc-default-synthesize-properties", true, 0, LangOpts->ObjCDefaultSynthProperties, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7932
#endif // LANG_OPTION_WITH_MARSHALLING
7933
#ifdef LANG_OPTION_WITH_MARSHALLING
7934
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fencode-extended-block-signature"), fencode_extended_block_signature, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7935
       "enable extended encoding of block type signature", nullptr, nullptr, "-fencode-extended-block-signature", true, 0, LangOpts->EncodeExtendedBlockSig, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7936
#endif // LANG_OPTION_WITH_MARSHALLING
7937
#ifdef LANG_OPTION_WITH_MARSHALLING
7938
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("function-alignment"), function_alignment, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7939
       "default alignment for functions", nullptr, nullptr, "-function-alignment", true, 0, LangOpts->FunctionAlignment, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7940
#endif // LANG_OPTION_WITH_MARSHALLING
7941
#ifdef LANG_OPTION_WITH_MARSHALLING
7942
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fhalf-no-semantic-interposition"), fhalf_no_semantic_interposition, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7943
       "Like -fno-semantic-interposition but don't use local aliases", nullptr, nullptr, "-fhalf-no-semantic-interposition", true, 0, LangOpts->HalfNoSemanticInterposition, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7944
#endif // LANG_OPTION_WITH_MARSHALLING
7945
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
7946
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-validate-pch"), fno_validate_pch, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7947
       "Disable validation of precompiled headers", nullptr, nullptr, "-fno-validate-pch", true, 0, PreprocessorOpts->DisablePCHOrModuleValidation, DisableValidationForModuleKind::None, false, DisableValidationForModuleKind::None, makeFlagToValueNormalizer(DisableValidationForModuleKind::All), denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7948
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
7949
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7950
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fallow-pcm-with-compiler-errors"), fallow_pcm_with_errors, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7951
       "Accept a PCM file that was created with compiler errors", nullptr, nullptr, "-fallow-pcm-with-compiler-errors", true, 0, FrontendOpts.AllowPCMWithCompilerErrors, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7952
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7953
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
7954
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fallow-pch-with-compiler-errors"), fallow_pch_with_errors, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7955
       "Accept a PCH file that was created with compiler errors", nullptr, nullptr, "-fallow-pch-with-compiler-errors", true, 0, PreprocessorOpts->AllowPCHWithCompilerErrors, false, false || FrontendOpts.AllowPCMWithCompilerErrors, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7956
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
7957
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
7958
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fallow-pch-with-different-modules-cache-path"), fallow_pch_with_different_modules_cache_path, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7959
       "Accept a PCH file that was created with a different modules cache path", nullptr, nullptr, "-fallow-pch-with-different-modules-cache-path", true, 0, PreprocessorOpts->AllowPCHWithDifferentModulesCachePath, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7960
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
7961
#ifdef FRONTEND_OPTION_WITH_MARSHALLING
7962
FRONTEND_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-modules-share-filemanager"), fno_modules_share_filemanager, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7963
       "Disable sharing the FileManager when building a module implicitly", nullptr, nullptr, "-fno-modules-share-filemanager", true, 0, FrontendOpts.ModulesShareFileManager, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7964
#endif // FRONTEND_OPTION_WITH_MARSHALLING
7965
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
7966
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("dump-deserialized-decls"), dump_deserialized_pch_decls, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7967
       "Dump declarations that are deserialized from PCH, for testing", nullptr, nullptr, "-dump-deserialized-decls", true, 0, PreprocessorOpts->DumpDeserializedPCHDecls, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7968
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
7969
#ifdef LANG_OPTION_WITH_MARSHALLING
7970
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("static-define"), static_define, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7971
       "Should __STATIC__ be defined", nullptr, nullptr, "-static-define", true, 0, LangOpts->Static, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7972
#endif // LANG_OPTION_WITH_MARSHALLING
7973
#ifdef LANG_OPTION_WITH_MARSHALLING
7974
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("stack-protector"), stack_protector, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7975
       "Enable stack protectors", nullptr, "0,1,2,3", "-stack-protector", true, 0, LangOpts->StackProtector, LangOptions::SSPOff, false, LangOptions::SSPOff, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 46)
7976
#endif // LANG_OPTION_WITH_MARSHALLING
7977
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
7978
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("stack-protector-buffer-size"), stack_protector_buffer_size, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7979
       "Lower bound for a buffer to be considered for stack protection", nullptr, nullptr, "-stack-protector-buffer-size", true, 0, CodeGenOpts.SSPBufferSize, 8, false, 8, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7980
#endif // CODEGEN_OPTION_WITH_MARSHALLING
7981
#ifdef LANG_OPTION_WITH_MARSHALLING
7982
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftype-visibility="), ftype_visibility, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7983
       "Default type visibility", nullptr, "default,hidden,internal,protected", "-ftype-visibility=", true, 0, LangOpts->TypeVisibilityMode, LangOpts->ValueVisibilityMode, false, LangOpts->ValueVisibilityMode, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 47)
7984
#endif // LANG_OPTION_WITH_MARSHALLING
7985
#ifdef LANG_OPTION_WITH_MARSHALLING
7986
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fapply-global-visibility-to-externs"), fapply_global_visibility_to_externs, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7987
       "Apply global symbol visibility to external declarations without an explicit visibility", nullptr, nullptr, "-fapply-global-visibility-to-externs", true, 0, LangOpts->SetVisibilityForExternDecls, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
7988
#endif // LANG_OPTION_WITH_MARSHALLING
7989
#ifdef LANG_OPTION_WITH_MARSHALLING
7990
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ftemplate-depth"), ftemplate_depth, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7991
       "Maximum depth of recursive template instantiation", nullptr, nullptr, "-ftemplate-depth", true, 0, LangOpts->InstantiationDepth, 1024, false, 1024, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7992
#endif // LANG_OPTION_WITH_MARSHALLING
7993
#ifdef LANG_OPTION_WITH_MARSHALLING
7994
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("foperator-arrow-depth"), foperator_arrow_depth, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7995
       "Maximum number of 'operator->'s to call for a member access", nullptr, nullptr, "-foperator-arrow-depth", true, 0, LangOpts->ArrowDepth, 256, false, 256, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
7996
#endif // LANG_OPTION_WITH_MARSHALLING
7997
#ifdef LANG_OPTION_WITH_MARSHALLING
7998
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fconstexpr-depth"), fconstexpr_depth, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
7999
       "Maximum depth of recursive constexpr function calls", nullptr, nullptr, "-fconstexpr-depth", true, 0, LangOpts->ConstexprCallDepth, 512, false, 512, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
8000
#endif // LANG_OPTION_WITH_MARSHALLING
8001
#ifdef LANG_OPTION_WITH_MARSHALLING
8002
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fconstexpr-steps"), fconstexpr_steps, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8003
       "Maximum number of steps in constexpr function evaluation", nullptr, nullptr, "-fconstexpr-steps", true, 0, LangOpts->ConstexprStepLimit, 1048576, false, 1048576, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
8004
#endif // LANG_OPTION_WITH_MARSHALLING
8005
#ifdef LANG_OPTION_WITH_MARSHALLING
8006
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fbracket-depth"), fbracket_depth, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8007
       "Maximum nesting level for parentheses, brackets, and braces", nullptr, nullptr, "-fbracket-depth", true, 0, LangOpts->BracketDepth, 256, false, 256, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
8008
#endif // LANG_OPTION_WITH_MARSHALLING
8009
#ifdef LANG_OPTION_WITH_MARSHALLING
8010
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fconst-strings"), fconst_strings, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8011
       "Use a const qualified type for string literals in C and ObjC", nullptr, nullptr, "-fconst-strings", true, 0, LangOpts->ConstStrings, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_const_strings), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
8012
#endif // LANG_OPTION_WITH_MARSHALLING
8013
#ifdef LANG_OPTION_WITH_MARSHALLING
8014
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-const-strings"), fno_const_strings, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8015
       "Don't use a const qualified type for string literals in C and ObjC", nullptr, nullptr, "-fno-const-strings", true, 0, LangOpts->ConstStrings, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fconst_strings), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
8016
#endif // LANG_OPTION_WITH_MARSHALLING
8017
#ifdef LANG_OPTION_WITH_MARSHALLING
8018
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-bitfield-type-align"), fno_bitfield_type_align, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8019
       "Ignore bit-field types when aligning structures", nullptr, nullptr, "-fno-bitfield-type-align", true, 0, LangOpts->NoBitFieldTypeAlign, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8020
#endif // LANG_OPTION_WITH_MARSHALLING
8021
#ifdef LANG_OPTION_WITH_MARSHALLING
8022
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("ffake-address-space-map"), ffake_address_space_map, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8023
       "Use a fake address space map; OpenCL testing purposes only", nullptr, nullptr, "-ffake-address-space-map", true, 0, LangOpts->FakeAddressSpaceMap, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8024
#endif // LANG_OPTION_WITH_MARSHALLING
8025
#ifdef LANG_OPTION_WITH_MARSHALLING
8026
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("faddress-space-map-mangling="), faddress_space_map_mangling_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8027
       "Set the mode for address space map based mangling; OpenCL testing purposes only", nullptr, "target,no,yes", "-faddress-space-map-mangling=", true, 0, LangOpts->AddressSpaceMapMangling, LangOptions::ASMM_Target, false, LangOptions::ASMM_Target, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 48)
8028
#endif // LANG_OPTION_WITH_MARSHALLING
8029
#ifdef LANG_OPTION_WITH_MARSHALLING
8030
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("funknown-anytype"), funknown_anytype, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8031
       "Enable parser support for the __unknown_anytype type; for testing purposes only", nullptr, nullptr, "-funknown-anytype", true, 0, LangOpts->ParseUnknownAnytype, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8032
#endif // LANG_OPTION_WITH_MARSHALLING
8033
#ifdef LANG_OPTION_WITH_MARSHALLING
8034
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdebugger-support"), fdebugger_support, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8035
       "Enable special debugger support behavior", nullptr, nullptr, "-fdebugger-support", true, 0, LangOpts->DebuggerSupport, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8036
#endif // LANG_OPTION_WITH_MARSHALLING
8037
#ifdef LANG_OPTION_WITH_MARSHALLING
8038
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdebugger-cast-result-to-id"), fdebugger_cast_result_to_id, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8039
       "Enable casting unknown expression results to id", nullptr, nullptr, "-fdebugger-cast-result-to-id", true, 0, LangOpts->DebuggerCastResultToId, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8040
#endif // LANG_OPTION_WITH_MARSHALLING
8041
#ifdef LANG_OPTION_WITH_MARSHALLING
8042
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdebugger-objc-literal"), fdebugger_objc_literal, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8043
       "Enable special debugger support for Objective-C subscripting and literals", nullptr, nullptr, "-fdebugger-objc-literal", true, 0, LangOpts->DebuggerObjCLiteral, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8044
#endif // LANG_OPTION_WITH_MARSHALLING
8045
#ifdef LANG_OPTION_WITH_MARSHALLING
8046
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdeprecated-macro"), fdeprecated_macro, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8047
       "Defines the __DEPRECATED macro", nullptr, nullptr, "-fdeprecated-macro", true, 0, LangOpts->Deprecated, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_deprecated_macro), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
8048
#endif // LANG_OPTION_WITH_MARSHALLING
8049
#ifdef LANG_OPTION_WITH_MARSHALLING
8050
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-deprecated-macro"), fno_deprecated_macro, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8051
       "Undefines the __DEPRECATED macro", nullptr, nullptr, "-fno-deprecated-macro", true, 0, LangOpts->Deprecated, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdeprecated_macro), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
8052
#endif // LANG_OPTION_WITH_MARSHALLING
8053
#ifdef LANG_OPTION_WITH_MARSHALLING
8054
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("vtordisp-mode="), vtordisp_mode_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8055
       "Control vtordisp placement on win32 targets", nullptr, nullptr, "-vtordisp-mode=", true, 0, LangOpts->VtorDispMode, 1, false, 1, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
8056
#endif // LANG_OPTION_WITH_MARSHALLING
8057
#ifdef LANG_OPTION_WITH_MARSHALLING
8058
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fnative-half-type"), fnative_half_type, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8059
       "Use the native half type for __fp16 instead of promoting to float", nullptr, nullptr, "-fnative-half-type", true, 0, LangOpts->NativeHalfType, false, false || LangOpts->OpenCL || LangOpts->RenderScript, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8060
#endif // LANG_OPTION_WITH_MARSHALLING
8061
#ifdef LANG_OPTION_WITH_MARSHALLING
8062
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fnative-half-arguments-and-returns"), fnative_half_arguments_and_returns, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8063
       "Use the native __fp16 type for arguments and returns (and skip ABI-specific lowering)", nullptr, nullptr, "-fnative-half-arguments-and-returns", true, 0, LangOpts->NativeHalfArgsAndReturns, false, false || LangOpts->OpenCL || LangOpts->RenderScript || LangOpts->HLSL, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8064
#endif // LANG_OPTION_WITH_MARSHALLING
8065
#ifdef LANG_OPTION_WITH_MARSHALLING
8066
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdefault-calling-conv="), fdefault_calling_conv_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8067
       "Set default calling convention", nullptr, "cdecl,fastcall,stdcall,vectorcall,regcall", "-fdefault-calling-conv=", true, 0, LangOpts->DefaultCallingConv, LangOptions::DCC_None, false, LangOptions::DCC_None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 49)
8068
#endif // LANG_OPTION_WITH_MARSHALLING
8069
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
8070
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fpreserve-vec3-type"), fpreserve_vec3_type, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8071
       "Preserve 3-component vector type", nullptr, nullptr, "-fpreserve-vec3-type", true, 0, CodeGenOpts.PreserveVec3Type, false, false || LangOpts->HLSL, true, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8072
#endif // CODEGEN_OPTION_WITH_MARSHALLING
8073
#ifdef LANG_OPTION_WITH_MARSHALLING
8074
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fwchar-type="), fwchar_type_EQ, Joined, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8075
       "Select underlying type for wchar_t", nullptr, "char,short,int", "-fwchar-type=", true, 0, LangOpts->WCharSize, 0, false, 0, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 50)
8076
#endif // LANG_OPTION_WITH_MARSHALLING
8077
#ifdef LANG_OPTION_WITH_MARSHALLING
8078
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-signed-wchar"), fno_signed_wchar, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8079
       "Use an unsigned type for wchar_t", nullptr, nullptr, "-fno-signed-wchar", true, 0, LangOpts->WCharIsSigned, true, false, true, makeBooleanOptionNormalizer(false, true, OPT_fsigned_wchar), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
8080
#endif // LANG_OPTION_WITH_MARSHALLING
8081
#ifdef LANG_OPTION_WITH_MARSHALLING
8082
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsigned-wchar"), fsigned_wchar, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8083
       "Use a signed type for wchar_t", nullptr, nullptr, "-fsigned-wchar", true, 0, LangOpts->WCharIsSigned, true, false, true, makeBooleanOptionNormalizer(true, false, OPT_fno_signed_wchar), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
8084
#endif // LANG_OPTION_WITH_MARSHALLING
8085
#ifdef LANG_OPTION_WITH_MARSHALLING
8086
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcompatibility-qualified-id-block-type-checking"), fcompatibility_qualified_id_block_param_type_checking, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8087
       "Allow using blocks with parameters of more specific type than the type system guarantees when a parameter is qualified id", nullptr, nullptr, "-fcompatibility-qualified-id-block-type-checking", true, 0, LangOpts->CompatibilityQualifiedIdBlockParamTypeChecking, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8088
#endif // LANG_OPTION_WITH_MARSHALLING
8089
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
8090
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fpass-by-value-is-noalias"), fpass_by_value_is_noalias, Flag, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8091
       "Allows assuming by-value parameters do not alias any other value. Has no effect on non-trivially-copyable classes in C++.", nullptr, nullptr, "-fpass-by-value-is-noalias", true, 0, CodeGenOpts.PassByValueIsNoAlias, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8092
#endif // CODEGEN_OPTION_WITH_MARSHALLING
8093
#ifdef LANG_OPTION_WITH_MARSHALLING
8094
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fexperimental-max-bitint-width="), fexperimental_max_bitint_width_EQ, Joined, f_Group, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8095
       "Set the maximum bitwidth for _BitInt (this option is expected to be removed in the future)", "<N>", nullptr, "-fexperimental-max-bitint-width=", true, 0, LangOpts->MaxBitIntWidth, 0, false, 0, normalizeStringIntegral<unsigned>, denormalizeString<unsigned>, mergeForwardValue, extractForwardValue, -1)
8096
#endif // LANG_OPTION_WITH_MARSHALLING
8097
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
8098
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("nostdsysteminc"), nostdsysteminc, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8099
       "Disable standard system #include directories", nullptr, nullptr, "-nostdsysteminc", true, 0, HeaderSearchOpts->UseStandardSystemIncludes, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8100
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
8101
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
8102
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdisable-module-hash"), fdisable_module_hash, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8103
       "Disable the module hash", nullptr, nullptr, "-fdisable-module-hash", true, 0, HeaderSearchOpts->DisableModuleHash, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8104
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
8105
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
8106
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-hash-content"), fmodules_hash_content, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8107
       "Enable hashing the content of a module file", nullptr, nullptr, "-fmodules-hash-content", true, 0, HeaderSearchOpts->ModulesHashContent, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8108
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
8109
#ifdef HEADER_SEARCH_OPTION_WITH_MARSHALLING
8110
HEADER_SEARCH_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fmodules-strict-context-hash"), fmodules_strict_context_hash, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8111
       "Enable hashing of all compiler options that could impact the semantics of a module in an implicit build", nullptr, nullptr, "-fmodules-strict-context-hash", true, 0, HeaderSearchOpts->ModulesStrictContextHash, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8112
#endif // HEADER_SEARCH_OPTION_WITH_MARSHALLING
8113
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
8114
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("detailed-preprocessing-record"), detailed_preprocessing_record, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8115
       "include a detailed record of preprocessing actions", nullptr, nullptr, "-detailed-preprocessing-record", true, 0, PreprocessorOpts->DetailedRecord, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8116
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
8117
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
8118
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("setup-static-analyzer"), setup_static_analyzer, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8119
       "Set up preprocessor for static analyzer (done automatically when static analyzer is run).", nullptr, nullptr, "-setup-static-analyzer", true, 0, PreprocessorOpts->SetUpStaticAnalyzer, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8120
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
8121
#ifdef PREPROCESSOR_OPTION_WITH_MARSHALLING
8122
PREPROCESSOR_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("disable-pragma-debug-crash"), disable_pragma_debug_crash, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8123
       "Disable any #pragma clang __debug that can lead to crashing behavior. This is meant for testing.", nullptr, nullptr, "-disable-pragma-debug-crash", true, 0, PreprocessorOpts->DisablePragmaDebugCrash, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8124
#endif // PREPROCESSOR_OPTION_WITH_MARSHALLING
8125
#ifdef LANG_OPTION_WITH_MARSHALLING
8126
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcuda-is-device"), fcuda_is_device, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8127
       "Generate code for CUDA device", nullptr, nullptr, "-fcuda-is-device", true, 0, LangOpts->CUDAIsDevice, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8128
#endif // LANG_OPTION_WITH_MARSHALLING
8129
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
8130
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcuda-include-gpubinary"), fcuda_include_gpubinary, Separate, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8131
       "Incorporate CUDA device-side binary into host object file.", nullptr, nullptr, "-fcuda-include-gpubinary", true, 0, CodeGenOpts.CudaGpuBinaryFileName, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
8132
#endif // CODEGEN_OPTION_WITH_MARSHALLING
8133
#ifdef LANG_OPTION_WITH_MARSHALLING
8134
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcuda-allow-variadic-functions"), fcuda_allow_variadic_functions, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8135
       "Allow variadic functions in CUDA device code.", nullptr, nullptr, "-fcuda-allow-variadic-functions", true, 0, LangOpts->CUDAAllowVariadicFunctions, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8136
#endif // LANG_OPTION_WITH_MARSHALLING
8137
#ifdef LANG_OPTION_WITH_MARSHALLING
8138
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-cuda-host-device-constexpr"), fno_cuda_host_device_constexpr, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8139
       "Don't treat unattributed constexpr functions as __host__ __device__.", nullptr, nullptr, "-fno-cuda-host-device-constexpr", true, 0, LangOpts->CUDAHostDeviceConstexpr, true, false, true, normalizeSimpleNegativeFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8140
#endif // LANG_OPTION_WITH_MARSHALLING
8141
#ifdef LANG_OPTION_WITH_MARSHALLING
8142
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsycl-is-device"), fsycl_is_device, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8143
       "Generate code for SYCL device.", nullptr, nullptr, "-fsycl-is-device", true, 0, LangOpts->SYCLIsDevice, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8144
#endif // LANG_OPTION_WITH_MARSHALLING
8145
#ifdef LANG_OPTION_WITH_MARSHALLING
8146
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fsycl-is-host"), fsycl_is_host, Flag, INVALID, INVALID, nullptr, CC1Option | NoDriverOption, 0,
8147
       "SYCL host compilation", nullptr, nullptr, "-fsycl-is-host", true, 0, LangOpts->SYCLIsHost, false, false, false, normalizeSimpleFlag, denormalizeSimpleFlag, mergeForwardValue, extractForwardValue, -1)
8148
#endif // LANG_OPTION_WITH_MARSHALLING
8149
#ifdef LANG_OPTION_WITH_MARSHALLING
8150
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("sycl-std="), sycl_std_EQ, Joined, sycl_Group, INVALID, nullptr, CC1Option | NoArgumentUnused | CoreOption, 0,
8151
       "SYCL language standard to compile for.", nullptr, "2020,2017,121,1.2.1,sycl-1.2.1", "-sycl-std=", LangOpts->SYCLIsDevice||LangOpts->SYCLIsHost, 0, LangOpts->SYCLVersion, LangOptions::SYCL_None, false, LangOptions::SYCL_None, normalizeSimpleEnum, denormalizeSimpleEnum, mergeForwardValue, extractForwardValue, 51)
8152
#endif // LANG_OPTION_WITH_MARSHALLING
8153
#ifdef LANG_OPTION_WITH_MARSHALLING
8154
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fcuda-approx-transcendentals"), fcuda_approx_transcendentals, Flag, f_Group, INVALID, nullptr, CC1Option, 0,
8155
       "Use approximate transcendental functions", nullptr, nullptr, "-fcuda-approx-transcendentals", LangOpts->CUDAIsDevice, 0, LangOpts->CUDADeviceApproxTranscendentals, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_cuda_approx_transcendentals), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
8156
#endif // LANG_OPTION_WITH_MARSHALLING
8157
#ifdef LANG_OPTION_WITH_MARSHALLING
8158
LANG_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-cuda-approx-transcendentals"), fno_cuda_approx_transcendentals, Flag, f_Group, INVALID, nullptr, 0, 0,
8159
       "Don't use approximate transcendental functions", nullptr, nullptr, "-fno-cuda-approx-transcendentals", LangOpts->CUDAIsDevice, 0, LangOpts->CUDADeviceApproxTranscendentals, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fcuda_approx_transcendentals), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
8160
#endif // LANG_OPTION_WITH_MARSHALLING
8161
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
8162
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fdebug-pass-manager"), fdebug_pass_manager, Flag, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
8163
       "Prints debug information for the new pass manager", nullptr, nullptr, "-fdebug-pass-manager", true, 0, CodeGenOpts.DebugPassManager, false, false, false, makeBooleanOptionNormalizer(true, false, OPT_fno_debug_pass_manager), makeBooleanOptionDenormalizer(true), mergeForwardValue, extractForwardValue, -1)
8164
#endif // CODEGEN_OPTION_WITH_MARSHALLING
8165
#ifdef CODEGEN_OPTION_WITH_MARSHALLING
8166
CODEGEN_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("fno-debug-pass-manager"), fno_debug_pass_manager, Flag, INVALID, INVALID, nullptr, CC1Option | FC1Option | NoDriverOption, 0,
8167
       "Disables debug printing for the new pass manager", nullptr, nullptr, "-fno-debug-pass-manager", true, 0, CodeGenOpts.DebugPassManager, false, false, false, makeBooleanOptionNormalizer(false, true, OPT_fdebug_pass_manager), makeBooleanOptionDenormalizer(false), mergeForwardValue, extractForwardValue, -1)
8168
#endif // CODEGEN_OPTION_WITH_MARSHALLING
8169
#ifdef TARGET_OPTION_WITH_MARSHALLING
8170
TARGET_OPTION_WITH_MARSHALLING(prefix_2, llvm::StringLiteral("validator-version"), dxil_validator_version, Separate, dxc_Group, INVALID, nullptr, DXCOption | NoXarchOption | CC1Option | HelpHidden | DXCOption, 0,
8171
       "Override validator version for module. Format: <major.minor>;Default: DXIL.dll version or current internal version", nullptr, nullptr, "/validator-version", true, 0, TargetOpts->DxilValidatorVersion, std::string(), false, std::string(), normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
8172
#endif // TARGET_OPTION_WITH_MARSHALLING
8173
#ifdef TARGET_OPTION_WITH_MARSHALLING
8174
TARGET_OPTION_WITH_MARSHALLING(prefix_1, llvm::StringLiteral("hlsl-entry"), hlsl_entrypoint, Separate, dxc_Group, INVALID, nullptr, CC1Option | DXCOption, 0,
8175
       "Entry point name for hlsl", nullptr, nullptr, "-hlsl-entry", true, 0, TargetOpts->HLSLEntry, "main", false, "main", normalizeString, denormalizeString, mergeForwardValue, extractForwardValue, -1)
8176
#endif // TARGET_OPTION_WITH_MARSHALLING
8177
 
8178
#ifdef SIMPLE_ENUM_VALUE_TABLE
8179
 
8180
struct SimpleEnumValue {
8181
  const char *Name;
8182
  unsigned Value;
8183
};
8184
 
8185
struct SimpleEnumValueTable {
8186
  const SimpleEnumValue *Table;
8187
  unsigned Size;
8188
};
8189
static const SimpleEnumValue fgpu_default_stream_EQValueTable[] = {
8190
{"legacy",static_cast<unsigned>(LangOptions::GPUDefaultStreamKind::Legacy)},{"per-thread",static_cast<unsigned>(LangOptions::GPUDefaultStreamKind::PerThread)},};
8191
static const SimpleEnumValue fstrict_flex_arrays_EQValueTable[] = {
8192
{"0",static_cast<unsigned>(LangOptions::StrictFlexArraysLevelKind::Default)},{"1",static_cast<unsigned>(LangOptions::StrictFlexArraysLevelKind::OneZeroOrIncomplete)},{"2",static_cast<unsigned>(LangOptions::StrictFlexArraysLevelKind::ZeroOrIncomplete)},{"3",static_cast<unsigned>(LangOptions::StrictFlexArraysLevelKind::IncompleteOnly)},};
8193
static const SimpleEnumValue fembed_bitcode_EQValueTable[] = {
8194
{"off",static_cast<unsigned>(CodeGenOptions::Embed_Off)},{"all",static_cast<unsigned>(CodeGenOptions::Embed_All)},{"bitcode",static_cast<unsigned>(CodeGenOptions::Embed_Bitcode)},{"marker",static_cast<unsigned>(CodeGenOptions::Embed_Marker)},};
8195
static const SimpleEnumValue fswift_async_fp_EQValueTable[] = {
8196
{"auto",static_cast<unsigned>(CodeGenOptions::SwiftAsyncFramePointerKind::Auto)},{"always",static_cast<unsigned>(CodeGenOptions::SwiftAsyncFramePointerKind::Always)},{"never",static_cast<unsigned>(CodeGenOptions::SwiftAsyncFramePointerKind::Never)},};
8197
static const SimpleEnumValue fcf_runtime_abi_EQValueTable[] = {
8198
{"unspecified",static_cast<unsigned>(LangOptions::CoreFoundationABI::ObjectiveC)},{"standalone",static_cast<unsigned>(LangOptions::CoreFoundationABI::ObjectiveC)},{"objc",static_cast<unsigned>(LangOptions::CoreFoundationABI::ObjectiveC)},{"swift",static_cast<unsigned>(LangOptions::CoreFoundationABI::Swift5_0)},{"swift-5.0",static_cast<unsigned>(LangOptions::CoreFoundationABI::Swift5_0)},{"swift-4.2",static_cast<unsigned>(LangOptions::CoreFoundationABI::Swift4_2)},{"swift-4.1",static_cast<unsigned>(LangOptions::CoreFoundationABI::Swift4_1)},};
8199
static const SimpleEnumValue exception_modelValueTable[] = {
8200
{"dwarf",static_cast<unsigned>(LangOptions::ExceptionHandlingKind::DwarfCFI)},{"sjlj",static_cast<unsigned>(LangOptions::ExceptionHandlingKind::SjLj)},{"seh",static_cast<unsigned>(LangOptions::ExceptionHandlingKind::WinEH)},{"wasm",static_cast<unsigned>(LangOptions::ExceptionHandlingKind::Wasm)},};
8201
static const SimpleEnumValue ffloat16_excess_precision_EQValueTable[] = {
8202
{"standard",static_cast<unsigned>(LangOptions::FPP_Standard)},{"fast",static_cast<unsigned>(LangOptions::FPP_Fast)},{"none",static_cast<unsigned>(LangOptions::FPP_None)},};
8203
static const SimpleEnumValue ffp_eval_method_EQValueTable[] = {
8204
{"source",static_cast<unsigned>(LangOptions::FEM_Source)},{"double",static_cast<unsigned>(LangOptions::FEM_Double)},{"extended",static_cast<unsigned>(LangOptions::FEM_Extended)},};
8205
static const SimpleEnumValue ffp_exception_behavior_EQValueTable[] = {
8206
{"ignore",static_cast<unsigned>(LangOptions::FPE_Ignore)},{"maytrap",static_cast<unsigned>(LangOptions::FPE_MayTrap)},{"strict",static_cast<unsigned>(LangOptions::FPE_Strict)},};
8207
static const SimpleEnumValue fextend_args_EQValueTable[] = {
8208
{"32",static_cast<unsigned>(LangOptions::ExtendArgsKind::ExtendTo32)},{"64",static_cast<unsigned>(LangOptions::ExtendArgsKind::ExtendTo64)},};
8209
static const SimpleEnumValue sanitize_address_use_after_return_EQValueTable[] = {
8210
{"never",static_cast<unsigned>(llvm::AsanDetectStackUseAfterReturnMode::Never)},{"runtime",static_cast<unsigned>(llvm::AsanDetectStackUseAfterReturnMode::Runtime)},{"always",static_cast<unsigned>(llvm::AsanDetectStackUseAfterReturnMode::Always)},};
8211
static const SimpleEnumValue sanitize_address_destructor_EQValueTable[] = {
8212
{"none",static_cast<unsigned>(llvm::AsanDtorKind::None)},{"global",static_cast<unsigned>(llvm::AsanDtorKind::Global)},};
8213
static const SimpleEnumValue mfunction_return_EQValueTable[] = {
8214
{"keep",static_cast<unsigned>(llvm::FunctionReturnThunksKind::Keep)},{"thunk-extern",static_cast<unsigned>(llvm::FunctionReturnThunksKind::Extern)},};
8215
static const SimpleEnumValue flax_vector_conversions_EQValueTable[] = {
8216
{"none",static_cast<unsigned>(LangOptions::LaxVectorConversionKind::None)},{"integer",static_cast<unsigned>(LangOptions::LaxVectorConversionKind::Integer)},{"all",static_cast<unsigned>(LangOptions::LaxVectorConversionKind::All)},};
8217
static const SimpleEnumValue fms_memptr_rep_EQValueTable[] = {
8218
{"single",static_cast<unsigned>(LangOptions::PPTMK_FullGeneralitySingleInheritance)},{"multiple",static_cast<unsigned>(LangOptions::PPTMK_FullGeneralityMultipleInheritance)},{"virtual",static_cast<unsigned>(LangOptions::PPTMK_FullGeneralityVirtualInheritance)},};
8219
static const SimpleEnumValue fveclibValueTable[] = {
8220
{"Accelerate",static_cast<unsigned>(CodeGenOptions::Accelerate)},{"libmvec",static_cast<unsigned>(CodeGenOptions::LIBMVEC)},{"MASSV",static_cast<unsigned>(CodeGenOptions::MASSV)},{"SVML",static_cast<unsigned>(CodeGenOptions::SVML)},{"SLEEF",static_cast<unsigned>(CodeGenOptions::SLEEF)},{"Darwin_libsystem_m",static_cast<unsigned>(CodeGenOptions::Darwin_libsystem_m)},{"none",static_cast<unsigned>(CodeGenOptions::NoLibrary)},};
8221
static const SimpleEnumValue fshow_overloads_EQValueTable[] = {
8222
{"best",static_cast<unsigned>(Ovl_Best)},{"all",static_cast<unsigned>(Ovl_All)},};
8223
static const SimpleEnumValue ftrivial_auto_var_initValueTable[] = {
8224
{"uninitialized",static_cast<unsigned>(LangOptions::TrivialAutoVarInitKind::Uninitialized)},{"zero",static_cast<unsigned>(LangOptions::TrivialAutoVarInitKind::Zero)},{"pattern",static_cast<unsigned>(LangOptions::TrivialAutoVarInitKind::Pattern)},};
8225
static const SimpleEnumValue ftlsmodel_EQValueTable[] = {
8226
{"global-dynamic",static_cast<unsigned>(CodeGenOptions::GeneralDynamicTLSModel)},{"local-dynamic",static_cast<unsigned>(CodeGenOptions::LocalDynamicTLSModel)},{"initial-exec",static_cast<unsigned>(CodeGenOptions::InitialExecTLSModel)},{"local-exec",static_cast<unsigned>(CodeGenOptions::LocalExecTLSModel)},};
8227
static const SimpleEnumValue fvisibility_dllexport_EQValueTable[] = {
8228
{"default",static_cast<unsigned>(DefaultVisibility)},{"hidden",static_cast<unsigned>(HiddenVisibility)},{"internal",static_cast<unsigned>(HiddenVisibility)},{"protected",static_cast<unsigned>(ProtectedVisibility)},};
8229
static const SimpleEnumValue fvisibility_nodllstorageclass_EQValueTable[] = {
8230
{"default",static_cast<unsigned>(DefaultVisibility)},{"hidden",static_cast<unsigned>(HiddenVisibility)},{"internal",static_cast<unsigned>(HiddenVisibility)},{"protected",static_cast<unsigned>(ProtectedVisibility)},};
8231
static const SimpleEnumValue fvisibility_externs_dllimport_EQValueTable[] = {
8232
{"default",static_cast<unsigned>(DefaultVisibility)},{"hidden",static_cast<unsigned>(HiddenVisibility)},{"internal",static_cast<unsigned>(HiddenVisibility)},{"protected",static_cast<unsigned>(ProtectedVisibility)},};
8233
static const SimpleEnumValue fvisibility_externs_nodllstorageclass_EQValueTable[] = {
8234
{"default",static_cast<unsigned>(DefaultVisibility)},{"hidden",static_cast<unsigned>(HiddenVisibility)},{"internal",static_cast<unsigned>(HiddenVisibility)},{"protected",static_cast<unsigned>(ProtectedVisibility)},};
8235
static const SimpleEnumValue fvisibility_EQValueTable[] = {
8236
{"default",static_cast<unsigned>(DefaultVisibility)},{"hidden",static_cast<unsigned>(HiddenVisibility)},{"internal",static_cast<unsigned>(HiddenVisibility)},{"protected",static_cast<unsigned>(ProtectedVisibility)},};
8237
static const SimpleEnumValue mdefault_visibility_export_mapping_EQValueTable[] = {
8238
{"none",static_cast<unsigned>(LangOptions::DefaultVisiblityExportMapping::None)},{"explicit",static_cast<unsigned>(LangOptions::DefaultVisiblityExportMapping::Explicit)},{"all",static_cast<unsigned>(LangOptions::DefaultVisiblityExportMapping::All)},};
8239
static const SimpleEnumValue fzero_call_used_regs_EQValueTable[] = {
8240
{"skip",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::Skip)},{"used-gpr-arg",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::UsedGPRArg)},{"used-gpr",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::UsedGPR)},{"used-arg",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::UsedArg)},{"used",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::Used)},{"all-gpr-arg",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::AllGPRArg)},{"all-gpr",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::AllGPR)},{"all-arg",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::AllArg)},{"all",static_cast<unsigned>(llvm::ZeroCallUsedRegs::ZeroCallUsedRegsKind::All)},};
8241
static const SimpleEnumValue femit_dwarf_unwind_EQValueTable[] = {
8242
{"always",static_cast<unsigned>(llvm::EmitDwarfUnwindType::Always)},{"no-compact-unwind",static_cast<unsigned>(llvm::EmitDwarfUnwindType::NoCompactUnwind)},{"default",static_cast<unsigned>(llvm::EmitDwarfUnwindType::Default)},};
8243
static const SimpleEnumValue gsrc_hash_EQValueTable[] = {
8244
{"md5",static_cast<unsigned>(CodeGenOptions::DSH_MD5)},{"sha1",static_cast<unsigned>(CodeGenOptions::DSH_SHA1)},{"sha256",static_cast<unsigned>(CodeGenOptions::DSH_SHA256)},};
8245
static const SimpleEnumValue inline_asm_EQValueTable[] = {
8246
{"att",static_cast<unsigned>(CodeGenOptions::IAD_ATT)},{"intel",static_cast<unsigned>(CodeGenOptions::IAD_Intel)},};
8247
static const SimpleEnumValue mthread_modelValueTable[] = {
8248
{"posix",static_cast<unsigned>(LangOptions::ThreadModelKind::POSIX)},{"single",static_cast<unsigned>(LangOptions::ThreadModelKind::Single)},};
8249
static const SimpleEnumValue meabiValueTable[] = {
8250
{"default",static_cast<unsigned>(llvm::EABI::Default)},{"4",static_cast<unsigned>(llvm::EABI::EABI4)},{"5",static_cast<unsigned>(llvm::EABI::EABI5)},{"gnu",static_cast<unsigned>(llvm::EABI::GNU)},};
8251
static const SimpleEnumValue mcode_object_version_EQValueTable[] = {
8252
{"none",static_cast<unsigned>(TargetOptions::COV_None)},{"2",static_cast<unsigned>(TargetOptions::COV_2)},{"3",static_cast<unsigned>(TargetOptions::COV_3)},{"4",static_cast<unsigned>(TargetOptions::COV_4)},{"5",static_cast<unsigned>(TargetOptions::COV_5)},};
8253
static const SimpleEnumValue altivec_src_compatValueTable[] = {
8254
{"mixed",static_cast<unsigned>(LangOptions::AltivecSrcCompatKind::Mixed)},{"gcc",static_cast<unsigned>(LangOptions::AltivecSrcCompatKind::GCC)},{"xl",static_cast<unsigned>(LangOptions::AltivecSrcCompatKind::XL)},};
8255
static const SimpleEnumValue analyzer_config_compatibility_modeValueTable[] = {
8256
{"true",static_cast<unsigned>(false)},{"false",static_cast<unsigned>(true)},};
8257
static const SimpleEnumValue mrelocation_modelValueTable[] = {
8258
{"static",static_cast<unsigned>(llvm::Reloc::Static)},{"pic",static_cast<unsigned>(llvm::Reloc::PIC_)},{"ropi",static_cast<unsigned>(llvm::Reloc::ROPI)},{"rwpi",static_cast<unsigned>(llvm::Reloc::RWPI)},{"ropi-rwpi",static_cast<unsigned>(llvm::Reloc::ROPI_RWPI)},{"dynamic-no-pic",static_cast<unsigned>(llvm::Reloc::DynamicNoPIC)},};
8259
static const SimpleEnumValue debugger_tuning_EQValueTable[] = {
8260
{"gdb",static_cast<unsigned>(llvm::DebuggerKind::GDB)},{"lldb",static_cast<unsigned>(llvm::DebuggerKind::LLDB)},{"sce",static_cast<unsigned>(llvm::DebuggerKind::SCE)},{"dbx",static_cast<unsigned>(llvm::DebuggerKind::DBX)},};
8261
static const SimpleEnumValue compress_debug_sections_EQValueTable[] = {
8262
{"none",static_cast<unsigned>(llvm::DebugCompressionType::None)},{"zlib",static_cast<unsigned>(llvm::DebugCompressionType::Zlib)},{"zstd",static_cast<unsigned>(llvm::DebugCompressionType::Zstd)},};
8263
static const SimpleEnumValue mframe_pointer_EQValueTable[] = {
8264
{"all",static_cast<unsigned>(CodeGenOptions::FramePointerKind::All)},{"non-leaf",static_cast<unsigned>(CodeGenOptions::FramePointerKind::NonLeaf)},{"none",static_cast<unsigned>(CodeGenOptions::FramePointerKind::None)},};
8265
static const SimpleEnumValue fprofile_instrument_EQValueTable[] = {
8266
{"none",static_cast<unsigned>(CodeGenOptions::ProfileNone)},{"clang",static_cast<unsigned>(CodeGenOptions::ProfileClangInstr)},{"llvm",static_cast<unsigned>(CodeGenOptions::ProfileIRInstr)},{"csllvm",static_cast<unsigned>(CodeGenOptions::ProfileCSIRInstr)},};
8267
static const SimpleEnumValue header_include_format_EQValueTable[] = {
8268
{"textual",static_cast<unsigned>(HIFMT_Textual)},{"json",static_cast<unsigned>(HIFMT_JSON)},};
8269
static const SimpleEnumValue header_include_filtering_EQValueTable[] = {
8270
{"none",static_cast<unsigned>(HIFIL_None)},{"only-direct-system",static_cast<unsigned>(HIFIL_Only_Direct_System)},};
8271
static const SimpleEnumValue fdiagnostics_formatValueTable[] = {
8272
{"clang",static_cast<unsigned>(DiagnosticOptions::Clang)},{"msvc",static_cast<unsigned>(DiagnosticOptions::MSVC)},{"vi",static_cast<unsigned>(DiagnosticOptions::Vi)},{"sarif",static_cast<unsigned>(DiagnosticOptions::SARIF)},{"SARIF",static_cast<unsigned>(DiagnosticOptions::SARIF)},};
8273
static const SimpleEnumValue fdiagnostics_show_categoryValueTable[] = {
8274
{"none",static_cast<unsigned>(0)},{"id",static_cast<unsigned>(1)},{"name",static_cast<unsigned>(2)},};
8275
static const SimpleEnumValue arcmt_action_EQValueTable[] = {
8276
{"check",static_cast<unsigned>(FrontendOptions::ARCMT_Check)},{"modify",static_cast<unsigned>(FrontendOptions::ARCMT_Modify)},{"migrate",static_cast<unsigned>(FrontendOptions::ARCMT_Migrate)},};
8277
static const SimpleEnumValue fobjc_arc_cxxlib_EQValueTable[] = {
8278
{"libc++",static_cast<unsigned>(ARCXX_libcxx)},{"libstdc++",static_cast<unsigned>(ARCXX_libstdcxx)},{"none",static_cast<unsigned>(ARCXX_nolib)},};
8279
static const SimpleEnumValue fobjc_dispatch_method_EQValueTable[] = {
8280
{"legacy",static_cast<unsigned>(CodeGenOptions::Legacy)},{"non-legacy",static_cast<unsigned>(CodeGenOptions::NonLegacy)},{"mixed",static_cast<unsigned>(CodeGenOptions::Mixed)},};
8281
static const SimpleEnumValue stack_protectorValueTable[] = {
8282
{"0",static_cast<unsigned>(LangOptions::SSPOff)},{"1",static_cast<unsigned>(LangOptions::SSPOn)},{"2",static_cast<unsigned>(LangOptions::SSPStrong)},{"3",static_cast<unsigned>(LangOptions::SSPReq)},};
8283
static const SimpleEnumValue ftype_visibilityValueTable[] = {
8284
{"default",static_cast<unsigned>(DefaultVisibility)},{"hidden",static_cast<unsigned>(HiddenVisibility)},{"internal",static_cast<unsigned>(HiddenVisibility)},{"protected",static_cast<unsigned>(ProtectedVisibility)},};
8285
static const SimpleEnumValue faddress_space_map_mangling_EQValueTable[] = {
8286
{"target",static_cast<unsigned>(LangOptions::ASMM_Target)},{"no",static_cast<unsigned>(LangOptions::ASMM_Off)},{"yes",static_cast<unsigned>(LangOptions::ASMM_On)},};
8287
static const SimpleEnumValue fdefault_calling_conv_EQValueTable[] = {
8288
{"cdecl",static_cast<unsigned>(LangOptions::DCC_CDecl)},{"fastcall",static_cast<unsigned>(LangOptions::DCC_FastCall)},{"stdcall",static_cast<unsigned>(LangOptions::DCC_StdCall)},{"vectorcall",static_cast<unsigned>(LangOptions::DCC_VectorCall)},{"regcall",static_cast<unsigned>(LangOptions::DCC_RegCall)},};
8289
static const SimpleEnumValue fwchar_type_EQValueTable[] = {
8290
{"char",static_cast<unsigned>(1)},{"short",static_cast<unsigned>(2)},{"int",static_cast<unsigned>(4)},};
8291
static const SimpleEnumValue sycl_std_EQValueTable[] = {
8292
{"2020",static_cast<unsigned>(LangOptions::SYCL_2020)},{"2017",static_cast<unsigned>(LangOptions::SYCL_2017)},{"121",static_cast<unsigned>(LangOptions::SYCL_2017)},{"1.2.1",static_cast<unsigned>(LangOptions::SYCL_2017)},{"sycl-1.2.1",static_cast<unsigned>(LangOptions::SYCL_2017)},};
8293
static const SimpleEnumValueTable SimpleEnumValueTables[] = {{fgpu_default_stream_EQValueTable, std::size(fgpu_default_stream_EQValueTable)},
8294
{fstrict_flex_arrays_EQValueTable, std::size(fstrict_flex_arrays_EQValueTable)},
8295
{fembed_bitcode_EQValueTable, std::size(fembed_bitcode_EQValueTable)},
8296
{fswift_async_fp_EQValueTable, std::size(fswift_async_fp_EQValueTable)},
8297
{fcf_runtime_abi_EQValueTable, std::size(fcf_runtime_abi_EQValueTable)},
8298
{exception_modelValueTable, std::size(exception_modelValueTable)},
8299
{ffloat16_excess_precision_EQValueTable, std::size(ffloat16_excess_precision_EQValueTable)},
8300
{ffp_eval_method_EQValueTable, std::size(ffp_eval_method_EQValueTable)},
8301
{ffp_exception_behavior_EQValueTable, std::size(ffp_exception_behavior_EQValueTable)},
8302
{fextend_args_EQValueTable, std::size(fextend_args_EQValueTable)},
8303
{sanitize_address_use_after_return_EQValueTable, std::size(sanitize_address_use_after_return_EQValueTable)},
8304
{sanitize_address_destructor_EQValueTable, std::size(sanitize_address_destructor_EQValueTable)},
8305
{mfunction_return_EQValueTable, std::size(mfunction_return_EQValueTable)},
8306
{flax_vector_conversions_EQValueTable, std::size(flax_vector_conversions_EQValueTable)},
8307
{fms_memptr_rep_EQValueTable, std::size(fms_memptr_rep_EQValueTable)},
8308
{fveclibValueTable, std::size(fveclibValueTable)},
8309
{fshow_overloads_EQValueTable, std::size(fshow_overloads_EQValueTable)},
8310
{ftrivial_auto_var_initValueTable, std::size(ftrivial_auto_var_initValueTable)},
8311
{ftlsmodel_EQValueTable, std::size(ftlsmodel_EQValueTable)},
8312
{fvisibility_dllexport_EQValueTable, std::size(fvisibility_dllexport_EQValueTable)},
8313
{fvisibility_nodllstorageclass_EQValueTable, std::size(fvisibility_nodllstorageclass_EQValueTable)},
8314
{fvisibility_externs_dllimport_EQValueTable, std::size(fvisibility_externs_dllimport_EQValueTable)},
8315
{fvisibility_externs_nodllstorageclass_EQValueTable, std::size(fvisibility_externs_nodllstorageclass_EQValueTable)},
8316
{fvisibility_EQValueTable, std::size(fvisibility_EQValueTable)},
8317
{mdefault_visibility_export_mapping_EQValueTable, std::size(mdefault_visibility_export_mapping_EQValueTable)},
8318
{fzero_call_used_regs_EQValueTable, std::size(fzero_call_used_regs_EQValueTable)},
8319
{femit_dwarf_unwind_EQValueTable, std::size(femit_dwarf_unwind_EQValueTable)},
8320
{gsrc_hash_EQValueTable, std::size(gsrc_hash_EQValueTable)},
8321
{inline_asm_EQValueTable, std::size(inline_asm_EQValueTable)},
8322
{mthread_modelValueTable, std::size(mthread_modelValueTable)},
8323
{meabiValueTable, std::size(meabiValueTable)},
8324
{mcode_object_version_EQValueTable, std::size(mcode_object_version_EQValueTable)},
8325
{altivec_src_compatValueTable, std::size(altivec_src_compatValueTable)},
8326
{analyzer_config_compatibility_modeValueTable, std::size(analyzer_config_compatibility_modeValueTable)},
8327
{mrelocation_modelValueTable, std::size(mrelocation_modelValueTable)},
8328
{debugger_tuning_EQValueTable, std::size(debugger_tuning_EQValueTable)},
8329
{compress_debug_sections_EQValueTable, std::size(compress_debug_sections_EQValueTable)},
8330
{mframe_pointer_EQValueTable, std::size(mframe_pointer_EQValueTable)},
8331
{fprofile_instrument_EQValueTable, std::size(fprofile_instrument_EQValueTable)},
8332
{header_include_format_EQValueTable, std::size(header_include_format_EQValueTable)},
8333
{header_include_filtering_EQValueTable, std::size(header_include_filtering_EQValueTable)},
8334
{fdiagnostics_formatValueTable, std::size(fdiagnostics_formatValueTable)},
8335
{fdiagnostics_show_categoryValueTable, std::size(fdiagnostics_show_categoryValueTable)},
8336
{arcmt_action_EQValueTable, std::size(arcmt_action_EQValueTable)},
8337
{fobjc_arc_cxxlib_EQValueTable, std::size(fobjc_arc_cxxlib_EQValueTable)},
8338
{fobjc_dispatch_method_EQValueTable, std::size(fobjc_dispatch_method_EQValueTable)},
8339
{stack_protectorValueTable, std::size(stack_protectorValueTable)},
8340
{ftype_visibilityValueTable, std::size(ftype_visibilityValueTable)},
8341
{faddress_space_map_mangling_EQValueTable, std::size(faddress_space_map_mangling_EQValueTable)},
8342
{fdefault_calling_conv_EQValueTable, std::size(fdefault_calling_conv_EQValueTable)},
8343
{fwchar_type_EQValueTable, std::size(fwchar_type_EQValueTable)},
8344
{sycl_std_EQValueTable, std::size(sycl_std_EQValueTable)},
8345
};
8346
static const unsigned SimpleEnumValueTablesSize = std::size(SimpleEnumValueTables);
8347
#endif // SIMPLE_ENUM_VALUE_TABLE
8348
 
8349