1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Option Parsing Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9/////////
10// Tables
11
12#if defined(OPTTABLE_CODE) || defined(OPTIONS_STRUCT_DEFS)
13static llvm::opt::OptTable::Tables optionTables() {
14 using llvm::opt::DefaultVis, llvm::opt::HelpHidden,
15 llvm::opt::RenderAsInput, llvm::opt::RenderJoined,
16 llvm::opt::RenderSeparate;
17
18#ifdef __GNUC__
19#pragma GCC diagnostic push
20#pragma GCC diagnostic ignored "-Woverlength-strings"
21#endif
22static constexpr char OptionStrTableStorage[] =
23 "\0"
24 "-\0"
25 "--\0"
26 "<input>\0"
27 "<unknown>\0"
28 "-adce-remove-control-flow\0"
29 "\0"
30 "\0"
31 "-adce-remove-loops\0"
32 "-allow-unroll-and-jam\0"
33 "Allows loops to be unroll-and-jammed\0"
34 "-bonus-inst-threshold\0"
35 "Control the number of bonus instructions\0"
36 "-callsite-splitting-duplication-threshold\0"
37 "Only allow instructions before a call, if their cost is below DuplicationThreshold\0"
38 "-consthoist-gep\0"
39 "Try hoisting constant gep expressions\0"
40 "-consthoist-min-num-to-rebase\0"
41 "Do not rebase if number of dependent constants of a Base is less than this number\0"
42 "-consthoist-with-block-frequency\0"
43 "Enable the use of the block frequency analysis to reduce the chance to execute const materialization more frequently than without hoisting\0"
44 "-constraint-elimination-dump-reproducers\0"
45 "Dump IR to reproduce successful transformations\0"
46 "-constraint-elimination-max-rows\0"
47 "Maximum number of rows to keep in constraint system\0"
48 "-dfa-cost-threshold\0"
49 "Maximum cost accepted for the transformation\0"
50 "-dfa-early-exit-heuristic\0"
51 "Exit early if an unpredictable value come from the same loop\0"
52 "-dfa-jump-view-cfg-before\0"
53 "View the CFG before DFA Jump Threading\0"
54 "-dfa-max-cloned-rate\0"
55 "Maximum cloned instructions rate accepted for the transformation\0"
56 "-dfa-max-num-paths\0"
57 "Max number of paths enumerated around a switch\0"
58 "-dfa-max-num-visited-paths\0"
59 "Max number of blocks visited while enumerating paths around a switch\0"
60 "-dfa-max-out-use-blocks\0"
61 "Maximum unduplicated blocks with outer uses accepted for the transformation\0"
62 "-dfa-max-path-length\0"
63 "Max number of blocks searched to find a threading path\0"
64 "-disable-lftr\0"
65 "Disable Linear Function Test Replace optimization\0"
66 "-disable-licm-promotion\0"
67 "Disable memory promotion in LICM pass\0"
68 "-disable-separate-const-offset-from-gep\0"
69 "Do not separate the constant offset from a GEP instruction\0"
70 "-disable-tail-call-elim-for-cold-calls\0"
71 "Disable tail call elimination and optimization for cold calls or in cold functions\0"
72 "-dse-max-dom-cond-depth\0"
73 "Max dominator tree recursion depth for eliminating redundant stores via dominating conditions\0"
74 "-dse-memoryssa-defs-per-block-limit\0"
75 "The number of MemoryDefs we consider as candidates to eliminated other stores per basic block\0"
76 "-dse-memoryssa-otherbb-cost\0"
77 "The cost of a step in a different basic block than the killing MemoryDef\0"
78 "-dse-memoryssa-partial-store-limit\0"
79 "The maximum number candidates that only partially overwrite the killing MemoryDef to consider\0"
80 "-dse-memoryssa-path-check-limit\0"
81 "The maximum number of blocks to check when trying to prove that all paths to an exit go through a killing block\0"
82 "-dse-memoryssa-samebb-cost\0"
83 "The cost of a step in the same basic block as the killing MemoryDef\0"
84 "-dse-memoryssa-scanlimit\0"
85 "The number of memory instructions to scan for dead store elimination\0"
86 "-dse-memoryssa-walklimit\0"
87 "The maximum number of steps while walking upwards to find MemoryDefs that may be killed\0"
88 "-dse-optimize-memoryssa\0"
89 "Allow DSE to optimize memory accesses\0"
90 "-earlycse-debug-hash\0"
91 "Perform extra assertion checking to verify that SimpleValue's hash function is well-behaved w.r.t. its isEqual predicate\0"
92 "-earlycse-mssa-optimization-cap\0"
93 "Enable imprecision in EarlyCSE in pathological cases, in exchange for faster compile. Caps the MemorySSA clobbering calls\0"
94 "-enable-dse-initializes-attr-improvement\0"
95 "Enable the initializes attr improvement in DSE\0"
96 "-enable-dse-partial-overwrite-tracking\0"
97 "Enable partial-overwrite tracking in DSE\0"
98 "-enable-dse-partial-store-merging\0"
99 "Enable partial store merging in DSE\0"
100 "-enable-gvn-memdep\0"
101 "-enable-gvn-memoryssa\0"
102 "-enable-load-in-loop-pre\0"
103 "-enable-load-pre\0"
104 "-enable-loop-distribute\0"
105 "Enable the new, experimental LoopDistribution Pass\0"
106 "-enable-loop-header-duplication-at-minsize\0"
107 "Enable loop header duplication even for minsize\0"
108 "-enable-loop-simplifycfg-term-folding\0"
109 "-enable-lsr-phielim\0"
110 "Enable LSR phi elimination\0"
111 "-enable-nontrivial-unswitch\0"
112 "Forcibly enables non-trivial loop unswitching rather than following the configuration passed into the pass\0"
113 "-enable-phi-of-ops\0"
114 "-enable-poison-reuse-guard\0"
115 "Enable poison-reuse guard\0"
116 "-enable-scalar-pre\0"
117 "-enable-split-backedge-in-load-pre\0"
118 "-enable-store-refinement\0"
119 "-enable-unswitch-cost-multiplier\0"
120 "Enable unswitch cost multiplier that prohibits exponential explosion in nontrivial unswitch\0"
121 "-flat-loop-tripcount-threshold\0"
122 "If the runtime tripcount for the loop is lower than the threshold, the loop is considered as flat and will be less aggressively unrolled\0"
123 "-float2int-max-integer-bw\0"
124 "Max integer bitwidth to consider in float2int\0"
125 "-force-fuse-matrix\0"
126 "Force matrix instruction fusion even if not profitable\0"
127 "-forget-scev-loop-unroll\0"
128 "Forget everything in SCEV when doing LoopUnroll, instead of just the current top-most loop. This is sometimes preferred to reduce compile time\0"
129 "-forward-switch-cond\0"
130 "Forward switch condition to phi ops\0"
131 "-freeze-loop-unswitch-cond\0"
132 "If enabled, the freeze instruction will be added to condition of loop unswitch to prevent miscompilation\0"
133 "-fuse-matrix-loops-threshold\0"
134 "Generate loop nests for tiling when expected number of operations exceeds threshold\0"
135 "-fuse-matrix-tile-size\0"
136 "Tile size for matrix instruction fusion using square-shaped tiles\0"
137 "-fuse-matrix\0"
138 "Enable/disable fusing matrix instructions\0"
139 "-guard-widening-widen-branch-guards\0"
140 "Whether or not we should widen guards expressed as branches by widenable conditions\0"
141 "-gvn-hoist-max-bbs\0"
142 "Max number of basic blocks on the path between hoisting locations (unlimited = -1)\0"
143 "-gvn-hoist-max-chain-length\0"
144 "Maximum length of dependent chains to hoist (unlimited = -1)\0"
145 "-gvn-hoist-max-depth\0"
146 "Hoist instructions from the beginning of the BB up to the maximum specified depth (unlimited = -1)\0"
147 "-gvn-max-block-speculations\0"
148 "Max number of blocks we're willing to speculate on (and recurse into) when deducing if a value is fully available or not in GVN\0"
149 "-gvn-max-hoisted\0"
150 "Max number of instructions to hoist (unlimited = -1)\0"
151 "-gvn-max-num-deps\0"
152 "Max number of dependences to attempt Load PRE\0"
153 "-gvn-max-num-insns\0"
154 "Max number of instructions to scan in each basic block in GVN\0"
155 "-gvn-max-num-reaching-blocks\0"
156 "Max number of blocks scanned per load in the MemorySSA reaching-value analysis\0"
157 "-gvn-max-num-visited-insts\0"
158 "Max number of visited instructions when trying to find dominating value of select dependency\0"
159 "-gvn-scan-users-limit\0"
160 "The number of memory accesses to scan in a block in reaching memory values analysis\0"
161 "-hoist-common-insts\0"
162 "hoist common instructions\0"
163 "-hoist-loads-stores-with-cond-faulting\0"
164 "Hoist loads/stores if the target supports conditional faulting\0"
165 "-indvars-post-increment-ranges\0"
166 "Use post increment control-dependent ranges in IndVarSimplify\0"
167 "-indvars-predicate-loop-traps\0"
168 "Predicate conditions that trap in loops with only local writes\0"
169 "-indvars-predicate-loops\0"
170 "Predicate conditions in read only loops\0"
171 "-indvars-widen-indvars\0"
172 "Allow widening of indvars to eliminate s/zext\0"
173 "-irce-allow-narrow-latch\0"
174 "If set to true, IRCE may eliminate wide range checks in loops with narrow latch condition\0"
175 "-irce-allow-unsigned-latch\0"
176 "-irce-loop-size-cutoff\0"
177 "-irce-max-type-size-for-overflow-check\0"
178 "Maximum size of range check type for which can be produced runtime overflow check of its limit's computation\0"
179 "-irce-min-eliminated-checks\0"
180 "-irce-print-changed-loops\0"
181 "-irce-print-range-checks\0"
182 "-irce-print-scaled-boundary-range-checks\0"
183 "-irce-skip-profitability-checks\0"
184 "-jump-table-to-switch-function-size-threshold\0"
185 "Only split jump tables containing functions whose sizes are less or equal than this threshold\0"
186 "-jump-table-to-switch-size-threshold\0"
187 "Only split jump tables with size less or equal than JumpTableSizeThreshold\0"
188 "-jump-threading-across-loop-headers\0"
189 "Allow JumpThreading to thread across loop headers, for testing\0"
190 "-jump-threading-implication-search-threshold\0"
191 "The number of predecessors to search for a stronger condition to use to thread over a weaker condition\0"
192 "-jump-threading-phi-threshold\0"
193 "Max PHIs in BB to duplicate for jump threading\0"
194 "-jump-threading-threshold\0"
195 "Max block size to duplicate for jump threading\0"
196 "-keep-loops\0"
197 "Preserve canonical loop structure\0"
198 "-licm-max-num-fp-reassociations\0"
199 "Set upper limit for the number of transformations performed during a single round of hoisting the reassociated expressions\0"
200 "-licm-max-num-int-reassociations\0"
201 "-licm-max-num-uses-traversed\0"
202 "Max num uses visited for identifying load invariance in loop using invariant start\0"
203 "-licm-mssa-max-acc-promotion\0"
204 "[LICM & MemorySSA] When MSSA in LICM is disabled, this has no effect. When MSSA in LICM is enabled, then this is the maximum number of accesses allowed to be present in a loop in order to enable memory promotion\0"
205 "-licm-mssa-optimization-cap\0"
206 "Enable imprecision in LICM in pathological cases, in exchange for faster compile. Caps the MemorySSA clobbering calls\0"
207 "-licm-versioning-invariant-threshold\0"
208 "LoopVersioningLICM's minimum allowed percentage of possible invariant instructions per loop\0"
209 "-licm-versioning-max-depth-threshold\0"
210 "LoopVersioningLICM's threshold for maximum allowed loop nest/depth\0"
211 "-likely-branch-weight\0"
212 "Weight of the branch likely to be taken\0"
213 "-loop-deletion-enable-symbolic-execution\0"
214 "Break backedge through symbolic execution of 1st iteration attempting to prove that the backedge is never taken\0"
215 "-loop-distribute-non-if-convertible\0"
216 "Whether to distribute into a loop that may not be if-convertible by the loop vectorizer\0"
217 "-loop-distribute-scev-check-threshold-with-pragma\0"
218 "The maximum number of SCEV checks allowed for Loop Distribution for loop marked with #pragma clang loop distribute(enable)\0"
219 "-loop-distribute-scev-check-threshold\0"
220 "The maximum number of SCEV checks allowed for Loop Distribution\0"
221 "-loop-distribute-verify\0"
222 "Turn on DominatorTree and LoopInfo verification after Loop Distribution\0"
223 "-loop-flatten-assume-no-overflow\0"
224 "Assume that the product of the two iteration trip counts will never overflow\0"
225 "-loop-flatten-cost-threshold\0"
226 "Limit on the cost of instructions that can be repeated due to loop flattening\0"
227 "-loop-flatten-version-loops\0"
228 "Version loops if flattened loop could overflow\0"
229 "-loop-flatten-widen-iv\0"
230 "Widen the loop induction variables, if possible, so overflow checks won't reject flattening\0"
231 "-loop-fusion-peel-max-count\0"
232 "Max number of iterations to be peeled from a loop, such that fusion can take place\0"
233 "-loop-idiom-crc-strategy\0"
234 "Preferred strategy for optimizing CRC loops\0"
235 "<disable|auto|table|clmul>\0"
236 "disable,auto,table,clmul\0"
237 "-loop-idiom-force-memset-pattern-intrinsic\0"
238 "Use memset.pattern intrinsic whenever possible\0"
239 "-loop-interchange-max-loop-nest-depth\0"
240 "Maximum depth of loop nest considered for the transform\0"
241 "-loop-interchange-max-mem-instr-ratio\0"
242 "Maximum number of load/store instructions squared in relation to the total number of instructions. Higher value may lead to more interchanges at the cost of compile-time\0"
243 "-loop-interchange-min-loop-nest-depth\0"
244 "Minimum depth of loop nest considered for the transform\0"
245 "-loop-interchange-profitabilities\0"
246 "List of profitability heuristics to be used. They are applied in the given order\0"
247 "<cache|instorder|vectorize|ignore>\0"
248 "cache,instorder,vectorize,ignore\0"
249 "-loop-interchange-reduction-to-mem\0"
250 "Support for the inner-loop reduction pattern\0"
251 "-loop-interchange-threshold\0"
252 "Interchange if you gain more than this number\0"
253 "-loop-load-elimination-scev-check-threshold\0"
254 "The maximum number of SCEV checks allowed for Loop Load Elimination\0"
255 "-loop-predication-enable-count-down-loop\0"
256 "-loop-predication-enable-iv-truncation\0"
257 "-loop-predication-insert-assumes-of-predicated-guards-conditions\0"
258 "Whether or not we should insert assumes of conditions of predicated guards\0"
259 "-loop-predication-latch-probability-scale\0"
260 "scale factor for the latch probability. Value should be greater than 1. Lower values are ignored\0"
261 "-loop-predication-predicate-widenable-branches-to-deopt\0"
262 "Whether or not we should predicate guards expressed as widenable branches to deoptimize blocks\0"
263 "-loop-predication-skip-profitability-checks\0"
264 "-loop-prefetch-writes\0"
265 "Prefetch write addresses\0"
266 "-lsr-complexity-limit\0"
267 "LSR search space complexity limit\0"
268 "-lsr-drop-scaled-reg-for-vscale\0"
269 "Avoid using scaled registers with vscale-relative addressing\0"
270 "-lsr-drop-solution\0"
271 "Attempt to drop solution if it is less profitable\0"
272 "-lsr-enable-vscale-immediates\0"
273 "Enable analysis of vscale-relative immediates in LSR\0"
274 "-lsr-exp-narrow\0"
275 "Narrow LSR complex solution using expectation of registers number\0"
276 "-lsr-filter-same-scaled-reg\0"
277 "Narrow LSR search space by filtering non-optimal formulae with the same ScaledReg and Scale\0"
278 "-lsr-insns-cost\0"
279 "Add instruction count to a LSR cost model\0"
280 "-lsr-preferred-addressing-mode\0"
281 "A flag that overrides the target's preferred addressing mode\0"
282 "<none|preindexed|postindexed|all>\0"
283 "none,preindexed,postindexed,all\0"
284 "-lsr-setupcost-depth-limit\0"
285 "The limit on recursion depth for LSRs setup cost\0"
286 "-matrix-allow-contract\0"
287 "Allow the use of FMAs if available and profitable. This may result in different results, due to less rounding error\0"
288 "-matrix-default-layout\0"
289 "Sets the default matrix layout\0"
290 "<column-major|row-major>\0"
291 "column-major,row-major\0"
292 "-matrix-print-after-transpose-opt\0"
293 "-matrix-split-matmul-remainder-over-threshold\0"
294 "Illegal remainder vectors over this size in bits should be split in the inner loop of matmul\0"
295 "-max-loads-per-memcmp-opt-size\0"
296 "Set maximum number of loads used in expanded memcmp for -Os/Oz\0"
297 "-max-loads-per-memcmp\0"
298 "Set maximum number of loads used in expanded memcmp\0"
299 "-max-prefetch-iters-ahead\0"
300 "Max number of iterations to prefetch ahead\0"
301 "-max-uses-for-sinking\0"
302 "Do not sink instructions that have too many uses\0"
303 "-memcmp-num-loads-per-block\0"
304 "The number of loads per basic block for inline expansion of memcmp\0"
305 "-min-prefetch-stride\0"
306 "Min stride to add prefetches\0"
307 "-pragma-unroll-and-jam-threshold\0"
308 "Unrolled size limit for loops with an unroll_and_jam(full) or unroll_count pragma\0"
309 "-pragma-unroll-full-max-iterations\0"
310 "Maximum allowed iterations to unroll under pragma unroll full\0"
311 "-pragma-unroll-threshold\0"
312 "Unrolled size limit for loops with unroll metadata (full, enable, or count)\0"
313 "-prefetch-distance\0"
314 "Number of instructions to prefetch ahead\0"
315 "-reassociate-geps-verify-no-dead-code\0"
316 "Verify this pass produces no dead code\0"
317 "-reassociate-use-cse-local\0"
318 "Only reorder expressions within a basic block when exposing CSE opportunities\0"
319 "-replexitval\0"
320 "Choose the strategy to replace exit value in IndVarSimplify\0"
321 "<never|cheap|unusedindvarinloop|noharduse|always>\0"
322 "never,cheap,unusedindvarinloop,noharduse,always\0"
323 "-rotation-max-header-size\0"
324 "The default maximum header size for automatic loop rotation\0"
325 "-rotation-prepare-for-lto\0"
326 "Run loop-rotation in the prepare-for-lto stage. This option should be used for testing only\0"
327 "-rs4gc-allow-statepoint-with-no-deopt-info\0"
328 "-rs4gc-remat-derived-at-uses\0"
329 "-runtime-check-per-loop-load-elim\0"
330 "Max number of memchecks allowed per eliminated load on average\0"
331 "-simple-loop-unswitch-drop-non-trivial-implicit-null-checks\0"
332 "If enabled, drop make.implicit metadata in unswitched implicit null checks to save time analyzing if we can keep it\0"
333 "-simple-loop-unswitch-estimate-profile\0"
334 "-simple-loop-unswitch-guards\0"
335 "If enabled, simple loop unswitching will also consider llvm.experimental.guard intrinsics as unswitch candidates\0"
336 "-simple-loop-unswitch-inject-invariant-condition-hotness-threshold\0"
337 "Only try to inject loop invariant conditions and unswitch on them to eliminate branches that are not-taken 1/<this option> times or less\0"
338 "-simple-loop-unswitch-inject-invariant-conditions\0"
339 "Whether we should inject new invariants and unswitch them to eliminate some existing (non-invariant) conditions\0"
340 "-simple-loop-unswitch-memoryssa-threshold\0"
341 "Max number of memory uses to explore during partial unswitching analysis\0"
342 "-sink-common-insts\0"
343 "Sink common instructions\0"
344 "-sink-freq-percent-threshold\0"
345 "Do not sink instructions that require cloning unless they execute less than this percent of the time\0"
346 "-spec-exec-max-not-hoisted\0"
347 "Speculative execution is not applied to basic blocks where the number of instructions that would not be speculatively executed exceeds this limit\0"
348 "-spec-exec-max-speculation-cost\0"
349 "Speculative execution is not applied to basic blocks where the cost of the instructions to speculatively execute exceeds this limit\0"
350 "-spec-exec-only-if-divergent-target\0"
351 "Speculative execution is applied only to targets with divergent branches, even if the pass was configured to apply only to all targets\0"
352 "-speculate-unpredictables\0"
353 "Speculate unpredictable branches\0"
354 "-spp-all-backedges\0"
355 "-spp-counted-loop-trip-width\0"
356 "-spp-no-backedge\0"
357 "-spp-no-call\0"
358 "-spp-no-entry\0"
359 "-spp-print-base-pointers\0"
360 "-spp-print-liveset-size\0"
361 "-spp-print-liveset\0"
362 "-spp-rematerialization-threshold\0"
363 "-spp-split-backedge\0"
364 "-sroa-skip-mem2reg\0"
365 "-structurizecfg-relaxed-uniform-regions\0"
366 "Allow relaxed uniform region checks\0"
367 "-structurizecfg-skip-uniform-regions\0"
368 "Force whether the StructurizeCFG pass skips uniform regions\0"
369 "-switch-range-to-icmp\0"
370 "Convert switches into an integer range comparison\0"
371 "-switch-to-lookup\0"
372 "Convert switches to lookup tables\0"
373 "-tre-disable-entrycount-recompute\0"
374 "Force disabling recomputing of function entry count, on successful tail recursion elimination\0"
375 "-unlikely-branch-weight\0"
376 "Weight of the branch unlikely to be taken\0"
377 "-unroll-allow-partial\0"
378 "Allows loops to be partially unrolled until -unroll-threshold loop size is reached\0"
379 "-unroll-allow-remainder\0"
380 "Allow generation of a loop remainder (extra iterations) when unrolling a loop\0"
381 "-unroll-and-jam-count\0"
382 "Use this unroll count for all loops including those with unroll_and_jam_count pragma values, for testing purposes\0"
383 "-unroll-and-jam-threshold\0"
384 "Threshold to use for inner loop when doing unroll and jam\0"
385 "-unroll-count\0"
386 "Use this unroll count for all loops including those with unroll_count pragma values, for testing purposes\0"
387 "-unroll-full-max-count\0"
388 "Set the max unroll count for full unrolling, for testing purposes\0"
389 "-unroll-max-count\0"
390 "Set the max unroll count for partial and runtime unrolling, fortesting purposes\0"
391 "-unroll-max-iteration-count-to-analyze\0"
392 "Don't allow loop unrolling to simulate more than this number of iterations when checking full unroll profitability\0"
393 "-unroll-max-percent-threshold-boost\0"
394 "The maximum 'boost' (represented as a percentage >= 100) applied to the threshold when aggressively unrolling a loop due to the dynamic cost savings. If completely unrolling a loop will reduce the total runtime from X to Y, we boost the loop unroll threshold to DefaultThreshold*std::min(MaxPercentThresholdBoost, X/Y). This limit avoids excessive code bloat\0"
395 "-unroll-max-upperbound\0"
396 "The max of trip count upper bound that is considered in unrolling\0"
397 "-unroll-optsize-threshold\0"
398 "The cost threshold for loop unrolling when optimizing for size\0"
399 "-unroll-partial-threshold\0"
400 "The cost threshold for partial loop unrolling\0"
401 "-unroll-remainder\0"
402 "Allow the loop remainder to be unrolled\0"
403 "-unroll-revisit-child-loops\0"
404 "Enqueue and re-visit child loops in the loop PM after unrolling. This shouldn't typically be needed as child loops (or their clones) were already visited\0"
405 "-unroll-runtime\0"
406 "Unroll loops with run-time trip counts\0"
407 "-unroll-threshold-aggressive\0"
408 "Threshold (max size of unrolled loop) to use in aggressive (O3) optimizations\0"
409 "-unroll-threshold-default\0"
410 "Default threshold (max size of unrolled loop), used in all but O3 optimizations\0"
411 "-unroll-threshold\0"
412 "The cost threshold for loop unrolling\0"
413 "-unswitch-num-initial-unscaled-candidates\0"
414 "Number of unswitch candidates that are ignored when calculating cost multiplier\0"
415 "-unswitch-parent-blocks-div\0"
416 "Outer loop size divisor for cost multiplier\0"
417 "-unswitch-siblings-toplevel-div\0"
418 "Toplevel siblings divisor for cost multiplier\0"
419 "-unswitch-threshold\0"
420 "The cost threshold for unswitching a loop\0"
421 "-use-lir-code-size-heurs\0"
422 "Use loop idiom recognition code size heuristics when compiling with -Os/-Oz\0"
423 "-verify-matrix-shapes\0"
424 "Enable/disable matrix shape verification\0"
425 ;
426#ifdef __GNUC__
427#pragma GCC diagnostic pop
428#endif
429
430static constexpr llvm::StringTable
431OptionStrTable = OptionStrTableStorage;
432
433 static constexpr llvm::StringTable::Offset OptionPrefixesTable[] = {
434 0 /* prefixes */,
435 2 /* prefixes */, 1 /* '-' */, 3 /* '--' */
436 };
437
438 static constexpr llvm::opt::OptTable::HelpTextVariant OptionHelpTextVariantsTable[] = {
439 {0, 0},
440 };
441
442 static constexpr unsigned OptionSubCommandIDsTable[] = {
443 0 /* subcommands */
444 };
445
446 static constexpr llvm::opt::OptTable::InfoExtra OptionInfoExtrasTable[] = {
447 {0, 0, 0, 0, 0, 0, 0, 0},
448 {0, 0, 0, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0},
449 {9993, 0, 10020, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0},
450 {10646, 0, 10681, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0},
451 {12234, 0, 12268, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0},
452 {12569, 0, 12594, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0},
453 {13871, 0, 13921, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0},
454 };
455
456 static constexpr llvm::opt::OptTable::Info OptionInfoTable[] = {
457 {6 /* <input> */, 0, 0, 0, 1, 0, llvm::opt::Option::InputClass},
458 {14 /* <unknown> */, 0, 0, 0, 1, 0, llvm::opt::Option::UnknownClass},
459 {24 /* -adce-remove-control-flow */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
460 {52 /* -adce-remove-loops */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
461 {71 /* -allow-unroll-and-jam */, 93, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
462 {130 /* -bonus-inst-threshold */, 152, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
463 {193 /* -callsite-splitting-duplication-threshold */, 235, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
464 {318 /* -consthoist-gep */, 334, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
465 {372 /* -consthoist-min-num-to-rebase */, 402, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
466 {484 /* -consthoist-with-block-frequency */, 517, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
467 {656 /* -constraint-elimination-dump-reproducers */, 697, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
468 {745 /* -constraint-elimination-max-rows */, 778, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
469 {830 /* -dfa-cost-threshold */, 850, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
470 {895 /* -dfa-early-exit-heuristic */, 921, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
471 {982 /* -dfa-jump-view-cfg-before */, 1008, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
472 {1047 /* -dfa-max-cloned-rate */, 1068, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
473 {1133 /* -dfa-max-num-paths */, 1152, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
474 {1199 /* -dfa-max-num-visited-paths */, 1226, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
475 {1295 /* -dfa-max-out-use-blocks */, 1319, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
476 {1395 /* -dfa-max-path-length */, 1416, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
477 {1471 /* -disable-lftr */, 1485, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
478 {1535 /* -disable-licm-promotion */, 1559, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
479 {1597 /* -disable-separate-const-offset-from-gep */, 1637, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
480 {1696 /* -disable-tail-call-elim-for-cold-calls */, 1735, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
481 {1818 /* -dse-max-dom-cond-depth */, 1842, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
482 {1936 /* -dse-memoryssa-defs-per-block-limit */, 1972, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
483 {2066 /* -dse-memoryssa-otherbb-cost */, 2094, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
484 {2167 /* -dse-memoryssa-partial-store-limit */, 2202, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
485 {2296 /* -dse-memoryssa-path-check-limit */, 2328, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
486 {2440 /* -dse-memoryssa-samebb-cost */, 2467, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
487 {2535 /* -dse-memoryssa-scanlimit */, 2560, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
488 {2629 /* -dse-memoryssa-walklimit */, 2654, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
489 {2742 /* -dse-optimize-memoryssa */, 2766, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
490 {2804 /* -earlycse-debug-hash */, 2825, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
491 {2946 /* -earlycse-mssa-optimization-cap */, 2978, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
492 {3100 /* -enable-dse-initializes-attr-improvement */, 3141, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
493 {3188 /* -enable-dse-partial-overwrite-tracking */, 3227, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
494 {3268 /* -enable-dse-partial-store-merging */, 3302, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
495 {3338 /* -enable-gvn-memdep */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
496 {3357 /* -enable-gvn-memoryssa */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
497 {3379 /* -enable-load-in-loop-pre */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
498 {3404 /* -enable-load-pre */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
499 {3421 /* -enable-loop-distribute */, 3445, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
500 {3496 /* -enable-loop-header-duplication-at-minsize */, 3539, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
501 {3587 /* -enable-loop-simplifycfg-term-folding */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
502 {3625 /* -enable-lsr-phielim */, 3645, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
503 {3672 /* -enable-nontrivial-unswitch */, 3700, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
504 {3807 /* -enable-phi-of-ops */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
505 {3826 /* -enable-poison-reuse-guard */, 3853, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
506 {3879 /* -enable-scalar-pre */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
507 {3898 /* -enable-split-backedge-in-load-pre */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
508 {3933 /* -enable-store-refinement */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
509 {3958 /* -enable-unswitch-cost-multiplier */, 3991, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
510 {4083 /* -flat-loop-tripcount-threshold */, 4114, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
511 {4251 /* -float2int-max-integer-bw */, 4277, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
512 {4323 /* -force-fuse-matrix */, 4342, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
513 {4397 /* -forget-scev-loop-unroll */, 4422, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
514 {4565 /* -forward-switch-cond */, 4586, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
515 {4622 /* -freeze-loop-unswitch-cond */, 4649, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
516 {4754 /* -fuse-matrix-loops-threshold */, 4783, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
517 {4867 /* -fuse-matrix-tile-size */, 4890, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
518 {4956 /* -fuse-matrix */, 4969, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
519 {5011 /* -guard-widening-widen-branch-guards */, 5047, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
520 {5132 /* -gvn-hoist-max-bbs */, 5151, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
521 {5234 /* -gvn-hoist-max-chain-length */, 5262, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
522 {5323 /* -gvn-hoist-max-depth */, 5344, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
523 {5443 /* -gvn-max-block-speculations */, 5471, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
524 {5599 /* -gvn-max-hoisted */, 5616, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
525 {5669 /* -gvn-max-num-deps */, 5687, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
526 {5733 /* -gvn-max-num-insns */, 5752, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
527 {5814 /* -gvn-max-num-reaching-blocks */, 5843, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
528 {5922 /* -gvn-max-num-visited-insts */, 5949, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
529 {6042 /* -gvn-scan-users-limit */, 6064, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
530 {6148 /* -hoist-common-insts */, 6168, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
531 {6194 /* -hoist-loads-stores-with-cond-faulting */, 6233, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
532 {6296 /* -indvars-post-increment-ranges */, 6327, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
533 {6389 /* -indvars-predicate-loop-traps */, 6419, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
534 {6482 /* -indvars-predicate-loops */, 6507, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
535 {6547 /* -indvars-widen-indvars */, 6570, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
536 {6616 /* -irce-allow-narrow-latch */, 6641, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
537 {6731 /* -irce-allow-unsigned-latch */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
538 {6758 /* -irce-loop-size-cutoff */, 50, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
539 {6781 /* -irce-max-type-size-for-overflow-check */, 6820, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
540 {6929 /* -irce-min-eliminated-checks */, 50, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
541 {6957 /* -irce-print-changed-loops */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
542 {6983 /* -irce-print-range-checks */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
543 {7008 /* -irce-print-scaled-boundary-range-checks */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
544 {7049 /* -irce-skip-profitability-checks */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
545 {7081 /* -jump-table-to-switch-function-size-threshold */, 7127, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
546 {7221 /* -jump-table-to-switch-size-threshold */, 7258, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
547 {7333 /* -jump-threading-across-loop-headers */, 7369, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
548 {7432 /* -jump-threading-implication-search-threshold */, 7477, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
549 {7580 /* -jump-threading-phi-threshold */, 7610, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
550 {7657 /* -jump-threading-threshold */, 7683, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
551 {7730 /* -keep-loops */, 7742, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
552 {7776 /* -licm-max-num-fp-reassociations */, 7808, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
553 {7931 /* -licm-max-num-int-reassociations */, 7808, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
554 {7964 /* -licm-max-num-uses-traversed */, 7993, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
555 {8076 /* -licm-mssa-max-acc-promotion */, 8105, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
556 {8317 /* -licm-mssa-optimization-cap */, 8345, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
557 {8463 /* -licm-versioning-invariant-threshold */, 8500, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
558 {8592 /* -licm-versioning-max-depth-threshold */, 8629, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
559 {8696 /* -likely-branch-weight */, 8718, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
560 {8758 /* -loop-deletion-enable-symbolic-execution */, 8799, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
561 {8911 /* -loop-distribute-non-if-convertible */, 8947, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
562 {9035 /* -loop-distribute-scev-check-threshold-with-pragma */, 9085, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
563 {9208 /* -loop-distribute-scev-check-threshold */, 9246, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
564 {9310 /* -loop-distribute-verify */, 9334, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
565 {9406 /* -loop-flatten-assume-no-overflow */, 9439, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
566 {9516 /* -loop-flatten-cost-threshold */, 9545, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
567 {9623 /* -loop-flatten-version-loops */, 9651, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
568 {9698 /* -loop-flatten-widen-iv */, 9721, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
569 {9813 /* -loop-fusion-peel-max-count */, 9841, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
570 {9924 /* -loop-idiom-crc-strategy */, 9949, 0, 0, 2, 1, llvm::opt::Option::SeparateOrEqClass},
571 {10045 /* -loop-idiom-force-memset-pattern-intrinsic */, 10088, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
572 {10135 /* -loop-interchange-max-loop-nest-depth */, 10173, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
573 {10229 /* -loop-interchange-max-mem-instr-ratio */, 10267, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
574 {10437 /* -loop-interchange-min-loop-nest-depth */, 10475, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
575 {10531 /* -loop-interchange-profitabilities */, 10565, 0, 0, 3, 1, llvm::opt::Option::SeparateOrEqClass},
576 {10714 /* -loop-interchange-reduction-to-mem */, 10749, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
577 {10794 /* -loop-interchange-threshold */, 10822, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
578 {10868 /* -loop-load-elimination-scev-check-threshold */, 10912, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
579 {10980 /* -loop-predication-enable-count-down-loop */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
580 {11021 /* -loop-predication-enable-iv-truncation */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
581 {11060 /* -loop-predication-insert-assumes-of-predicated-guards-conditions */, 11125, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
582 {11200 /* -loop-predication-latch-probability-scale */, 11242, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
583 {11339 /* -loop-predication-predicate-widenable-branches-to-deopt */, 11395, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
584 {11490 /* -loop-predication-skip-profitability-checks */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
585 {11534 /* -loop-prefetch-writes */, 11556, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
586 {11581 /* -lsr-complexity-limit */, 11603, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
587 {11637 /* -lsr-drop-scaled-reg-for-vscale */, 11669, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
588 {11730 /* -lsr-drop-solution */, 11749, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
589 {11799 /* -lsr-enable-vscale-immediates */, 11829, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
590 {11882 /* -lsr-exp-narrow */, 11898, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
591 {11964 /* -lsr-filter-same-scaled-reg */, 11992, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
592 {12084 /* -lsr-insns-cost */, 12100, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
593 {12142 /* -lsr-preferred-addressing-mode */, 12173, 0, 0, 4, 1, llvm::opt::Option::SeparateOrEqClass},
594 {12300 /* -lsr-setupcost-depth-limit */, 12327, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
595 {12376 /* -matrix-allow-contract */, 12399, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
596 {12515 /* -matrix-default-layout */, 12538, 0, 0, 5, 1, llvm::opt::Option::SeparateOrEqClass},
597 {12617 /* -matrix-print-after-transpose-opt */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
598 {12651 /* -matrix-split-matmul-remainder-over-threshold */, 12697, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
599 {12790 /* -max-loads-per-memcmp-opt-size */, 12821, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
600 {12884 /* -max-loads-per-memcmp */, 12906, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
601 {12958 /* -max-prefetch-iters-ahead */, 12984, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
602 {13027 /* -max-uses-for-sinking */, 13049, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
603 {13098 /* -memcmp-num-loads-per-block */, 13126, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
604 {13193 /* -min-prefetch-stride */, 13214, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
605 {13243 /* -pragma-unroll-and-jam-threshold */, 13276, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
606 {13358 /* -pragma-unroll-full-max-iterations */, 13393, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
607 {13455 /* -pragma-unroll-threshold */, 13480, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
608 {13556 /* -prefetch-distance */, 13575, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
609 {13616 /* -reassociate-geps-verify-no-dead-code */, 13654, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
610 {13693 /* -reassociate-use-cse-local */, 13720, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
611 {13798 /* -replexitval */, 13811, 0, 0, 6, 1, llvm::opt::Option::SeparateOrEqClass},
612 {13969 /* -rotation-max-header-size */, 13995, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
613 {14055 /* -rotation-prepare-for-lto */, 14081, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
614 {14173 /* -rs4gc-allow-statepoint-with-no-deopt-info */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
615 {14216 /* -rs4gc-remat-derived-at-uses */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
616 {14245 /* -runtime-check-per-loop-load-elim */, 14279, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
617 {14342 /* -simple-loop-unswitch-drop-non-trivial-implicit-null-checks */, 14402, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
618 {14518 /* -simple-loop-unswitch-estimate-profile */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
619 {14557 /* -simple-loop-unswitch-guards */, 14586, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
620 {14699 /* -simple-loop-unswitch-inject-invariant-condition-hotness-threshold */, 14766, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
621 {14903 /* -simple-loop-unswitch-inject-invariant-conditions */, 14953, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
622 {15065 /* -simple-loop-unswitch-memoryssa-threshold */, 15107, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
623 {15180 /* -sink-common-insts */, 15199, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
624 {15224 /* -sink-freq-percent-threshold */, 15253, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
625 {15354 /* -spec-exec-max-not-hoisted */, 15381, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
626 {15527 /* -spec-exec-max-speculation-cost */, 15559, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
627 {15691 /* -spec-exec-only-if-divergent-target */, 15727, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
628 {15862 /* -speculate-unpredictables */, 15888, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
629 {15921 /* -spp-all-backedges */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
630 {15940 /* -spp-counted-loop-trip-width */, 50, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
631 {15969 /* -spp-no-backedge */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
632 {15986 /* -spp-no-call */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
633 {15999 /* -spp-no-entry */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
634 {16013 /* -spp-print-base-pointers */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
635 {16038 /* -spp-print-liveset-size */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
636 {16062 /* -spp-print-liveset */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
637 {16081 /* -spp-rematerialization-threshold */, 50, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
638 {16114 /* -spp-split-backedge */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
639 {16134 /* -sroa-skip-mem2reg */, 50, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
640 {16153 /* -structurizecfg-relaxed-uniform-regions */, 16193, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
641 {16229 /* -structurizecfg-skip-uniform-regions */, 16266, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
642 {16326 /* -switch-range-to-icmp */, 16348, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
643 {16398 /* -switch-to-lookup */, 16416, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
644 {16450 /* -tre-disable-entrycount-recompute */, 16484, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
645 {16578 /* -unlikely-branch-weight */, 16602, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
646 {16644 /* -unroll-allow-partial */, 16666, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
647 {16749 /* -unroll-allow-remainder */, 16773, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
648 {16851 /* -unroll-and-jam-count */, 16873, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
649 {16987 /* -unroll-and-jam-threshold */, 17013, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
650 {17071 /* -unroll-count */, 17085, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
651 {17191 /* -unroll-full-max-count */, 17214, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
652 {17280 /* -unroll-max-count */, 17298, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
653 {17378 /* -unroll-max-iteration-count-to-analyze */, 17417, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
654 {17532 /* -unroll-max-percent-threshold-boost */, 17568, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
655 {17927 /* -unroll-max-upperbound */, 17950, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
656 {18016 /* -unroll-optsize-threshold */, 18042, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
657 {18105 /* -unroll-partial-threshold */, 18131, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
658 {18177 /* -unroll-remainder */, 18195, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
659 {18235 /* -unroll-revisit-child-loops */, 18263, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
660 {18417 /* -unroll-runtime */, 18433, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
661 {18472 /* -unroll-threshold-aggressive */, 18501, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
662 {18579 /* -unroll-threshold-default */, 18605, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
663 {18685 /* -unroll-threshold */, 18703, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
664 {18741 /* -unswitch-num-initial-unscaled-candidates */, 18783, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
665 {18863 /* -unswitch-parent-blocks-div */, 18891, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
666 {18935 /* -unswitch-siblings-toplevel-div */, 18967, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
667 {19013 /* -unswitch-threshold */, 19033, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass},
668 {19075 /* -use-lir-code-size-heurs */, 19100, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
669 {19176 /* -verify-matrix-shapes */, 19198, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass},
670 };
671
672 return {OptionStrTable, OptionPrefixesTable,
673 OptionInfoTable, OptionInfoExtrasTable, OptionHelpTextVariantsTable, {}, OptionSubCommandIDsTable};
674}
675#undef OPTTABLE_CODE
676#endif // OPTTABLE_CODE || OPTIONS_STRUCT_DEFS
677
678
679#ifdef OPTIONS_STRUCT_DECL
680#undef OPTIONS_STRUCT_DECL
681#include "llvm/ADT/ArrayRef.h"
682#include "llvm/ADT/BoolOrDefault.h"
683#include "llvm/ADT/StringRef.h"
684#include "llvm/Support/Allocator.h"
685
686namespace llvm {
687namespace opt {
688class Arg;
689class OptTable;
690} // namespace opt
691} // namespace llvm
692
693namespace llvm {
694struct ScalarOptions {
695 bool adce_remove_control_flow{true};
696 bool adce_remove_loops{false};
697 unsigned callsite_splitting_duplication_threshold{5};
698 bool consthoist_gep{false};
699 unsigned consthoist_min_num_to_rebase{0};
700 bool consthoist_with_block_frequency{true};
701 bool constraint_elimination_dump_reproducers{false};
702 unsigned constraint_elimination_max_rows{500};
703 unsigned dse_max_dom_cond_depth{1024};
704 unsigned dse_memoryssa_defs_per_block_limit{5000};
705 unsigned dse_memoryssa_otherbb_cost{5};
706 unsigned dse_memoryssa_partial_store_limit{5};
707 unsigned dse_memoryssa_path_check_limit{50};
708 unsigned dse_memoryssa_samebb_cost{1};
709 unsigned dse_memoryssa_scanlimit{150};
710 unsigned dse_memoryssa_walklimit{90};
711 bool dse_optimize_memoryssa{true};
712 bool enable_dse_initializes_attr_improvement{true};
713 bool enable_dse_partial_overwrite_tracking{true};
714 bool enable_dse_partial_store_merging{true};
715 unsigned dfa_cost_threshold{50};
716 bool dfa_early_exit_heuristic{true};
717 bool dfa_jump_view_cfg_before{false};
718 double dfa_max_cloned_rate{7.5};
719 unsigned dfa_max_num_paths{200};
720 unsigned dfa_max_num_visited_paths{2500};
721 unsigned dfa_max_out_use_blocks{40};
722 unsigned dfa_max_path_length{20};
723 bool earlycse_debug_hash{false};
724 unsigned earlycse_mssa_optimization_cap{500};
725 std::optional<unsigned> max_loads_per_memcmp{};
726 std::optional<unsigned> max_loads_per_memcmp_opt_size{};
727 std::optional<unsigned> memcmp_num_loads_per_block{};
728 unsigned float2int_max_integer_bw{64};
729 bool guard_widening_widen_branch_guards{true};
730 llvm::BoolOrDefault enable_gvn_memdep{llvm::BoolOrDefault::Default};
731 bool enable_gvn_memoryssa{false};
732 bool enable_load_in_loop_pre{true};
733 bool enable_load_pre{true};
734 bool enable_scalar_pre{true};
735 bool enable_split_backedge_in_load_pre{false};
736 uint32_t gvn_max_block_speculations{600};
737 uint32_t gvn_max_num_deps{100};
738 uint32_t gvn_max_num_insns{100};
739 uint32_t gvn_max_num_reaching_blocks{200};
740 uint32_t gvn_max_num_visited_insts{100};
741 unsigned gvn_scan_users_limit{100};
742 int gvn_hoist_max_bbs{4};
743 int gvn_hoist_max_chain_length{10};
744 int gvn_hoist_max_depth{100};
745 int gvn_max_hoisted{-1};
746 bool irce_allow_narrow_latch{true};
747 bool irce_allow_unsigned_latch{true};
748 unsigned irce_loop_size_cutoff{64};
749 unsigned irce_max_type_size_for_overflow_check{32};
750 unsigned irce_min_eliminated_checks{10};
751 bool irce_print_changed_loops{false};
752 bool irce_print_range_checks{false};
753 bool irce_print_scaled_boundary_range_checks{false};
754 bool irce_skip_profitability_checks{false};
755 bool disable_lftr{false};
756 bool indvars_post_increment_ranges{true};
757 bool indvars_predicate_loop_traps{true};
758 bool indvars_predicate_loops{true};
759 bool indvars_widen_indvars{true};
760 ReplaceExitVal replexitval{OnlyCheapRepl};
761 unsigned jump_table_to_switch_function_size_threshold{50};
762 unsigned jump_table_to_switch_size_threshold{10};
763 bool jump_threading_across_loop_headers{false};
764 unsigned jump_threading_implication_search_threshold{3};
765 unsigned jump_threading_phi_threshold{76};
766 std::optional<unsigned> jump_threading_threshold{};
767 bool disable_licm_promotion{false};
768 unsigned licm_max_num_fp_reassociations{5U};
769 unsigned licm_max_num_int_reassociations{5U};
770 uint32_t licm_max_num_uses_traversed{8};
771 unsigned licm_mssa_max_acc_promotion{250};
772 unsigned licm_mssa_optimization_cap{100};
773 llvm::BoolOrDefault loop_prefetch_writes{llvm::BoolOrDefault::Default};
774 std::optional<unsigned> max_prefetch_iters_ahead{};
775 std::optional<unsigned> min_prefetch_stride{};
776 std::optional<unsigned> prefetch_distance{};
777 bool loop_deletion_enable_symbolic_execution{true};
778 bool enable_loop_distribute{false};
779 bool loop_distribute_non_if_convertible{false};
780 unsigned loop_distribute_scev_check_threshold{8};
781 unsigned loop_distribute_scev_check_threshold_with_pragma{128};
782 bool loop_distribute_verify{false};
783 bool loop_flatten_assume_no_overflow{false};
784 unsigned loop_flatten_cost_threshold{2};
785 bool loop_flatten_version_loops{true};
786 bool loop_flatten_widen_iv{true};
787 uint32_t loop_fusion_peel_max_count{0};
788 CRCStrategyKind loop_idiom_crc_strategy{CRCStrategyKind::Auto};
789 bool loop_idiom_force_memset_pattern_intrinsic{false};
790 bool use_lir_code_size_heurs{true};
791 unsigned loop_interchange_max_loop_nest_depth{10};
792 unsigned loop_interchange_max_mem_instr_ratio{4};
793 unsigned loop_interchange_min_loop_nest_depth{2};
794 llvm::ArrayRef<LoopInterchangeRule> loop_interchange_profitabilities{};
795 bool loop_interchange_reduction_to_mem{false};
796 int loop_interchange_threshold{0};
797 unsigned loop_load_elimination_scev_check_threshold{8};
798 unsigned runtime_check_per_loop_load_elim{1};
799 bool loop_predication_enable_count_down_loop{true};
800 bool loop_predication_enable_iv_truncation{true};
801 bool loop_predication_insert_assumes_of_predicated_guards_conditions{true};
802 float loop_predication_latch_probability_scale{2.0};
803 bool loop_predication_predicate_widenable_branches_to_deopt{true};
804 bool loop_predication_skip_profitability_checks{false};
805 bool enable_loop_header_duplication_at_minsize{false};
806 unsigned rotation_max_header_size{16};
807 bool rotation_prepare_for_lto{false};
808 bool enable_loop_simplifycfg_term_folding{true};
809 unsigned max_uses_for_sinking{30};
810 unsigned sink_freq_percent_threshold{90};
811 bool enable_lsr_phielim{true};
812 unsigned lsr_complexity_limit{std::numeric_limits<uint16_t>::max()};
813 bool lsr_drop_scaled_reg_for_vscale{true};
814 llvm::BoolOrDefault lsr_drop_solution{llvm::BoolOrDefault::Default};
815 bool lsr_enable_vscale_immediates{true};
816 bool lsr_exp_narrow{false};
817 bool lsr_filter_same_scaled_reg{true};
818 llvm::BoolOrDefault lsr_insns_cost{llvm::BoolOrDefault::Default};
819 std::optional<TargetTransformInfo::AddressingModeKind> lsr_preferred_addressing_mode{};
820 unsigned lsr_setupcost_depth_limit{7};
821 llvm::BoolOrDefault allow_unroll_and_jam{llvm::BoolOrDefault::Default};
822 unsigned pragma_unroll_and_jam_threshold{1024};
823 std::optional<unsigned> unroll_and_jam_count{};
824 std::optional<unsigned> unroll_and_jam_threshold{};
825 unsigned flat_loop_tripcount_threshold{5};
826 bool forget_scev_loop_unroll{false};
827 unsigned pragma_unroll_full_max_iterations{1'000'000};
828 unsigned pragma_unroll_threshold{16 * 1024};
829 llvm::BoolOrDefault unroll_allow_partial{llvm::BoolOrDefault::Default};
830 llvm::BoolOrDefault unroll_allow_remainder{llvm::BoolOrDefault::Default};
831 std::optional<unsigned> unroll_count{};
832 std::optional<unsigned> unroll_full_max_count{};
833 std::optional<unsigned> unroll_max_count{};
834 std::optional<unsigned> unroll_max_iteration_count_to_analyze{};
835 std::optional<unsigned> unroll_max_percent_threshold_boost{};
836 std::optional<unsigned> unroll_max_upperbound{};
837 unsigned unroll_optsize_threshold{0};
838 std::optional<unsigned> unroll_partial_threshold{};
839 llvm::BoolOrDefault unroll_remainder{llvm::BoolOrDefault::Default};
840 bool unroll_revisit_child_loops{false};
841 llvm::BoolOrDefault unroll_runtime{llvm::BoolOrDefault::Default};
842 std::optional<unsigned> unroll_threshold{};
843 unsigned unroll_threshold_aggressive{300};
844 unsigned unroll_threshold_default{150};
845 float licm_versioning_invariant_threshold{25};
846 unsigned licm_versioning_max_depth_threshold{2};
847 uint32_t likely_branch_weight{2000};
848 uint32_t unlikely_branch_weight{1};
849 bool force_fuse_matrix{false};
850 bool fuse_matrix{true};
851 unsigned fuse_matrix_loops_threshold{200};
852 unsigned fuse_matrix_tile_size{4};
853 bool matrix_allow_contract{false};
854 MatrixLayoutTy matrix_default_layout{MatrixLayoutTy::ColumnMajor};
855 bool matrix_print_after_transpose_opt{false};
856 unsigned matrix_split_matmul_remainder_over_threshold{0};
857 bool verify_matrix_shapes{false};
858 bool enable_phi_of_ops{true};
859 bool enable_store_refinement{false};
860 bool spp_all_backedges{false};
861 int spp_counted_loop_trip_width{32};
862 bool spp_no_backedge{false};
863 bool spp_no_call{false};
864 bool spp_no_entry{false};
865 bool spp_split_backedge{false};
866 bool reassociate_use_cse_local{true};
867 bool rs4gc_allow_statepoint_with_no_deopt_info{true};
868 bool rs4gc_remat_derived_at_uses{true};
869 bool spp_print_base_pointers{false};
870 bool spp_print_liveset{false};
871 bool spp_print_liveset_size{false};
872 unsigned spp_rematerialization_threshold{6};
873 bool disable_separate_const_offset_from_gep{false};
874 bool reassociate_geps_verify_no_dead_code{false};
875 bool enable_nontrivial_unswitch{false};
876 bool enable_unswitch_cost_multiplier{true};
877 bool freeze_loop_unswitch_cond{true};
878 bool simple_loop_unswitch_drop_non_trivial_implicit_null_checks{false};
879 bool simple_loop_unswitch_estimate_profile{true};
880 bool simple_loop_unswitch_guards{true};
881 unsigned simple_loop_unswitch_inject_invariant_condition_hotness_threshold{16};
882 bool simple_loop_unswitch_inject_invariant_conditions{true};
883 unsigned simple_loop_unswitch_memoryssa_threshold{100};
884 int unswitch_num_initial_unscaled_candidates{8};
885 int unswitch_parent_blocks_div{8};
886 int unswitch_siblings_toplevel_div{2};
887 int unswitch_threshold{50};
888 std::optional<unsigned> bonus_inst_threshold{};
889 llvm::BoolOrDefault forward_switch_cond{llvm::BoolOrDefault::Default};
890 llvm::BoolOrDefault hoist_common_insts{llvm::BoolOrDefault::Default};
891 llvm::BoolOrDefault hoist_loads_stores_with_cond_faulting{llvm::BoolOrDefault::Default};
892 llvm::BoolOrDefault keep_loops{llvm::BoolOrDefault::Default};
893 llvm::BoolOrDefault sink_common_insts{llvm::BoolOrDefault::Default};
894 llvm::BoolOrDefault speculate_unpredictables{llvm::BoolOrDefault::Default};
895 llvm::BoolOrDefault switch_range_to_icmp{llvm::BoolOrDefault::Default};
896 llvm::BoolOrDefault switch_to_lookup{llvm::BoolOrDefault::Default};
897 unsigned spec_exec_max_not_hoisted{5};
898 unsigned spec_exec_max_speculation_cost{7};
899 bool spec_exec_only_if_divergent_target{false};
900 bool sroa_skip_mem2reg{false};
901 bool enable_poison_reuse_guard{true};
902 bool structurizecfg_relaxed_uniform_regions{true};
903 llvm::BoolOrDefault structurizecfg_skip_uniform_regions{llvm::BoolOrDefault::Default};
904 bool disable_tail_call_elim_for_cold_calls{false};
905 bool tre_disable_entrycount_recompute{false};
906
907 /// The instance cl::ParseCommandLineOptions sets.
908 static ScalarOptions Global;
909
910 static const llvm::opt::OptTable &optTable();
911 /// Sets the member that \p A names, allocating a list from \p Alloc.
912 /// Returns false if the value is invalid.
913 bool apply(const llvm::opt::Arg &A, llvm::BumpPtrAllocator &Alloc);
914};
915} // namespace llvm
916#endif // OPTIONS_STRUCT_DECL
917
918#ifdef OPTIONS_STRUCT_DEFS
919#undef OPTIONS_STRUCT_DEFS
920llvm::ScalarOptions llvm::ScalarOptions::Global;
921
922namespace {
923enum ID : unsigned {
924 OPT_INVALID = 0,
925 OPT_INPUT,
926 OPT_UNKNOWN,
927 OPT_adce_remove_control_flow,
928 OPT_adce_remove_loops,
929 OPT_allow_unroll_and_jam,
930 OPT_bonus_inst_threshold,
931 OPT_callsite_splitting_duplication_threshold,
932 OPT_consthoist_gep,
933 OPT_consthoist_min_num_to_rebase,
934 OPT_consthoist_with_block_frequency,
935 OPT_constraint_elimination_dump_reproducers,
936 OPT_constraint_elimination_max_rows,
937 OPT_dfa_cost_threshold,
938 OPT_dfa_early_exit_heuristic,
939 OPT_dfa_jump_view_cfg_before,
940 OPT_dfa_max_cloned_rate,
941 OPT_dfa_max_num_paths,
942 OPT_dfa_max_num_visited_paths,
943 OPT_dfa_max_out_use_blocks,
944 OPT_dfa_max_path_length,
945 OPT_disable_lftr,
946 OPT_disable_licm_promotion,
947 OPT_disable_separate_const_offset_from_gep,
948 OPT_disable_tail_call_elim_for_cold_calls,
949 OPT_dse_max_dom_cond_depth,
950 OPT_dse_memoryssa_defs_per_block_limit,
951 OPT_dse_memoryssa_otherbb_cost,
952 OPT_dse_memoryssa_partial_store_limit,
953 OPT_dse_memoryssa_path_check_limit,
954 OPT_dse_memoryssa_samebb_cost,
955 OPT_dse_memoryssa_scanlimit,
956 OPT_dse_memoryssa_walklimit,
957 OPT_dse_optimize_memoryssa,
958 OPT_earlycse_debug_hash,
959 OPT_earlycse_mssa_optimization_cap,
960 OPT_enable_dse_initializes_attr_improvement,
961 OPT_enable_dse_partial_overwrite_tracking,
962 OPT_enable_dse_partial_store_merging,
963 OPT_enable_gvn_memdep,
964 OPT_enable_gvn_memoryssa,
965 OPT_enable_load_in_loop_pre,
966 OPT_enable_load_pre,
967 OPT_enable_loop_distribute,
968 OPT_enable_loop_header_duplication_at_minsize,
969 OPT_enable_loop_simplifycfg_term_folding,
970 OPT_enable_lsr_phielim,
971 OPT_enable_nontrivial_unswitch,
972 OPT_enable_phi_of_ops,
973 OPT_enable_poison_reuse_guard,
974 OPT_enable_scalar_pre,
975 OPT_enable_split_backedge_in_load_pre,
976 OPT_enable_store_refinement,
977 OPT_enable_unswitch_cost_multiplier,
978 OPT_flat_loop_tripcount_threshold,
979 OPT_float2int_max_integer_bw,
980 OPT_force_fuse_matrix,
981 OPT_forget_scev_loop_unroll,
982 OPT_forward_switch_cond,
983 OPT_freeze_loop_unswitch_cond,
984 OPT_fuse_matrix_loops_threshold,
985 OPT_fuse_matrix_tile_size,
986 OPT_fuse_matrix,
987 OPT_guard_widening_widen_branch_guards,
988 OPT_gvn_hoist_max_bbs,
989 OPT_gvn_hoist_max_chain_length,
990 OPT_gvn_hoist_max_depth,
991 OPT_gvn_max_block_speculations,
992 OPT_gvn_max_hoisted,
993 OPT_gvn_max_num_deps,
994 OPT_gvn_max_num_insns,
995 OPT_gvn_max_num_reaching_blocks,
996 OPT_gvn_max_num_visited_insts,
997 OPT_gvn_scan_users_limit,
998 OPT_hoist_common_insts,
999 OPT_hoist_loads_stores_with_cond_faulting,
1000 OPT_indvars_post_increment_ranges,
1001 OPT_indvars_predicate_loop_traps,
1002 OPT_indvars_predicate_loops,
1003 OPT_indvars_widen_indvars,
1004 OPT_irce_allow_narrow_latch,
1005 OPT_irce_allow_unsigned_latch,
1006 OPT_irce_loop_size_cutoff,
1007 OPT_irce_max_type_size_for_overflow_check,
1008 OPT_irce_min_eliminated_checks,
1009 OPT_irce_print_changed_loops,
1010 OPT_irce_print_range_checks,
1011 OPT_irce_print_scaled_boundary_range_checks,
1012 OPT_irce_skip_profitability_checks,
1013 OPT_jump_table_to_switch_function_size_threshold,
1014 OPT_jump_table_to_switch_size_threshold,
1015 OPT_jump_threading_across_loop_headers,
1016 OPT_jump_threading_implication_search_threshold,
1017 OPT_jump_threading_phi_threshold,
1018 OPT_jump_threading_threshold,
1019 OPT_keep_loops,
1020 OPT_licm_max_num_fp_reassociations,
1021 OPT_licm_max_num_int_reassociations,
1022 OPT_licm_max_num_uses_traversed,
1023 OPT_licm_mssa_max_acc_promotion,
1024 OPT_licm_mssa_optimization_cap,
1025 OPT_licm_versioning_invariant_threshold,
1026 OPT_licm_versioning_max_depth_threshold,
1027 OPT_likely_branch_weight,
1028 OPT_loop_deletion_enable_symbolic_execution,
1029 OPT_loop_distribute_non_if_convertible,
1030 OPT_loop_distribute_scev_check_threshold_with_pragma,
1031 OPT_loop_distribute_scev_check_threshold,
1032 OPT_loop_distribute_verify,
1033 OPT_loop_flatten_assume_no_overflow,
1034 OPT_loop_flatten_cost_threshold,
1035 OPT_loop_flatten_version_loops,
1036 OPT_loop_flatten_widen_iv,
1037 OPT_loop_fusion_peel_max_count,
1038 OPT_loop_idiom_crc_strategy,
1039 OPT_loop_idiom_force_memset_pattern_intrinsic,
1040 OPT_loop_interchange_max_loop_nest_depth,
1041 OPT_loop_interchange_max_mem_instr_ratio,
1042 OPT_loop_interchange_min_loop_nest_depth,
1043 OPT_loop_interchange_profitabilities,
1044 OPT_loop_interchange_reduction_to_mem,
1045 OPT_loop_interchange_threshold,
1046 OPT_loop_load_elimination_scev_check_threshold,
1047 OPT_loop_predication_enable_count_down_loop,
1048 OPT_loop_predication_enable_iv_truncation,
1049 OPT_loop_predication_insert_assumes_of_predicated_guards_conditions,
1050 OPT_loop_predication_latch_probability_scale,
1051 OPT_loop_predication_predicate_widenable_branches_to_deopt,
1052 OPT_loop_predication_skip_profitability_checks,
1053 OPT_loop_prefetch_writes,
1054 OPT_lsr_complexity_limit,
1055 OPT_lsr_drop_scaled_reg_for_vscale,
1056 OPT_lsr_drop_solution,
1057 OPT_lsr_enable_vscale_immediates,
1058 OPT_lsr_exp_narrow,
1059 OPT_lsr_filter_same_scaled_reg,
1060 OPT_lsr_insns_cost,
1061 OPT_lsr_preferred_addressing_mode,
1062 OPT_lsr_setupcost_depth_limit,
1063 OPT_matrix_allow_contract,
1064 OPT_matrix_default_layout,
1065 OPT_matrix_print_after_transpose_opt,
1066 OPT_matrix_split_matmul_remainder_over_threshold,
1067 OPT_max_loads_per_memcmp_opt_size,
1068 OPT_max_loads_per_memcmp,
1069 OPT_max_prefetch_iters_ahead,
1070 OPT_max_uses_for_sinking,
1071 OPT_memcmp_num_loads_per_block,
1072 OPT_min_prefetch_stride,
1073 OPT_pragma_unroll_and_jam_threshold,
1074 OPT_pragma_unroll_full_max_iterations,
1075 OPT_pragma_unroll_threshold,
1076 OPT_prefetch_distance,
1077 OPT_reassociate_geps_verify_no_dead_code,
1078 OPT_reassociate_use_cse_local,
1079 OPT_replexitval,
1080 OPT_rotation_max_header_size,
1081 OPT_rotation_prepare_for_lto,
1082 OPT_rs4gc_allow_statepoint_with_no_deopt_info,
1083 OPT_rs4gc_remat_derived_at_uses,
1084 OPT_runtime_check_per_loop_load_elim,
1085 OPT_simple_loop_unswitch_drop_non_trivial_implicit_null_checks,
1086 OPT_simple_loop_unswitch_estimate_profile,
1087 OPT_simple_loop_unswitch_guards,
1088 OPT_simple_loop_unswitch_inject_invariant_condition_hotness_threshold,
1089 OPT_simple_loop_unswitch_inject_invariant_conditions,
1090 OPT_simple_loop_unswitch_memoryssa_threshold,
1091 OPT_sink_common_insts,
1092 OPT_sink_freq_percent_threshold,
1093 OPT_spec_exec_max_not_hoisted,
1094 OPT_spec_exec_max_speculation_cost,
1095 OPT_spec_exec_only_if_divergent_target,
1096 OPT_speculate_unpredictables,
1097 OPT_spp_all_backedges,
1098 OPT_spp_counted_loop_trip_width,
1099 OPT_spp_no_backedge,
1100 OPT_spp_no_call,
1101 OPT_spp_no_entry,
1102 OPT_spp_print_base_pointers,
1103 OPT_spp_print_liveset_size,
1104 OPT_spp_print_liveset,
1105 OPT_spp_rematerialization_threshold,
1106 OPT_spp_split_backedge,
1107 OPT_sroa_skip_mem2reg,
1108 OPT_structurizecfg_relaxed_uniform_regions,
1109 OPT_structurizecfg_skip_uniform_regions,
1110 OPT_switch_range_to_icmp,
1111 OPT_switch_to_lookup,
1112 OPT_tre_disable_entrycount_recompute,
1113 OPT_unlikely_branch_weight,
1114 OPT_unroll_allow_partial,
1115 OPT_unroll_allow_remainder,
1116 OPT_unroll_and_jam_count,
1117 OPT_unroll_and_jam_threshold,
1118 OPT_unroll_count,
1119 OPT_unroll_full_max_count,
1120 OPT_unroll_max_count,
1121 OPT_unroll_max_iteration_count_to_analyze,
1122 OPT_unroll_max_percent_threshold_boost,
1123 OPT_unroll_max_upperbound,
1124 OPT_unroll_optsize_threshold,
1125 OPT_unroll_partial_threshold,
1126 OPT_unroll_remainder,
1127 OPT_unroll_revisit_child_loops,
1128 OPT_unroll_runtime,
1129 OPT_unroll_threshold_aggressive,
1130 OPT_unroll_threshold_default,
1131 OPT_unroll_threshold,
1132 OPT_unswitch_num_initial_unscaled_candidates,
1133 OPT_unswitch_parent_blocks_div,
1134 OPT_unswitch_siblings_toplevel_div,
1135 OPT_unswitch_threshold,
1136 OPT_use_lir_code_size_heurs,
1137 OPT_verify_matrix_shapes,
1138};
1139} // namespace
1140
1141const llvm::opt::OptTable &llvm::ScalarOptions::optTable() {
1142 static const llvm::opt::LibraryOptTable T(optionTables());
1143 return T;
1144}
1145
1146bool llvm::ScalarOptions::apply(const llvm::opt::Arg &A, llvm::BumpPtrAllocator &Alloc) {
1147 switch (A.getOption().getID()) {
1148 case OPT_adce_remove_control_flow:
1149 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", adce_remove_control_flow, Alloc);
1150 case OPT_adce_remove_loops:
1151 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", adce_remove_loops, Alloc);
1152 case OPT_allow_unroll_and_jam:
1153 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", allow_unroll_and_jam, Alloc);
1154 case OPT_bonus_inst_threshold:
1155 return llvm::opt::parseArgValue(A.getValue(), bonus_inst_threshold, Alloc);
1156 case OPT_callsite_splitting_duplication_threshold:
1157 return llvm::opt::parseArgValue(A.getValue(), callsite_splitting_duplication_threshold, Alloc);
1158 case OPT_consthoist_gep:
1159 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", consthoist_gep, Alloc);
1160 case OPT_consthoist_min_num_to_rebase:
1161 return llvm::opt::parseArgValue(A.getValue(), consthoist_min_num_to_rebase, Alloc);
1162 case OPT_consthoist_with_block_frequency:
1163 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", consthoist_with_block_frequency, Alloc);
1164 case OPT_constraint_elimination_dump_reproducers:
1165 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", constraint_elimination_dump_reproducers, Alloc);
1166 case OPT_constraint_elimination_max_rows:
1167 return llvm::opt::parseArgValue(A.getValue(), constraint_elimination_max_rows, Alloc);
1168 case OPT_dfa_cost_threshold:
1169 return llvm::opt::parseArgValue(A.getValue(), dfa_cost_threshold, Alloc);
1170 case OPT_dfa_early_exit_heuristic:
1171 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", dfa_early_exit_heuristic, Alloc);
1172 case OPT_dfa_jump_view_cfg_before:
1173 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", dfa_jump_view_cfg_before, Alloc);
1174 case OPT_dfa_max_cloned_rate:
1175 return llvm::opt::parseArgValue(A.getValue(), dfa_max_cloned_rate, Alloc);
1176 case OPT_dfa_max_num_paths:
1177 return llvm::opt::parseArgValue(A.getValue(), dfa_max_num_paths, Alloc);
1178 case OPT_dfa_max_num_visited_paths:
1179 return llvm::opt::parseArgValue(A.getValue(), dfa_max_num_visited_paths, Alloc);
1180 case OPT_dfa_max_out_use_blocks:
1181 return llvm::opt::parseArgValue(A.getValue(), dfa_max_out_use_blocks, Alloc);
1182 case OPT_dfa_max_path_length:
1183 return llvm::opt::parseArgValue(A.getValue(), dfa_max_path_length, Alloc);
1184 case OPT_disable_lftr:
1185 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", disable_lftr, Alloc);
1186 case OPT_disable_licm_promotion:
1187 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", disable_licm_promotion, Alloc);
1188 case OPT_disable_separate_const_offset_from_gep:
1189 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", disable_separate_const_offset_from_gep, Alloc);
1190 case OPT_disable_tail_call_elim_for_cold_calls:
1191 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", disable_tail_call_elim_for_cold_calls, Alloc);
1192 case OPT_dse_max_dom_cond_depth:
1193 return llvm::opt::parseArgValue(A.getValue(), dse_max_dom_cond_depth, Alloc);
1194 case OPT_dse_memoryssa_defs_per_block_limit:
1195 return llvm::opt::parseArgValue(A.getValue(), dse_memoryssa_defs_per_block_limit, Alloc);
1196 case OPT_dse_memoryssa_otherbb_cost:
1197 return llvm::opt::parseArgValue(A.getValue(), dse_memoryssa_otherbb_cost, Alloc);
1198 case OPT_dse_memoryssa_partial_store_limit:
1199 return llvm::opt::parseArgValue(A.getValue(), dse_memoryssa_partial_store_limit, Alloc);
1200 case OPT_dse_memoryssa_path_check_limit:
1201 return llvm::opt::parseArgValue(A.getValue(), dse_memoryssa_path_check_limit, Alloc);
1202 case OPT_dse_memoryssa_samebb_cost:
1203 return llvm::opt::parseArgValue(A.getValue(), dse_memoryssa_samebb_cost, Alloc);
1204 case OPT_dse_memoryssa_scanlimit:
1205 return llvm::opt::parseArgValue(A.getValue(), dse_memoryssa_scanlimit, Alloc);
1206 case OPT_dse_memoryssa_walklimit:
1207 return llvm::opt::parseArgValue(A.getValue(), dse_memoryssa_walklimit, Alloc);
1208 case OPT_dse_optimize_memoryssa:
1209 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", dse_optimize_memoryssa, Alloc);
1210 case OPT_earlycse_debug_hash:
1211 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", earlycse_debug_hash, Alloc);
1212 case OPT_earlycse_mssa_optimization_cap:
1213 return llvm::opt::parseArgValue(A.getValue(), earlycse_mssa_optimization_cap, Alloc);
1214 case OPT_enable_dse_initializes_attr_improvement:
1215 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_dse_initializes_attr_improvement, Alloc);
1216 case OPT_enable_dse_partial_overwrite_tracking:
1217 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_dse_partial_overwrite_tracking, Alloc);
1218 case OPT_enable_dse_partial_store_merging:
1219 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_dse_partial_store_merging, Alloc);
1220 case OPT_enable_gvn_memdep:
1221 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_gvn_memdep, Alloc);
1222 case OPT_enable_gvn_memoryssa:
1223 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_gvn_memoryssa, Alloc);
1224 case OPT_enable_load_in_loop_pre:
1225 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_load_in_loop_pre, Alloc);
1226 case OPT_enable_load_pre:
1227 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_load_pre, Alloc);
1228 case OPT_enable_loop_distribute:
1229 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_loop_distribute, Alloc);
1230 case OPT_enable_loop_header_duplication_at_minsize:
1231 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_loop_header_duplication_at_minsize, Alloc);
1232 case OPT_enable_loop_simplifycfg_term_folding:
1233 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_loop_simplifycfg_term_folding, Alloc);
1234 case OPT_enable_lsr_phielim:
1235 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_lsr_phielim, Alloc);
1236 case OPT_enable_nontrivial_unswitch:
1237 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_nontrivial_unswitch, Alloc);
1238 case OPT_enable_phi_of_ops:
1239 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_phi_of_ops, Alloc);
1240 case OPT_enable_poison_reuse_guard:
1241 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_poison_reuse_guard, Alloc);
1242 case OPT_enable_scalar_pre:
1243 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_scalar_pre, Alloc);
1244 case OPT_enable_split_backedge_in_load_pre:
1245 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_split_backedge_in_load_pre, Alloc);
1246 case OPT_enable_store_refinement:
1247 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_store_refinement, Alloc);
1248 case OPT_enable_unswitch_cost_multiplier:
1249 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", enable_unswitch_cost_multiplier, Alloc);
1250 case OPT_flat_loop_tripcount_threshold:
1251 return llvm::opt::parseArgValue(A.getValue(), flat_loop_tripcount_threshold, Alloc);
1252 case OPT_float2int_max_integer_bw:
1253 return llvm::opt::parseArgValue(A.getValue(), float2int_max_integer_bw, Alloc);
1254 case OPT_force_fuse_matrix:
1255 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", force_fuse_matrix, Alloc);
1256 case OPT_forget_scev_loop_unroll:
1257 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", forget_scev_loop_unroll, Alloc);
1258 case OPT_forward_switch_cond:
1259 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", forward_switch_cond, Alloc);
1260 case OPT_freeze_loop_unswitch_cond:
1261 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", freeze_loop_unswitch_cond, Alloc);
1262 case OPT_fuse_matrix_loops_threshold:
1263 return llvm::opt::parseArgValue(A.getValue(), fuse_matrix_loops_threshold, Alloc);
1264 case OPT_fuse_matrix_tile_size:
1265 return llvm::opt::parseArgValue(A.getValue(), fuse_matrix_tile_size, Alloc);
1266 case OPT_fuse_matrix:
1267 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", fuse_matrix, Alloc);
1268 case OPT_guard_widening_widen_branch_guards:
1269 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", guard_widening_widen_branch_guards, Alloc);
1270 case OPT_gvn_hoist_max_bbs:
1271 return llvm::opt::parseArgValue(A.getValue(), gvn_hoist_max_bbs, Alloc);
1272 case OPT_gvn_hoist_max_chain_length:
1273 return llvm::opt::parseArgValue(A.getValue(), gvn_hoist_max_chain_length, Alloc);
1274 case OPT_gvn_hoist_max_depth:
1275 return llvm::opt::parseArgValue(A.getValue(), gvn_hoist_max_depth, Alloc);
1276 case OPT_gvn_max_block_speculations:
1277 return llvm::opt::parseArgValue(A.getValue(), gvn_max_block_speculations, Alloc);
1278 case OPT_gvn_max_hoisted:
1279 return llvm::opt::parseArgValue(A.getValue(), gvn_max_hoisted, Alloc);
1280 case OPT_gvn_max_num_deps:
1281 return llvm::opt::parseArgValue(A.getValue(), gvn_max_num_deps, Alloc);
1282 case OPT_gvn_max_num_insns:
1283 return llvm::opt::parseArgValue(A.getValue(), gvn_max_num_insns, Alloc);
1284 case OPT_gvn_max_num_reaching_blocks:
1285 return llvm::opt::parseArgValue(A.getValue(), gvn_max_num_reaching_blocks, Alloc);
1286 case OPT_gvn_max_num_visited_insts:
1287 return llvm::opt::parseArgValue(A.getValue(), gvn_max_num_visited_insts, Alloc);
1288 case OPT_gvn_scan_users_limit:
1289 return llvm::opt::parseArgValue(A.getValue(), gvn_scan_users_limit, Alloc);
1290 case OPT_hoist_common_insts:
1291 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", hoist_common_insts, Alloc);
1292 case OPT_hoist_loads_stores_with_cond_faulting:
1293 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", hoist_loads_stores_with_cond_faulting, Alloc);
1294 case OPT_indvars_post_increment_ranges:
1295 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", indvars_post_increment_ranges, Alloc);
1296 case OPT_indvars_predicate_loop_traps:
1297 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", indvars_predicate_loop_traps, Alloc);
1298 case OPT_indvars_predicate_loops:
1299 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", indvars_predicate_loops, Alloc);
1300 case OPT_indvars_widen_indvars:
1301 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", indvars_widen_indvars, Alloc);
1302 case OPT_irce_allow_narrow_latch:
1303 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", irce_allow_narrow_latch, Alloc);
1304 case OPT_irce_allow_unsigned_latch:
1305 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", irce_allow_unsigned_latch, Alloc);
1306 case OPT_irce_loop_size_cutoff:
1307 return llvm::opt::parseArgValue(A.getValue(), irce_loop_size_cutoff, Alloc);
1308 case OPT_irce_max_type_size_for_overflow_check:
1309 return llvm::opt::parseArgValue(A.getValue(), irce_max_type_size_for_overflow_check, Alloc);
1310 case OPT_irce_min_eliminated_checks:
1311 return llvm::opt::parseArgValue(A.getValue(), irce_min_eliminated_checks, Alloc);
1312 case OPT_irce_print_changed_loops:
1313 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", irce_print_changed_loops, Alloc);
1314 case OPT_irce_print_range_checks:
1315 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", irce_print_range_checks, Alloc);
1316 case OPT_irce_print_scaled_boundary_range_checks:
1317 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", irce_print_scaled_boundary_range_checks, Alloc);
1318 case OPT_irce_skip_profitability_checks:
1319 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", irce_skip_profitability_checks, Alloc);
1320 case OPT_jump_table_to_switch_function_size_threshold:
1321 return llvm::opt::parseArgValue(A.getValue(), jump_table_to_switch_function_size_threshold, Alloc);
1322 case OPT_jump_table_to_switch_size_threshold:
1323 return llvm::opt::parseArgValue(A.getValue(), jump_table_to_switch_size_threshold, Alloc);
1324 case OPT_jump_threading_across_loop_headers:
1325 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", jump_threading_across_loop_headers, Alloc);
1326 case OPT_jump_threading_implication_search_threshold:
1327 return llvm::opt::parseArgValue(A.getValue(), jump_threading_implication_search_threshold, Alloc);
1328 case OPT_jump_threading_phi_threshold:
1329 return llvm::opt::parseArgValue(A.getValue(), jump_threading_phi_threshold, Alloc);
1330 case OPT_jump_threading_threshold:
1331 return llvm::opt::parseArgValue(A.getValue(), jump_threading_threshold, Alloc);
1332 case OPT_keep_loops:
1333 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", keep_loops, Alloc);
1334 case OPT_licm_max_num_fp_reassociations:
1335 return llvm::opt::parseArgValue(A.getValue(), licm_max_num_fp_reassociations, Alloc);
1336 case OPT_licm_max_num_int_reassociations:
1337 return llvm::opt::parseArgValue(A.getValue(), licm_max_num_int_reassociations, Alloc);
1338 case OPT_licm_max_num_uses_traversed:
1339 return llvm::opt::parseArgValue(A.getValue(), licm_max_num_uses_traversed, Alloc);
1340 case OPT_licm_mssa_max_acc_promotion:
1341 return llvm::opt::parseArgValue(A.getValue(), licm_mssa_max_acc_promotion, Alloc);
1342 case OPT_licm_mssa_optimization_cap:
1343 return llvm::opt::parseArgValue(A.getValue(), licm_mssa_optimization_cap, Alloc);
1344 case OPT_licm_versioning_invariant_threshold:
1345 return llvm::opt::parseArgValue(A.getValue(), licm_versioning_invariant_threshold, Alloc);
1346 case OPT_licm_versioning_max_depth_threshold:
1347 return llvm::opt::parseArgValue(A.getValue(), licm_versioning_max_depth_threshold, Alloc);
1348 case OPT_likely_branch_weight:
1349 return llvm::opt::parseArgValue(A.getValue(), likely_branch_weight, Alloc);
1350 case OPT_loop_deletion_enable_symbolic_execution:
1351 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_deletion_enable_symbolic_execution, Alloc);
1352 case OPT_loop_distribute_non_if_convertible:
1353 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_distribute_non_if_convertible, Alloc);
1354 case OPT_loop_distribute_scev_check_threshold_with_pragma:
1355 return llvm::opt::parseArgValue(A.getValue(), loop_distribute_scev_check_threshold_with_pragma, Alloc);
1356 case OPT_loop_distribute_scev_check_threshold:
1357 return llvm::opt::parseArgValue(A.getValue(), loop_distribute_scev_check_threshold, Alloc);
1358 case OPT_loop_distribute_verify:
1359 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_distribute_verify, Alloc);
1360 case OPT_loop_flatten_assume_no_overflow:
1361 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_flatten_assume_no_overflow, Alloc);
1362 case OPT_loop_flatten_cost_threshold:
1363 return llvm::opt::parseArgValue(A.getValue(), loop_flatten_cost_threshold, Alloc);
1364 case OPT_loop_flatten_version_loops:
1365 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_flatten_version_loops, Alloc);
1366 case OPT_loop_flatten_widen_iv:
1367 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_flatten_widen_iv, Alloc);
1368 case OPT_loop_fusion_peel_max_count:
1369 return llvm::opt::parseArgValue(A.getValue(), loop_fusion_peel_max_count, Alloc);
1370 case OPT_loop_idiom_crc_strategy:
1371 return llvm::opt::parseArgValue(A.getValue(), loop_idiom_crc_strategy, Alloc, [](llvm::StringRef V, auto &X) {
1372 if (V == "disable") {
1373 X = CRCStrategyKind::Disable;
1374 return true;
1375 }
1376 if (V == "auto") {
1377 X = CRCStrategyKind::Auto;
1378 return true;
1379 }
1380 if (V == "table") {
1381 X = CRCStrategyKind::Table;
1382 return true;
1383 }
1384 if (V == "clmul") {
1385 X = CRCStrategyKind::Clmul;
1386 return true;
1387 }
1388 return false;
1389 });
1390 case OPT_loop_idiom_force_memset_pattern_intrinsic:
1391 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_idiom_force_memset_pattern_intrinsic, Alloc);
1392 case OPT_loop_interchange_max_loop_nest_depth:
1393 return llvm::opt::parseArgValue(A.getValue(), loop_interchange_max_loop_nest_depth, Alloc);
1394 case OPT_loop_interchange_max_mem_instr_ratio:
1395 return llvm::opt::parseArgValue(A.getValue(), loop_interchange_max_mem_instr_ratio, Alloc);
1396 case OPT_loop_interchange_min_loop_nest_depth:
1397 return llvm::opt::parseArgValue(A.getValue(), loop_interchange_min_loop_nest_depth, Alloc);
1398 case OPT_loop_interchange_profitabilities:
1399 return llvm::opt::parseArgValue(A.getValue(), loop_interchange_profitabilities, Alloc, [](llvm::StringRef V, auto &X) {
1400 if (V == "cache") {
1401 X = LoopInterchangeRule::PerLoopCacheAnalysis;
1402 return true;
1403 }
1404 if (V == "instorder") {
1405 X = LoopInterchangeRule::PerInstrOrderCost;
1406 return true;
1407 }
1408 if (V == "vectorize") {
1409 X = LoopInterchangeRule::ForVectorization;
1410 return true;
1411 }
1412 if (V == "ignore") {
1413 X = LoopInterchangeRule::Ignore;
1414 return true;
1415 }
1416 return false;
1417 });
1418 case OPT_loop_interchange_reduction_to_mem:
1419 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_interchange_reduction_to_mem, Alloc);
1420 case OPT_loop_interchange_threshold:
1421 return llvm::opt::parseArgValue(A.getValue(), loop_interchange_threshold, Alloc);
1422 case OPT_loop_load_elimination_scev_check_threshold:
1423 return llvm::opt::parseArgValue(A.getValue(), loop_load_elimination_scev_check_threshold, Alloc);
1424 case OPT_loop_predication_enable_count_down_loop:
1425 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_predication_enable_count_down_loop, Alloc);
1426 case OPT_loop_predication_enable_iv_truncation:
1427 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_predication_enable_iv_truncation, Alloc);
1428 case OPT_loop_predication_insert_assumes_of_predicated_guards_conditions:
1429 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_predication_insert_assumes_of_predicated_guards_conditions, Alloc);
1430 case OPT_loop_predication_latch_probability_scale:
1431 return llvm::opt::parseArgValue(A.getValue(), loop_predication_latch_probability_scale, Alloc);
1432 case OPT_loop_predication_predicate_widenable_branches_to_deopt:
1433 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_predication_predicate_widenable_branches_to_deopt, Alloc);
1434 case OPT_loop_predication_skip_profitability_checks:
1435 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_predication_skip_profitability_checks, Alloc);
1436 case OPT_loop_prefetch_writes:
1437 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", loop_prefetch_writes, Alloc);
1438 case OPT_lsr_complexity_limit:
1439 return llvm::opt::parseArgValue(A.getValue(), lsr_complexity_limit, Alloc);
1440 case OPT_lsr_drop_scaled_reg_for_vscale:
1441 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", lsr_drop_scaled_reg_for_vscale, Alloc);
1442 case OPT_lsr_drop_solution:
1443 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", lsr_drop_solution, Alloc);
1444 case OPT_lsr_enable_vscale_immediates:
1445 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", lsr_enable_vscale_immediates, Alloc);
1446 case OPT_lsr_exp_narrow:
1447 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", lsr_exp_narrow, Alloc);
1448 case OPT_lsr_filter_same_scaled_reg:
1449 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", lsr_filter_same_scaled_reg, Alloc);
1450 case OPT_lsr_insns_cost:
1451 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", lsr_insns_cost, Alloc);
1452 case OPT_lsr_preferred_addressing_mode:
1453 return llvm::opt::parseArgValue(A.getValue(), lsr_preferred_addressing_mode, Alloc, [](llvm::StringRef V, auto &X) {
1454 if (V == "none") {
1455 X = TargetTransformInfo::AMK_None;
1456 return true;
1457 }
1458 if (V == "preindexed") {
1459 X = TargetTransformInfo::AMK_PreIndexed;
1460 return true;
1461 }
1462 if (V == "postindexed") {
1463 X = TargetTransformInfo::AMK_PostIndexed;
1464 return true;
1465 }
1466 if (V == "all") {
1467 X = TargetTransformInfo::AMK_All;
1468 return true;
1469 }
1470 return false;
1471 });
1472 case OPT_lsr_setupcost_depth_limit:
1473 return llvm::opt::parseArgValue(A.getValue(), lsr_setupcost_depth_limit, Alloc);
1474 case OPT_matrix_allow_contract:
1475 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", matrix_allow_contract, Alloc);
1476 case OPT_matrix_default_layout:
1477 return llvm::opt::parseArgValue(A.getValue(), matrix_default_layout, Alloc, [](llvm::StringRef V, auto &X) {
1478 if (V == "column-major") {
1479 X = MatrixLayoutTy::ColumnMajor;
1480 return true;
1481 }
1482 if (V == "row-major") {
1483 X = MatrixLayoutTy::RowMajor;
1484 return true;
1485 }
1486 return false;
1487 });
1488 case OPT_matrix_print_after_transpose_opt:
1489 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", matrix_print_after_transpose_opt, Alloc);
1490 case OPT_matrix_split_matmul_remainder_over_threshold:
1491 return llvm::opt::parseArgValue(A.getValue(), matrix_split_matmul_remainder_over_threshold, Alloc);
1492 case OPT_max_loads_per_memcmp_opt_size:
1493 return llvm::opt::parseArgValue(A.getValue(), max_loads_per_memcmp_opt_size, Alloc);
1494 case OPT_max_loads_per_memcmp:
1495 return llvm::opt::parseArgValue(A.getValue(), max_loads_per_memcmp, Alloc);
1496 case OPT_max_prefetch_iters_ahead:
1497 return llvm::opt::parseArgValue(A.getValue(), max_prefetch_iters_ahead, Alloc);
1498 case OPT_max_uses_for_sinking:
1499 return llvm::opt::parseArgValue(A.getValue(), max_uses_for_sinking, Alloc);
1500 case OPT_memcmp_num_loads_per_block:
1501 return llvm::opt::parseArgValue(A.getValue(), memcmp_num_loads_per_block, Alloc);
1502 case OPT_min_prefetch_stride:
1503 return llvm::opt::parseArgValue(A.getValue(), min_prefetch_stride, Alloc);
1504 case OPT_pragma_unroll_and_jam_threshold:
1505 return llvm::opt::parseArgValue(A.getValue(), pragma_unroll_and_jam_threshold, Alloc);
1506 case OPT_pragma_unroll_full_max_iterations:
1507 return llvm::opt::parseArgValue(A.getValue(), pragma_unroll_full_max_iterations, Alloc);
1508 case OPT_pragma_unroll_threshold:
1509 return llvm::opt::parseArgValue(A.getValue(), pragma_unroll_threshold, Alloc);
1510 case OPT_prefetch_distance:
1511 return llvm::opt::parseArgValue(A.getValue(), prefetch_distance, Alloc);
1512 case OPT_reassociate_geps_verify_no_dead_code:
1513 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", reassociate_geps_verify_no_dead_code, Alloc);
1514 case OPT_reassociate_use_cse_local:
1515 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", reassociate_use_cse_local, Alloc);
1516 case OPT_replexitval:
1517 return llvm::opt::parseArgValue(A.getValue(), replexitval, Alloc, [](llvm::StringRef V, auto &X) {
1518 if (V == "never") {
1519 X = NeverRepl;
1520 return true;
1521 }
1522 if (V == "cheap") {
1523 X = OnlyCheapRepl;
1524 return true;
1525 }
1526 if (V == "unusedindvarinloop") {
1527 X = UnusedIndVarInLoop;
1528 return true;
1529 }
1530 if (V == "noharduse") {
1531 X = NoHardUse;
1532 return true;
1533 }
1534 if (V == "always") {
1535 X = AlwaysRepl;
1536 return true;
1537 }
1538 return false;
1539 });
1540 case OPT_rotation_max_header_size:
1541 return llvm::opt::parseArgValue(A.getValue(), rotation_max_header_size, Alloc);
1542 case OPT_rotation_prepare_for_lto:
1543 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", rotation_prepare_for_lto, Alloc);
1544 case OPT_rs4gc_allow_statepoint_with_no_deopt_info:
1545 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", rs4gc_allow_statepoint_with_no_deopt_info, Alloc);
1546 case OPT_rs4gc_remat_derived_at_uses:
1547 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", rs4gc_remat_derived_at_uses, Alloc);
1548 case OPT_runtime_check_per_loop_load_elim:
1549 return llvm::opt::parseArgValue(A.getValue(), runtime_check_per_loop_load_elim, Alloc);
1550 case OPT_simple_loop_unswitch_drop_non_trivial_implicit_null_checks:
1551 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", simple_loop_unswitch_drop_non_trivial_implicit_null_checks, Alloc);
1552 case OPT_simple_loop_unswitch_estimate_profile:
1553 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", simple_loop_unswitch_estimate_profile, Alloc);
1554 case OPT_simple_loop_unswitch_guards:
1555 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", simple_loop_unswitch_guards, Alloc);
1556 case OPT_simple_loop_unswitch_inject_invariant_condition_hotness_threshold:
1557 return llvm::opt::parseArgValue(A.getValue(), simple_loop_unswitch_inject_invariant_condition_hotness_threshold, Alloc);
1558 case OPT_simple_loop_unswitch_inject_invariant_conditions:
1559 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", simple_loop_unswitch_inject_invariant_conditions, Alloc);
1560 case OPT_simple_loop_unswitch_memoryssa_threshold:
1561 return llvm::opt::parseArgValue(A.getValue(), simple_loop_unswitch_memoryssa_threshold, Alloc);
1562 case OPT_sink_common_insts:
1563 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", sink_common_insts, Alloc);
1564 case OPT_sink_freq_percent_threshold:
1565 return llvm::opt::parseArgValue(A.getValue(), sink_freq_percent_threshold, Alloc);
1566 case OPT_spec_exec_max_not_hoisted:
1567 return llvm::opt::parseArgValue(A.getValue(), spec_exec_max_not_hoisted, Alloc);
1568 case OPT_spec_exec_max_speculation_cost:
1569 return llvm::opt::parseArgValue(A.getValue(), spec_exec_max_speculation_cost, Alloc);
1570 case OPT_spec_exec_only_if_divergent_target:
1571 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", spec_exec_only_if_divergent_target, Alloc);
1572 case OPT_speculate_unpredictables:
1573 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", speculate_unpredictables, Alloc);
1574 case OPT_spp_all_backedges:
1575 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", spp_all_backedges, Alloc);
1576 case OPT_spp_counted_loop_trip_width:
1577 return llvm::opt::parseArgValue(A.getValue(), spp_counted_loop_trip_width, Alloc);
1578 case OPT_spp_no_backedge:
1579 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", spp_no_backedge, Alloc);
1580 case OPT_spp_no_call:
1581 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", spp_no_call, Alloc);
1582 case OPT_spp_no_entry:
1583 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", spp_no_entry, Alloc);
1584 case OPT_spp_print_base_pointers:
1585 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", spp_print_base_pointers, Alloc);
1586 case OPT_spp_print_liveset_size:
1587 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", spp_print_liveset_size, Alloc);
1588 case OPT_spp_print_liveset:
1589 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", spp_print_liveset, Alloc);
1590 case OPT_spp_rematerialization_threshold:
1591 return llvm::opt::parseArgValue(A.getValue(), spp_rematerialization_threshold, Alloc);
1592 case OPT_spp_split_backedge:
1593 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", spp_split_backedge, Alloc);
1594 case OPT_sroa_skip_mem2reg:
1595 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", sroa_skip_mem2reg, Alloc);
1596 case OPT_structurizecfg_relaxed_uniform_regions:
1597 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", structurizecfg_relaxed_uniform_regions, Alloc);
1598 case OPT_structurizecfg_skip_uniform_regions:
1599 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", structurizecfg_skip_uniform_regions, Alloc);
1600 case OPT_switch_range_to_icmp:
1601 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", switch_range_to_icmp, Alloc);
1602 case OPT_switch_to_lookup:
1603 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", switch_to_lookup, Alloc);
1604 case OPT_tre_disable_entrycount_recompute:
1605 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", tre_disable_entrycount_recompute, Alloc);
1606 case OPT_unlikely_branch_weight:
1607 return llvm::opt::parseArgValue(A.getValue(), unlikely_branch_weight, Alloc);
1608 case OPT_unroll_allow_partial:
1609 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", unroll_allow_partial, Alloc);
1610 case OPT_unroll_allow_remainder:
1611 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", unroll_allow_remainder, Alloc);
1612 case OPT_unroll_and_jam_count:
1613 return llvm::opt::parseArgValue(A.getValue(), unroll_and_jam_count, Alloc);
1614 case OPT_unroll_and_jam_threshold:
1615 return llvm::opt::parseArgValue(A.getValue(), unroll_and_jam_threshold, Alloc);
1616 case OPT_unroll_count:
1617 return llvm::opt::parseArgValue(A.getValue(), unroll_count, Alloc);
1618 case OPT_unroll_full_max_count:
1619 return llvm::opt::parseArgValue(A.getValue(), unroll_full_max_count, Alloc);
1620 case OPT_unroll_max_count:
1621 return llvm::opt::parseArgValue(A.getValue(), unroll_max_count, Alloc);
1622 case OPT_unroll_max_iteration_count_to_analyze:
1623 return llvm::opt::parseArgValue(A.getValue(), unroll_max_iteration_count_to_analyze, Alloc);
1624 case OPT_unroll_max_percent_threshold_boost:
1625 return llvm::opt::parseArgValue(A.getValue(), unroll_max_percent_threshold_boost, Alloc);
1626 case OPT_unroll_max_upperbound:
1627 return llvm::opt::parseArgValue(A.getValue(), unroll_max_upperbound, Alloc);
1628 case OPT_unroll_optsize_threshold:
1629 return llvm::opt::parseArgValue(A.getValue(), unroll_optsize_threshold, Alloc);
1630 case OPT_unroll_partial_threshold:
1631 return llvm::opt::parseArgValue(A.getValue(), unroll_partial_threshold, Alloc);
1632 case OPT_unroll_remainder:
1633 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", unroll_remainder, Alloc);
1634 case OPT_unroll_revisit_child_loops:
1635 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", unroll_revisit_child_loops, Alloc);
1636 case OPT_unroll_runtime:
1637 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", unroll_runtime, Alloc);
1638 case OPT_unroll_threshold_aggressive:
1639 return llvm::opt::parseArgValue(A.getValue(), unroll_threshold_aggressive, Alloc);
1640 case OPT_unroll_threshold_default:
1641 return llvm::opt::parseArgValue(A.getValue(), unroll_threshold_default, Alloc);
1642 case OPT_unroll_threshold:
1643 return llvm::opt::parseArgValue(A.getValue(), unroll_threshold, Alloc);
1644 case OPT_unswitch_num_initial_unscaled_candidates:
1645 return llvm::opt::parseArgValue(A.getValue(), unswitch_num_initial_unscaled_candidates, Alloc);
1646 case OPT_unswitch_parent_blocks_div:
1647 return llvm::opt::parseArgValue(A.getValue(), unswitch_parent_blocks_div, Alloc);
1648 case OPT_unswitch_siblings_toplevel_div:
1649 return llvm::opt::parseArgValue(A.getValue(), unswitch_siblings_toplevel_div, Alloc);
1650 case OPT_unswitch_threshold:
1651 return llvm::opt::parseArgValue(A.getValue(), unswitch_threshold, Alloc);
1652 case OPT_use_lir_code_size_heurs:
1653 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", use_lir_code_size_heurs, Alloc);
1654 case OPT_verify_matrix_shapes:
1655 return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true", verify_matrix_shapes, Alloc);
1656 }
1657 llvm_unreachable("option without a member");
1658}
1659#endif // OPTIONS_STRUCT_DEFS
1660/////////
1661// ValuesCode
1662
1663#ifdef OPTTABLE_VALUES_CODE
1664static llvm::StringRef getOptionValuesCode(unsigned ID) {
1665 switch (ID) {
1666 }
1667 return {};
1668}
1669#undef OPTTABLE_VALUES_CODE
1670#endif // OPTTABLE_VALUES_CODE
1671/////////
1672// Groups
1673
1674#ifdef OPTION
1675
1676//////////
1677// Options
1678
1679OPTION(0, 6 /* <input> */, INPUT, Input, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0, 0, 0, 0)
1680OPTION(0, 14 /* <unknown> */, UNKNOWN, Unknown, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0, 0, 0, 0)
1681OPTION(1, 24 /* -adce-remove-control-flow */, anonymous_0, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1682OPTION(1, 52 /* -adce-remove-loops */, anonymous_1, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1683OPTION(1, 71 /* -allow-unroll-and-jam */, anonymous_126, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 93, 0, 0, 0, 0)
1684OPTION(1, 130 /* -bonus-inst-threshold */, anonymous_193, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 152, 0, 0, 0, 0)
1685OPTION(1, 193 /* -callsite-splitting-duplication-threshold */, anonymous_2, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 235, 0, 0, 0, 0)
1686OPTION(1, 318 /* -consthoist-gep */, anonymous_3, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 334, 0, 0, 0, 0)
1687OPTION(1, 372 /* -consthoist-min-num-to-rebase */, anonymous_4, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 402, 0, 0, 0, 0)
1688OPTION(1, 484 /* -consthoist-with-block-frequency */, anonymous_5, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 517, 0, 0, 0, 0)
1689OPTION(1, 656 /* -constraint-elimination-dump-reproducers */, anonymous_6, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 697, 0, 0, 0, 0)
1690OPTION(1, 745 /* -constraint-elimination-max-rows */, anonymous_7, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 778, 0, 0, 0, 0)
1691OPTION(1, 830 /* -dfa-cost-threshold */, anonymous_20, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 850, 0, 0, 0, 0)
1692OPTION(1, 895 /* -dfa-early-exit-heuristic */, anonymous_21, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 921, 0, 0, 0, 0)
1693OPTION(1, 982 /* -dfa-jump-view-cfg-before */, anonymous_22, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1008, 0, 0, 0, 0)
1694OPTION(1, 1047 /* -dfa-max-cloned-rate */, anonymous_23, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1068, 0, 0, 0, 0)
1695OPTION(1, 1133 /* -dfa-max-num-paths */, anonymous_24, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1152, 0, 0, 0, 0)
1696OPTION(1, 1199 /* -dfa-max-num-visited-paths */, anonymous_25, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1226, 0, 0, 0, 0)
1697OPTION(1, 1295 /* -dfa-max-out-use-blocks */, anonymous_26, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1319, 0, 0, 0, 0)
1698OPTION(1, 1395 /* -dfa-max-path-length */, anonymous_27, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1416, 0, 0, 0, 0)
1699OPTION(1, 1471 /* -disable-lftr */, anonymous_60, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1485, 0, 0, 0, 0)
1700OPTION(1, 1535 /* -disable-licm-promotion */, anonymous_72, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1559, 0, 0, 0, 0)
1701OPTION(1, 1597 /* -disable-separate-const-offset-from-gep */, anonymous_178, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1637, 0, 0, 0, 0)
1702OPTION(1, 1696 /* -disable-tail-call-elim-for-cold-calls */, anonymous_209, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1735, 0, 0, 0, 0)
1703OPTION(1, 1818 /* -dse-max-dom-cond-depth */, anonymous_8, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1842, 0, 0, 0, 0)
1704OPTION(1, 1936 /* -dse-memoryssa-defs-per-block-limit */, anonymous_9, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1972, 0, 0, 0, 0)
1705OPTION(1, 2066 /* -dse-memoryssa-otherbb-cost */, anonymous_10, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2094, 0, 0, 0, 0)
1706OPTION(1, 2167 /* -dse-memoryssa-partial-store-limit */, anonymous_11, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2202, 0, 0, 0, 0)
1707OPTION(1, 2296 /* -dse-memoryssa-path-check-limit */, anonymous_12, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2328, 0, 0, 0, 0)
1708OPTION(1, 2440 /* -dse-memoryssa-samebb-cost */, anonymous_13, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2467, 0, 0, 0, 0)
1709OPTION(1, 2535 /* -dse-memoryssa-scanlimit */, anonymous_14, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2560, 0, 0, 0, 0)
1710OPTION(1, 2629 /* -dse-memoryssa-walklimit */, anonymous_15, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2654, 0, 0, 0, 0)
1711OPTION(1, 2742 /* -dse-optimize-memoryssa */, anonymous_16, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2766, 0, 0, 0, 0)
1712OPTION(1, 2804 /* -earlycse-debug-hash */, anonymous_28, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2825, 0, 0, 0, 0)
1713OPTION(1, 2946 /* -earlycse-mssa-optimization-cap */, anonymous_29, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2978, 0, 0, 0, 0)
1714OPTION(1, 3100 /* -enable-dse-initializes-attr-improvement */, anonymous_17, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3141, 0, 0, 0, 0)
1715OPTION(1, 3188 /* -enable-dse-partial-overwrite-tracking */, anonymous_18, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3227, 0, 0, 0, 0)
1716OPTION(1, 3268 /* -enable-dse-partial-store-merging */, anonymous_19, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3302, 0, 0, 0, 0)
1717OPTION(1, 3338 /* -enable-gvn-memdep */, anonymous_35, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1718OPTION(1, 3357 /* -enable-gvn-memoryssa */, anonymous_36, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1719OPTION(1, 3379 /* -enable-load-in-loop-pre */, anonymous_37, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1720OPTION(1, 3404 /* -enable-load-pre */, anonymous_38, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1721OPTION(1, 3421 /* -enable-loop-distribute */, anonymous_83, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3445, 0, 0, 0, 0)
1722OPTION(1, 3496 /* -enable-loop-header-duplication-at-minsize */, anonymous_110, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3539, 0, 0, 0, 0)
1723OPTION(1, 3587 /* -enable-loop-simplifycfg-term-folding */, anonymous_113, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1724OPTION(1, 3625 /* -enable-lsr-phielim */, anonymous_116, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3645, 0, 0, 0, 0)
1725OPTION(1, 3672 /* -enable-nontrivial-unswitch */, anonymous_180, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3700, 0, 0, 0, 0)
1726OPTION(1, 3807 /* -enable-phi-of-ops */, anonymous_163, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1727OPTION(1, 3826 /* -enable-poison-reuse-guard */, anonymous_206, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3853, 0, 0, 0, 0)
1728OPTION(1, 3879 /* -enable-scalar-pre */, anonymous_39, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1729OPTION(1, 3898 /* -enable-split-backedge-in-load-pre */, anonymous_40, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1730OPTION(1, 3933 /* -enable-store-refinement */, anonymous_164, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1731OPTION(1, 3958 /* -enable-unswitch-cost-multiplier */, anonymous_181, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3991, 0, 0, 0, 0)
1732OPTION(1, 4083 /* -flat-loop-tripcount-threshold */, anonymous_130, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4114, 0, 0, 0, 0)
1733OPTION(1, 4251 /* -float2int-max-integer-bw */, anonymous_33, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4277, 0, 0, 0, 0)
1734OPTION(1, 4323 /* -force-fuse-matrix */, anonymous_154, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4342, 0, 0, 0, 0)
1735OPTION(1, 4397 /* -forget-scev-loop-unroll */, anonymous_131, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4422, 0, 0, 0, 0)
1736OPTION(1, 4565 /* -forward-switch-cond */, anonymous_194, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4586, 0, 0, 0, 0)
1737OPTION(1, 4622 /* -freeze-loop-unswitch-cond */, anonymous_182, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4649, 0, 0, 0, 0)
1738OPTION(1, 4754 /* -fuse-matrix-loops-threshold */, anonymous_156, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4783, 0, 0, 0, 0)
1739OPTION(1, 4867 /* -fuse-matrix-tile-size */, anonymous_157, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4890, 0, 0, 0, 0)
1740OPTION(1, 4956 /* -fuse-matrix */, anonymous_155, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4969, 0, 0, 0, 0)
1741OPTION(1, 5011 /* -guard-widening-widen-branch-guards */, anonymous_34, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5047, 0, 0, 0, 0)
1742OPTION(1, 5132 /* -gvn-hoist-max-bbs */, anonymous_47, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5151, 0, 0, 0, 0)
1743OPTION(1, 5234 /* -gvn-hoist-max-chain-length */, anonymous_48, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5262, 0, 0, 0, 0)
1744OPTION(1, 5323 /* -gvn-hoist-max-depth */, anonymous_49, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5344, 0, 0, 0, 0)
1745OPTION(1, 5443 /* -gvn-max-block-speculations */, anonymous_41, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5471, 0, 0, 0, 0)
1746OPTION(1, 5599 /* -gvn-max-hoisted */, anonymous_50, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5616, 0, 0, 0, 0)
1747OPTION(1, 5669 /* -gvn-max-num-deps */, anonymous_42, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5687, 0, 0, 0, 0)
1748OPTION(1, 5733 /* -gvn-max-num-insns */, anonymous_43, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5752, 0, 0, 0, 0)
1749OPTION(1, 5814 /* -gvn-max-num-reaching-blocks */, anonymous_44, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5843, 0, 0, 0, 0)
1750OPTION(1, 5922 /* -gvn-max-num-visited-insts */, anonymous_45, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5949, 0, 0, 0, 0)
1751OPTION(1, 6042 /* -gvn-scan-users-limit */, anonymous_46, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6064, 0, 0, 0, 0)
1752OPTION(1, 6148 /* -hoist-common-insts */, anonymous_195, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6168, 0, 0, 0, 0)
1753OPTION(1, 6194 /* -hoist-loads-stores-with-cond-faulting */, anonymous_196, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6233, 0, 0, 0, 0)
1754OPTION(1, 6296 /* -indvars-post-increment-ranges */, anonymous_61, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6327, 0, 0, 0, 0)
1755OPTION(1, 6389 /* -indvars-predicate-loop-traps */, anonymous_62, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6419, 0, 0, 0, 0)
1756OPTION(1, 6482 /* -indvars-predicate-loops */, anonymous_63, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6507, 0, 0, 0, 0)
1757OPTION(1, 6547 /* -indvars-widen-indvars */, anonymous_64, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6570, 0, 0, 0, 0)
1758OPTION(1, 6616 /* -irce-allow-narrow-latch */, anonymous_51, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6641, 0, 0, 0, 0)
1759OPTION(1, 6731 /* -irce-allow-unsigned-latch */, anonymous_52, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1760OPTION(1, 6758 /* -irce-loop-size-cutoff */, anonymous_53, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1761OPTION(1, 6781 /* -irce-max-type-size-for-overflow-check */, anonymous_54, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6820, 0, 0, 0, 0)
1762OPTION(1, 6929 /* -irce-min-eliminated-checks */, anonymous_55, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1763OPTION(1, 6957 /* -irce-print-changed-loops */, anonymous_56, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1764OPTION(1, 6983 /* -irce-print-range-checks */, anonymous_57, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1765OPTION(1, 7008 /* -irce-print-scaled-boundary-range-checks */, anonymous_58, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1766OPTION(1, 7049 /* -irce-skip-profitability-checks */, anonymous_59, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1767OPTION(1, 7081 /* -jump-table-to-switch-function-size-threshold */, anonymous_66, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 7127, 0, 0, 0, 0)
1768OPTION(1, 7221 /* -jump-table-to-switch-size-threshold */, anonymous_67, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 7258, 0, 0, 0, 0)
1769OPTION(1, 7333 /* -jump-threading-across-loop-headers */, anonymous_68, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 7369, 0, 0, 0, 0)
1770OPTION(1, 7432 /* -jump-threading-implication-search-threshold */, anonymous_69, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 7477, 0, 0, 0, 0)
1771OPTION(1, 7580 /* -jump-threading-phi-threshold */, anonymous_70, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 7610, 0, 0, 0, 0)
1772OPTION(1, 7657 /* -jump-threading-threshold */, anonymous_71, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 7683, 0, 0, 0, 0)
1773OPTION(1, 7730 /* -keep-loops */, anonymous_197, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 7742, 0, 0, 0, 0)
1774OPTION(1, 7776 /* -licm-max-num-fp-reassociations */, anonymous_73, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 7808, 0, 0, 0, 0)
1775OPTION(1, 7931 /* -licm-max-num-int-reassociations */, anonymous_74, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 7808, 0, 0, 0, 0)
1776OPTION(1, 7964 /* -licm-max-num-uses-traversed */, anonymous_75, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 7993, 0, 0, 0, 0)
1777OPTION(1, 8076 /* -licm-mssa-max-acc-promotion */, anonymous_76, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 8105, 0, 0, 0, 0)
1778OPTION(1, 8317 /* -licm-mssa-optimization-cap */, anonymous_77, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 8345, 0, 0, 0, 0)
1779OPTION(1, 8463 /* -licm-versioning-invariant-threshold */, anonymous_150, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 8500, 0, 0, 0, 0)
1780OPTION(1, 8592 /* -licm-versioning-max-depth-threshold */, anonymous_151, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 8629, 0, 0, 0, 0)
1781OPTION(1, 8696 /* -likely-branch-weight */, anonymous_152, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 8718, 0, 0, 0, 0)
1782OPTION(1, 8758 /* -loop-deletion-enable-symbolic-execution */, anonymous_82, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 8799, 0, 0, 0, 0)
1783OPTION(1, 8911 /* -loop-distribute-non-if-convertible */, anonymous_84, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 8947, 0, 0, 0, 0)
1784OPTION(1, 9035 /* -loop-distribute-scev-check-threshold-with-pragma */, anonymous_86, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 9085, 0, 0, 0, 0)
1785OPTION(1, 9208 /* -loop-distribute-scev-check-threshold */, anonymous_85, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 9246, 0, 0, 0, 0)
1786OPTION(1, 9310 /* -loop-distribute-verify */, anonymous_87, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 9334, 0, 0, 0, 0)
1787OPTION(1, 9406 /* -loop-flatten-assume-no-overflow */, anonymous_88, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 9439, 0, 0, 0, 0)
1788OPTION(1, 9516 /* -loop-flatten-cost-threshold */, anonymous_89, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 9545, 0, 0, 0, 0)
1789OPTION(1, 9623 /* -loop-flatten-version-loops */, anonymous_90, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 9651, 0, 0, 0, 0)
1790OPTION(1, 9698 /* -loop-flatten-widen-iv */, anonymous_91, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 9721, 0, 0, 0, 0)
1791OPTION(1, 9813 /* -loop-fusion-peel-max-count */, anonymous_92, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 9841, 0, 0, 0, 0)
1792OPTION(1, 9924 /* -loop-idiom-crc-strategy */, anonymous_93, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 9949, 0, 9993, 10020, 0)
1793OPTION(1, 10045 /* -loop-idiom-force-memset-pattern-intrinsic */, anonymous_94, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 10088, 0, 0, 0, 0)
1794OPTION(1, 10135 /* -loop-interchange-max-loop-nest-depth */, anonymous_96, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 10173, 0, 0, 0, 0)
1795OPTION(1, 10229 /* -loop-interchange-max-mem-instr-ratio */, anonymous_97, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 10267, 0, 0, 0, 0)
1796OPTION(1, 10437 /* -loop-interchange-min-loop-nest-depth */, anonymous_98, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 10475, 0, 0, 0, 0)
1797OPTION(1, 10531 /* -loop-interchange-profitabilities */, anonymous_99, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 10565, 0, 10646, 10681, 0)
1798OPTION(1, 10714 /* -loop-interchange-reduction-to-mem */, anonymous_100, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 10749, 0, 0, 0, 0)
1799OPTION(1, 10794 /* -loop-interchange-threshold */, anonymous_101, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 10822, 0, 0, 0, 0)
1800OPTION(1, 10868 /* -loop-load-elimination-scev-check-threshold */, anonymous_102, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 10912, 0, 0, 0, 0)
1801OPTION(1, 10980 /* -loop-predication-enable-count-down-loop */, anonymous_104, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1802OPTION(1, 11021 /* -loop-predication-enable-iv-truncation */, anonymous_105, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1803OPTION(1, 11060 /* -loop-predication-insert-assumes-of-predicated-guards-conditions */, anonymous_106, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 11125, 0, 0, 0, 0)
1804OPTION(1, 11200 /* -loop-predication-latch-probability-scale */, anonymous_107, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 11242, 0, 0, 0, 0)
1805OPTION(1, 11339 /* -loop-predication-predicate-widenable-branches-to-deopt */, anonymous_108, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 11395, 0, 0, 0, 0)
1806OPTION(1, 11490 /* -loop-predication-skip-profitability-checks */, anonymous_109, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1807OPTION(1, 11534 /* -loop-prefetch-writes */, anonymous_78, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 11556, 0, 0, 0, 0)
1808OPTION(1, 11581 /* -lsr-complexity-limit */, anonymous_117, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 11603, 0, 0, 0, 0)
1809OPTION(1, 11637 /* -lsr-drop-scaled-reg-for-vscale */, anonymous_118, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 11669, 0, 0, 0, 0)
1810OPTION(1, 11730 /* -lsr-drop-solution */, anonymous_119, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 11749, 0, 0, 0, 0)
1811OPTION(1, 11799 /* -lsr-enable-vscale-immediates */, anonymous_120, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 11829, 0, 0, 0, 0)
1812OPTION(1, 11882 /* -lsr-exp-narrow */, anonymous_121, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 11898, 0, 0, 0, 0)
1813OPTION(1, 11964 /* -lsr-filter-same-scaled-reg */, anonymous_122, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 11992, 0, 0, 0, 0)
1814OPTION(1, 12084 /* -lsr-insns-cost */, anonymous_123, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 12100, 0, 0, 0, 0)
1815OPTION(1, 12142 /* -lsr-preferred-addressing-mode */, anonymous_124, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 12173, 0, 12234, 12268, 0)
1816OPTION(1, 12300 /* -lsr-setupcost-depth-limit */, anonymous_125, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 12327, 0, 0, 0, 0)
1817OPTION(1, 12376 /* -matrix-allow-contract */, anonymous_158, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 12399, 0, 0, 0, 0)
1818OPTION(1, 12515 /* -matrix-default-layout */, anonymous_159, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 12538, 0, 12569, 12594, 0)
1819OPTION(1, 12617 /* -matrix-print-after-transpose-opt */, anonymous_160, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1820OPTION(1, 12651 /* -matrix-split-matmul-remainder-over-threshold */, anonymous_161, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 12697, 0, 0, 0, 0)
1821OPTION(1, 12790 /* -max-loads-per-memcmp-opt-size */, anonymous_31, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 12821, 0, 0, 0, 0)
1822OPTION(1, 12884 /* -max-loads-per-memcmp */, anonymous_30, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 12906, 0, 0, 0, 0)
1823OPTION(1, 12958 /* -max-prefetch-iters-ahead */, anonymous_79, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 12984, 0, 0, 0, 0)
1824OPTION(1, 13027 /* -max-uses-for-sinking */, anonymous_114, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 13049, 0, 0, 0, 0)
1825OPTION(1, 13098 /* -memcmp-num-loads-per-block */, anonymous_32, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 13126, 0, 0, 0, 0)
1826OPTION(1, 13193 /* -min-prefetch-stride */, anonymous_80, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 13214, 0, 0, 0, 0)
1827OPTION(1, 13243 /* -pragma-unroll-and-jam-threshold */, anonymous_127, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 13276, 0, 0, 0, 0)
1828OPTION(1, 13358 /* -pragma-unroll-full-max-iterations */, anonymous_132, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 13393, 0, 0, 0, 0)
1829OPTION(1, 13455 /* -pragma-unroll-threshold */, anonymous_133, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 13480, 0, 0, 0, 0)
1830OPTION(1, 13556 /* -prefetch-distance */, anonymous_81, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 13575, 0, 0, 0, 0)
1831OPTION(1, 13616 /* -reassociate-geps-verify-no-dead-code */, anonymous_179, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 13654, 0, 0, 0, 0)
1832OPTION(1, 13693 /* -reassociate-use-cse-local */, anonymous_171, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 13720, 0, 0, 0, 0)
1833OPTION(1, 13798 /* -replexitval */, anonymous_65, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 13811, 0, 13871, 13921, 0)
1834OPTION(1, 13969 /* -rotation-max-header-size */, anonymous_111, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 13995, 0, 0, 0, 0)
1835OPTION(1, 14055 /* -rotation-prepare-for-lto */, anonymous_112, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 14081, 0, 0, 0, 0)
1836OPTION(1, 14173 /* -rs4gc-allow-statepoint-with-no-deopt-info */, anonymous_172, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1837OPTION(1, 14216 /* -rs4gc-remat-derived-at-uses */, anonymous_173, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1838OPTION(1, 14245 /* -runtime-check-per-loop-load-elim */, anonymous_103, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 14279, 0, 0, 0, 0)
1839OPTION(1, 14342 /* -simple-loop-unswitch-drop-non-trivial-implicit-null-checks */, anonymous_183, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 14402, 0, 0, 0, 0)
1840OPTION(1, 14518 /* -simple-loop-unswitch-estimate-profile */, anonymous_184, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1841OPTION(1, 14557 /* -simple-loop-unswitch-guards */, anonymous_185, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 14586, 0, 0, 0, 0)
1842OPTION(1, 14699 /* -simple-loop-unswitch-inject-invariant-condition-hotness-threshold */, anonymous_186, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 14766, 0, 0, 0, 0)
1843OPTION(1, 14903 /* -simple-loop-unswitch-inject-invariant-conditions */, anonymous_187, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 14953, 0, 0, 0, 0)
1844OPTION(1, 15065 /* -simple-loop-unswitch-memoryssa-threshold */, anonymous_188, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 15107, 0, 0, 0, 0)
1845OPTION(1, 15180 /* -sink-common-insts */, anonymous_198, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 15199, 0, 0, 0, 0)
1846OPTION(1, 15224 /* -sink-freq-percent-threshold */, anonymous_115, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 15253, 0, 0, 0, 0)
1847OPTION(1, 15354 /* -spec-exec-max-not-hoisted */, anonymous_202, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 15381, 0, 0, 0, 0)
1848OPTION(1, 15527 /* -spec-exec-max-speculation-cost */, anonymous_203, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 15559, 0, 0, 0, 0)
1849OPTION(1, 15691 /* -spec-exec-only-if-divergent-target */, anonymous_204, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 15727, 0, 0, 0, 0)
1850OPTION(1, 15862 /* -speculate-unpredictables */, anonymous_199, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 15888, 0, 0, 0, 0)
1851OPTION(1, 15921 /* -spp-all-backedges */, anonymous_165, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1852OPTION(1, 15940 /* -spp-counted-loop-trip-width */, anonymous_166, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1853OPTION(1, 15969 /* -spp-no-backedge */, anonymous_167, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1854OPTION(1, 15986 /* -spp-no-call */, anonymous_168, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1855OPTION(1, 15999 /* -spp-no-entry */, anonymous_169, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1856OPTION(1, 16013 /* -spp-print-base-pointers */, anonymous_174, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1857OPTION(1, 16038 /* -spp-print-liveset-size */, anonymous_176, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1858OPTION(1, 16062 /* -spp-print-liveset */, anonymous_175, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1859OPTION(1, 16081 /* -spp-rematerialization-threshold */, anonymous_177, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1860OPTION(1, 16114 /* -spp-split-backedge */, anonymous_170, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1861OPTION(1, 16134 /* -sroa-skip-mem2reg */, anonymous_205, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 50, 0, 0, 0, 0)
1862OPTION(1, 16153 /* -structurizecfg-relaxed-uniform-regions */, anonymous_207, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 16193, 0, 0, 0, 0)
1863OPTION(1, 16229 /* -structurizecfg-skip-uniform-regions */, anonymous_208, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 16266, 0, 0, 0, 0)
1864OPTION(1, 16326 /* -switch-range-to-icmp */, anonymous_200, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 16348, 0, 0, 0, 0)
1865OPTION(1, 16398 /* -switch-to-lookup */, anonymous_201, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 16416, 0, 0, 0, 0)
1866OPTION(1, 16450 /* -tre-disable-entrycount-recompute */, anonymous_210, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 16484, 0, 0, 0, 0)
1867OPTION(1, 16578 /* -unlikely-branch-weight */, anonymous_153, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 16602, 0, 0, 0, 0)
1868OPTION(1, 16644 /* -unroll-allow-partial */, anonymous_134, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 16666, 0, 0, 0, 0)
1869OPTION(1, 16749 /* -unroll-allow-remainder */, anonymous_135, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 16773, 0, 0, 0, 0)
1870OPTION(1, 16851 /* -unroll-and-jam-count */, anonymous_128, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 16873, 0, 0, 0, 0)
1871OPTION(1, 16987 /* -unroll-and-jam-threshold */, anonymous_129, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 17013, 0, 0, 0, 0)
1872OPTION(1, 17071 /* -unroll-count */, anonymous_136, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 17085, 0, 0, 0, 0)
1873OPTION(1, 17191 /* -unroll-full-max-count */, anonymous_137, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 17214, 0, 0, 0, 0)
1874OPTION(1, 17280 /* -unroll-max-count */, anonymous_138, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 17298, 0, 0, 0, 0)
1875OPTION(1, 17378 /* -unroll-max-iteration-count-to-analyze */, anonymous_139, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 17417, 0, 0, 0, 0)
1876OPTION(1, 17532 /* -unroll-max-percent-threshold-boost */, anonymous_140, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 17568, 0, 0, 0, 0)
1877OPTION(1, 17927 /* -unroll-max-upperbound */, anonymous_141, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 17950, 0, 0, 0, 0)
1878OPTION(1, 18016 /* -unroll-optsize-threshold */, anonymous_142, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 18042, 0, 0, 0, 0)
1879OPTION(1, 18105 /* -unroll-partial-threshold */, anonymous_143, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 18131, 0, 0, 0, 0)
1880OPTION(1, 18177 /* -unroll-remainder */, anonymous_144, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 18195, 0, 0, 0, 0)
1881OPTION(1, 18235 /* -unroll-revisit-child-loops */, anonymous_145, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 18263, 0, 0, 0, 0)
1882OPTION(1, 18417 /* -unroll-runtime */, anonymous_146, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 18433, 0, 0, 0, 0)
1883OPTION(1, 18472 /* -unroll-threshold-aggressive */, anonymous_148, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 18501, 0, 0, 0, 0)
1884OPTION(1, 18579 /* -unroll-threshold-default */, anonymous_149, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 18605, 0, 0, 0, 0)
1885OPTION(1, 18685 /* -unroll-threshold */, anonymous_147, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 18703, 0, 0, 0, 0)
1886OPTION(1, 18741 /* -unswitch-num-initial-unscaled-candidates */, anonymous_189, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 18783, 0, 0, 0, 0)
1887OPTION(1, 18863 /* -unswitch-parent-blocks-div */, anonymous_190, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 18891, 0, 0, 0, 0)
1888OPTION(1, 18935 /* -unswitch-siblings-toplevel-div */, anonymous_191, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 18967, 0, 0, 0, 0)
1889OPTION(1, 19013 /* -unswitch-threshold */, anonymous_192, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 19033, 0, 0, 0, 0)
1890OPTION(1, 19075 /* -use-lir-code-size-heurs */, anonymous_95, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 19100, 0, 0, 0, 0)
1891OPTION(1, 19176 /* -verify-matrix-shapes */, anonymous_162, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 19198, 0, 0, 0, 0)
1892#endif // OPTION
1893
1894#ifdef SIMPLE_ENUM_VALUE_TABLE
1895
1896struct SimpleEnumValue {
1897 const char *Name;
1898 unsigned Value;
1899};
1900
1901struct SimpleEnumValueTable {
1902 const SimpleEnumValue *Table;
1903 unsigned Size;
1904};
1905static const SimpleEnumValueTable SimpleEnumValueTables[] = {};
1906static const unsigned SimpleEnumValueTablesSize = std::size(SimpleEnumValueTables);
1907#endif // SIMPLE_ENUM_VALUE_TABLE
1908