| 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) |
| 13 | static 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 |
| 22 | static constexpr char OptionStrTableStorage[] = |
| 23 | "\0" |
| 24 | "-\0" |
| 25 | "--\0" |
| 26 | "<input>\0" |
| 27 | "<unknown>\0" |
| 28 | "-basic-block-section-match-infer\0" |
| 29 | "Enable matching and inference when generating basic block sections\0" |
| 30 | "-bbsections-guided-section-prefix\0" |
| 31 | "Use the basic-block-sections profile to determine the text section prefix for hot functions. Functions with basic-block-sections profile will be placed in `.text.hot` regardless of their FDO profile info. Other functions won't be impacted, i.e., their prefixes will be decided by FDO/sampleFDO profiles\0" |
| 32 | "-cgp-addr-sink-combine-base-gv\0" |
| 33 | "Allow combining of BaseGV field in Address sinking\0" |
| 34 | "-cgp-addr-sink-combine-base-offs\0" |
| 35 | "Allow combining of BaseOffs field in Address sinking\0" |
| 36 | "-cgp-addr-sink-combine-base-reg\0" |
| 37 | "Allow combining of BaseReg field in Address sinking\0" |
| 38 | "-cgp-addr-sink-combine-scaled-reg\0" |
| 39 | "Allow combining of ScaledReg field in Address sinking\0" |
| 40 | "-cgp-addr-sink-new-phis\0" |
| 41 | "Allow creation of Phis in Address sinking\0" |
| 42 | "-cgp-addr-sink-new-select\0" |
| 43 | "Allow creation of selects in Address sinking\0" |
| 44 | "-cgp-addr-sink-using-gep\0" |
| 45 | "Address sinking in CGP using GEPs\0" |
| 46 | "-cgp-andcmp-sinking\0" |
| 47 | "Enable sinking and/cmp into branches\0" |
| 48 | "-cgp-branch-opts\0" |
| 49 | "Enable branch optimizations in CodeGenPrepare\0" |
| 50 | "-cgp-complex-addr-modes\0" |
| 51 | "Enable combining addressing modes with different parts in optimizeMemoryInst\0" |
| 52 | "-cgp-delete-phis\0" |
| 53 | "Enable elimination of dead PHI nodes\0" |
| 54 | "-cgp-ext-ld-promotion\0" |
| 55 | "Enable ext(promotable(ld)) -> promoted(ext(ld)) optimization in CodeGenPrepare\0" |
| 56 | "-cgp-force-split-store\0" |
| 57 | "Force store splitting no matter what the target query says\0" |
| 58 | "-cgp-freq-ratio-to-skip-merge\0" |
| 59 | "Skip merging empty blocks if (frequency of empty block) / (frequency of destination block) is greater than this ratio\0" |
| 60 | "-cgp-gc-opts\0" |
| 61 | "Enable GC optimizations in CodeGenPrepare\0" |
| 62 | "-cgp-huge-func\0" |
| 63 | "Least BB number of huge function\0" |
| 64 | "-cgp-icmp-eq2icmp-st\0" |
| 65 | "Enable ICMP_EQ to ICMP_S(L|G)T conversion\0" |
| 66 | "-cgp-max-address-users-to-scan\0" |
| 67 | "Max number of address users to look at\0" |
| 68 | "-cgp-optimize-phi-types\0" |
| 69 | "Enable converting phi types in CodeGenPrepare\0" |
| 70 | "-cgp-preheader-prot\0" |
| 71 | "Protect loop preheaders from removal\0" |
| 72 | "-cgp-select2branch\0" |
| 73 | "Enable select to branch conversion\0" |
| 74 | "-cgp-split-large-offset-gep\0" |
| 75 | "Enable splitting large offset of GEP\0" |
| 76 | "-cgp-store-extract\0" |
| 77 | "Enable store(extract) optimizations in CodeGenPrepare\0" |
| 78 | "-cgp-stress-ext-ld-promotion\0" |
| 79 | "Stress test ext(promotable(ld)) -> promoted(ext(ld)) optimization in CodeGenPrepare\0" |
| 80 | "-cgp-stress-store-extract\0" |
| 81 | "Stress test store(extract) optimizations in CodeGenPrepare\0" |
| 82 | "-cgp-type-promotion-merge\0" |
| 83 | "Enable merging of redundant sexts when one is dominating the other\0" |
| 84 | "-cgp-verify-bfi-updates\0" |
| 85 | "Enable BFI update verification for CodeGenPrepare\0" |
| 86 | "-codegen-pipeline-trigger-crash\0" |
| 87 | "Trigger crash in codegen pipeline\0" |
| 88 | "-debugify-and-strip-all-safe\0" |
| 89 | "Debugify MIR before and Strip debug after each pass except those known to be unsafe when debug info is present\0" |
| 90 | "-debugify-check-and-strip-all-safe\0" |
| 91 | "Debugify MIR before, by checking and stripping the debug info after, each pass except those known to be unsafe when debug info is present\0" |
| 92 | "-disable-atexit-based-global-dtor-lowering\0" |
| 93 | "For MachO, disable atexit()-based global destructor lowering\0" |
| 94 | "-disable-block-placement\0" |
| 95 | "Disable probability-driven block placement\0" |
| 96 | "-disable-branch-fold\0" |
| 97 | "Disable branch folding\0" |
| 98 | "-disable-cfi-fixup\0" |
| 99 | "Disable the CFI fixup pass\0" |
| 100 | "-disable-cgp\0" |
| 101 | "Disable Codegen Prepare\0" |
| 102 | "-disable-constant-hoisting\0" |
| 103 | "Disable ConstantHoisting\0" |
| 104 | "-disable-copyprop\0" |
| 105 | "Disable Copy Propagation pass\0" |
| 106 | "-disable-early-ifcvt\0" |
| 107 | "Disable Early If-conversion\0" |
| 108 | "-disable-early-taildup\0" |
| 109 | "Disable pre-register allocation tail duplication\0" |
| 110 | "-disable-expand-reductions\0" |
| 111 | "Disable the expand reduction intrinsics pass from running\0" |
| 112 | "-disable-layout-fsprofile-loader\0" |
| 113 | "Disable MIRProfileLoader before BlockPlacement\0" |
| 114 | "-disable-lsr\0" |
| 115 | "Disable Loop Strength Reduction Pass\0" |
| 116 | "-disable-machine-cse\0" |
| 117 | "Disable Machine Common Subexpression Elimination\0" |
| 118 | "-disable-machine-dce\0" |
| 119 | "Disable Machine Dead Code Elimination\0" |
| 120 | "-disable-machine-licm\0" |
| 121 | "Disable Machine LICM\0" |
| 122 | "-disable-machine-sink\0" |
| 123 | "Disable Machine Sinking\0" |
| 124 | "-disable-partial-libcall-inlining\0" |
| 125 | "Disable Partial Libcall Inlining\0" |
| 126 | "-disable-post-ra\0" |
| 127 | "Disable Post Regalloc Scheduler\0" |
| 128 | "-disable-postra-machine-licm\0" |
| 129 | "-disable-postra-machine-sink\0" |
| 130 | "Disable PostRA Machine Sinking\0" |
| 131 | "-disable-ra-fsprofile-loader\0" |
| 132 | "Disable MIRProfileLoader before RegAlloc\0" |
| 133 | "-disable-replace-with-vec-lib\0" |
| 134 | "Disable replace with vector math call pass\0" |
| 135 | "-disable-select-optimize\0" |
| 136 | "Disable the select-optimization pass from running\0" |
| 137 | "-disable-ssc\0" |
| 138 | "Disable Stack Slot Coloring\0" |
| 139 | "-disable-tail-duplicate\0" |
| 140 | "Disable tail duplication\0" |
| 141 | "-enable-block-placement-stats\0" |
| 142 | "Collect probability-driven block placement stats\0" |
| 143 | "-enable-gc-empty-basic-blocks\0" |
| 144 | "Enable garbage-collecting empty basic blocks\0" |
| 145 | "-enable-global-merge-func\0" |
| 146 | "Enable global merge functions that are based on hash function\0" |
| 147 | "-enable-implicit-null-checks\0" |
| 148 | "Fold null checks into faulting memory operations\0" |
| 149 | "-enable-ipra\0" |
| 150 | "Enable interprocedural register allocation to reduce load/store at procedure calls\0" |
| 151 | "-fast-isel\0" |
| 152 | "Enable the \"fast\" instruction selector\0" |
| 153 | "-fs-profile-file\0" |
| 154 | "Flow Sensitive profile file name\0" |
| 155 | "<filename>\0" |
| 156 | "-fs-remapping-file\0" |
| 157 | "Flow Sensitive profile remapping file name\0" |
| 158 | "-function-splitting\0" |
| 159 | "Which functions are eligible for late function splitting\0" |
| 160 | "<none|bbsections|all>\0" |
| 161 | "none,bbsections,all\0" |
| 162 | "-global-isel-abort\0" |
| 163 | "Enable abort calls when \"global\" instruction selection fails to lower/select an instruction\0" |
| 164 | "<0|1|2>\0" |
| 165 | "0,1,2\0" |
| 166 | "-global-isel\0" |
| 167 | "Enable the \"global\" instruction selector\0" |
| 168 | "-misched-postra\0" |
| 169 | "Run MachineScheduler post regalloc (independent of preRA sched)\0" |
| 170 | "-print-after-isel\0" |
| 171 | "Print machine instrs after ISel\0" |
| 172 | "-print-isel-input\0" |
| 173 | "Print LLVM IR input to isel pass\0" |
| 174 | "-print-regusage\0" |
| 175 | "Print register usage details collected for IPRA\0" |
| 176 | "-profile-guided-section-prefix\0" |
| 177 | "Use profile info to add section prefix for hot/cold functions\0" |
| 178 | "-profile-unknown-in-special-section\0" |
| 179 | "In profiling mode like sampleFDO, if a function doesn't have profile, we cannot tell the function is cold for sure because it may be a function newly added without ever being sampled. With the flag enabled, compiler can put such profile unknown functions into a special section, so runtime system can choose to handle it in a different way than .text section, to save RAM for example\0" |
| 180 | "-regalloc-fast-tied\0" |
| 181 | "Have the fast register allocator lower tied operands itself instead of running TwoAddressInstructionPass (overrides the target's default)\0" |
| 182 | "-split-static-data\0" |
| 183 | "Split static data sections into hot and cold sections using profile information\0" |
| 184 | "-start-after\0" |
| 185 | "Resume compilation after a specific pass\0" |
| 186 | "<pass-name>\0" |
| 187 | "-start-before\0" |
| 188 | "Resume compilation before a specific pass\0" |
| 189 | "-stop-after\0" |
| 190 | "Stop compilation after a specific pass\0" |
| 191 | "-stop-before\0" |
| 192 | "Stop compilation before a specific pass\0" |
| 193 | "-verify-machineinstrs\0" |
| 194 | "Verify generated machine code\0" |
| 195 | ; |
| 196 | #ifdef __GNUC__ |
| 197 | #pragma GCC diagnostic pop |
| 198 | #endif |
| 199 | |
| 200 | static constexpr llvm::StringTable |
| 201 | OptionStrTable = OptionStrTableStorage; |
| 202 | |
| 203 | static constexpr llvm::StringTable::Offset OptionPrefixesTable[] = { |
| 204 | 0 /* prefixes */, |
| 205 | 2 /* prefixes */, 1 /* '-' */, 3 /* '--' */ |
| 206 | }; |
| 207 | |
| 208 | static constexpr llvm::opt::OptTable::HelpTextVariant OptionHelpTextVariantsTable[] = { |
| 209 | {0, 0}, |
| 210 | }; |
| 211 | |
| 212 | static constexpr unsigned OptionSubCommandIDsTable[] = { |
| 213 | 0 /* subcommands */ |
| 214 | }; |
| 215 | |
| 216 | static constexpr llvm::opt::OptTable::InfoExtra OptionInfoExtrasTable[] = { |
| 217 | {0, 0, 0, 0, 0, 0, 0, 0}, |
| 218 | {0, 0, 0, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0}, |
| 219 | {4884, 0, 0, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0}, |
| 220 | {5034, 0, 5056, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0}, |
| 221 | {5187, 0, 5195, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0}, |
| 222 | {6324, 0, 0, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0}, |
| 223 | }; |
| 224 | |
| 225 | static constexpr llvm::opt::OptTable::Info OptionInfoTable[] = { |
| 226 | {6 /* <input> */, 0, 0, 0, 1, 0, llvm::opt::Option::InputClass}, |
| 227 | {14 /* <unknown> */, 0, 0, 0, 1, 0, llvm::opt::Option::UnknownClass}, |
| 228 | {24 /* -basic-block-section-match-infer */, 57, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 229 | {124 /* -bbsections-guided-section-prefix */, 158, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 230 | {461 /* -cgp-addr-sink-combine-base-gv */, 492, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 231 | {543 /* -cgp-addr-sink-combine-base-offs */, 576, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 232 | {629 /* -cgp-addr-sink-combine-base-reg */, 661, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 233 | {713 /* -cgp-addr-sink-combine-scaled-reg */, 747, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 234 | {801 /* -cgp-addr-sink-new-phis */, 825, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 235 | {867 /* -cgp-addr-sink-new-select */, 893, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 236 | {938 /* -cgp-addr-sink-using-gep */, 963, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 237 | {997 /* -cgp-andcmp-sinking */, 1017, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 238 | {1054 /* -cgp-branch-opts */, 1071, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 239 | {1117 /* -cgp-complex-addr-modes */, 1141, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 240 | {1218 /* -cgp-delete-phis */, 1235, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 241 | {1272 /* -cgp-ext-ld-promotion */, 1294, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 242 | {1373 /* -cgp-force-split-store */, 1396, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 243 | {1455 /* -cgp-freq-ratio-to-skip-merge */, 1485, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass}, |
| 244 | {1603 /* -cgp-gc-opts */, 1616, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 245 | {1658 /* -cgp-huge-func */, 1673, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass}, |
| 246 | {1706 /* -cgp-icmp-eq2icmp-st */, 1727, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 247 | {1769 /* -cgp-max-address-users-to-scan */, 1800, 0, 0, 1, 1, llvm::opt::Option::SeparateOrEqClass}, |
| 248 | {1839 /* -cgp-optimize-phi-types */, 1863, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 249 | {1909 /* -cgp-preheader-prot */, 1929, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 250 | {1966 /* -cgp-select2branch */, 1985, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 251 | {2020 /* -cgp-split-large-offset-gep */, 2048, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 252 | {2085 /* -cgp-store-extract */, 2104, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 253 | {2158 /* -cgp-stress-ext-ld-promotion */, 2187, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 254 | {2271 /* -cgp-stress-store-extract */, 2297, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 255 | {2356 /* -cgp-type-promotion-merge */, 2382, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 256 | {2449 /* -cgp-verify-bfi-updates */, 2473, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 257 | {2523 /* -codegen-pipeline-trigger-crash */, 2555, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 258 | {2589 /* -debugify-and-strip-all-safe */, 2618, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 259 | {2729 /* -debugify-check-and-strip-all-safe */, 2764, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 260 | {2902 /* -disable-atexit-based-global-dtor-lowering */, 2945, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 261 | {3006 /* -disable-block-placement */, 3031, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 262 | {3074 /* -disable-branch-fold */, 3095, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 263 | {3118 /* -disable-cfi-fixup */, 3137, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 264 | {3164 /* -disable-cgp */, 3177, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 265 | {3201 /* -disable-constant-hoisting */, 3228, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 266 | {3253 /* -disable-copyprop */, 3271, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 267 | {3301 /* -disable-early-ifcvt */, 3322, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 268 | {3350 /* -disable-early-taildup */, 3373, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 269 | {3422 /* -disable-expand-reductions */, 3449, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 270 | {3507 /* -disable-layout-fsprofile-loader */, 3540, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 271 | {3587 /* -disable-lsr */, 3600, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 272 | {3637 /* -disable-machine-cse */, 3658, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 273 | {3707 /* -disable-machine-dce */, 3728, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 274 | {3766 /* -disable-machine-licm */, 3788, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 275 | {3809 /* -disable-machine-sink */, 3831, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 276 | {3855 /* -disable-partial-libcall-inlining */, 3889, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 277 | {3922 /* -disable-post-ra */, 3939, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 278 | {3971 /* -disable-postra-machine-licm */, 3788, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 279 | {4000 /* -disable-postra-machine-sink */, 4029, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 280 | {4060 /* -disable-ra-fsprofile-loader */, 4089, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 281 | {4130 /* -disable-replace-with-vec-lib */, 4160, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 282 | {4203 /* -disable-select-optimize */, 4228, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 283 | {4278 /* -disable-ssc */, 4291, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 284 | {4319 /* -disable-tail-duplicate */, 4343, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 285 | {4368 /* -enable-block-placement-stats */, 4398, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 286 | {4447 /* -enable-gc-empty-basic-blocks */, 4477, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 287 | {4522 /* -enable-global-merge-func */, 4548, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 288 | {4610 /* -enable-implicit-null-checks */, 4639, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 289 | {4688 /* -enable-ipra */, 4701, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 290 | {4784 /* -fast-isel */, 4795, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 291 | {4834 /* -fs-profile-file */, 4851, 0, 0, 2, 1, llvm::opt::Option::SeparateOrEqClass}, |
| 292 | {4895 /* -fs-remapping-file */, 4914, 0, 0, 2, 1, llvm::opt::Option::SeparateOrEqClass}, |
| 293 | {4957 /* -function-splitting */, 4977, 0, 0, 3, 1, llvm::opt::Option::SeparateOrEqClass}, |
| 294 | {5076 /* -global-isel-abort */, 5095, 0, 0, 4, 1, llvm::opt::Option::SeparateOrEqClass}, |
| 295 | {5201 /* -global-isel */, 5214, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 296 | {5255 /* -misched-postra */, 5271, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 297 | {5335 /* -print-after-isel */, 5353, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 298 | {5385 /* -print-isel-input */, 5403, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 299 | {5436 /* -print-regusage */, 5452, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 300 | {5500 /* -profile-guided-section-prefix */, 5531, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 301 | {5593 /* -profile-unknown-in-special-section */, 5629, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 302 | {6013 /* -regalloc-fast-tied */, 6033, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 303 | {6171 /* -split-static-data */, 6190, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 304 | {6270 /* -start-after */, 6283, 0, 0, 5, 1, llvm::opt::Option::SeparateOrEqClass}, |
| 305 | {6336 /* -start-before */, 6350, 0, 0, 5, 1, llvm::opt::Option::SeparateOrEqClass}, |
| 306 | {6392 /* -stop-after */, 6404, 0, 0, 5, 1, llvm::opt::Option::SeparateOrEqClass}, |
| 307 | {6443 /* -stop-before */, 6456, 0, 0, 5, 1, llvm::opt::Option::SeparateOrEqClass}, |
| 308 | {6496 /* -verify-machineinstrs */, 6518, 0, 0, 1, 1, llvm::opt::Option::FlagOrEqClass}, |
| 309 | }; |
| 310 | |
| 311 | return {OptionStrTable, OptionPrefixesTable, |
| 312 | OptionInfoTable, OptionInfoExtrasTable, OptionHelpTextVariantsTable, {}, OptionSubCommandIDsTable}; |
| 313 | } |
| 314 | #undef OPTTABLE_CODE |
| 315 | #endif // OPTTABLE_CODE || OPTIONS_STRUCT_DEFS |
| 316 | |
| 317 | |
| 318 | #ifdef OPTIONS_STRUCT_DECL |
| 319 | #undef OPTIONS_STRUCT_DECL |
| 320 | #include "llvm/ADT/ArrayRef.h" |
| 321 | #include "llvm/ADT/BoolOrDefault.h" |
| 322 | #include "llvm/ADT/StringRef.h" |
| 323 | #include "llvm/Support/Allocator.h" |
| 324 | |
| 325 | namespace llvm { |
| 326 | namespace opt { |
| 327 | class Arg; |
| 328 | class OptTable; |
| 329 | } // namespace opt |
| 330 | } // namespace llvm |
| 331 | |
| 332 | namespace llvm { |
| 333 | struct CodeGenOptions { |
| 334 | bool bbsections_guided_section_prefix{true}; |
| 335 | bool cgp_addr_sink_combine_base_gv{true}; |
| 336 | bool cgp_addr_sink_combine_base_offs{true}; |
| 337 | bool cgp_addr_sink_combine_base_reg{true}; |
| 338 | bool cgp_addr_sink_combine_scaled_reg{true}; |
| 339 | bool cgp_addr_sink_new_phis{false}; |
| 340 | bool cgp_addr_sink_new_select{true}; |
| 341 | llvm::BoolOrDefault cgp_addr_sink_using_gep{llvm::BoolOrDefault::Default}; |
| 342 | bool cgp_andcmp_sinking{true}; |
| 343 | bool cgp_branch_opts{true}; |
| 344 | bool cgp_complex_addr_modes{true}; |
| 345 | bool cgp_delete_phis{true}; |
| 346 | bool cgp_ext_ld_promotion{true}; |
| 347 | bool cgp_force_split_store{false}; |
| 348 | uint64_t cgp_freq_ratio_to_skip_merge{2}; |
| 349 | bool cgp_gc_opts{true}; |
| 350 | unsigned cgp_huge_func{10000}; |
| 351 | bool cgp_icmp_eq2icmp_st{false}; |
| 352 | unsigned cgp_max_address_users_to_scan{100}; |
| 353 | bool cgp_optimize_phi_types{true}; |
| 354 | bool {true}; |
| 355 | bool cgp_select2branch{true}; |
| 356 | bool cgp_split_large_offset_gep{true}; |
| 357 | bool {true}; |
| 358 | bool cgp_stress_ext_ld_promotion{false}; |
| 359 | bool {false}; |
| 360 | bool cgp_type_promotion_merge{true}; |
| 361 | bool cgp_verify_bfi_updates{false}; |
| 362 | bool profile_guided_section_prefix{true}; |
| 363 | bool profile_unknown_in_special_section{false}; |
| 364 | bool basic_block_section_match_infer{false}; |
| 365 | bool codegen_pipeline_trigger_crash{false}; |
| 366 | llvm::BoolOrDefault debugify_and_strip_all_safe{llvm::BoolOrDefault::Default}; |
| 367 | llvm::BoolOrDefault debugify_check_and_strip_all_safe{llvm::BoolOrDefault::Default}; |
| 368 | bool disable_atexit_based_global_dtor_lowering{false}; |
| 369 | bool disable_block_placement{false}; |
| 370 | bool disable_branch_fold{false}; |
| 371 | bool disable_cfi_fixup{false}; |
| 372 | bool disable_cgp{false}; |
| 373 | bool disable_constant_hoisting{false}; |
| 374 | bool disable_copyprop{false}; |
| 375 | bool disable_early_ifcvt{false}; |
| 376 | bool disable_early_taildup{false}; |
| 377 | bool disable_expand_reductions{false}; |
| 378 | bool disable_layout_fsprofile_loader{false}; |
| 379 | bool disable_lsr{false}; |
| 380 | bool disable_machine_cse{false}; |
| 381 | bool disable_machine_dce{false}; |
| 382 | bool disable_machine_licm{false}; |
| 383 | bool disable_machine_sink{false}; |
| 384 | bool disable_partial_libcall_inlining{false}; |
| 385 | bool disable_post_ra{false}; |
| 386 | bool disable_postra_machine_licm{false}; |
| 387 | bool disable_postra_machine_sink{false}; |
| 388 | bool disable_ra_fsprofile_loader{false}; |
| 389 | bool disable_replace_with_vec_lib{false}; |
| 390 | bool disable_select_optimize{true}; |
| 391 | bool disable_ssc{false}; |
| 392 | bool disable_tail_duplicate{false}; |
| 393 | bool enable_block_placement_stats{false}; |
| 394 | bool enable_gc_empty_basic_blocks{false}; |
| 395 | bool enable_global_merge_func{false}; |
| 396 | bool enable_implicit_null_checks{false}; |
| 397 | llvm::BoolOrDefault enable_ipra{llvm::BoolOrDefault::Default}; |
| 398 | std::optional<FunctionSplittingMode> function_splitting{std::nullopt}; |
| 399 | llvm::BoolOrDefault fast_isel{llvm::BoolOrDefault::Default}; |
| 400 | StringRef fs_profile_file{}; |
| 401 | StringRef fs_remapping_file{}; |
| 402 | llvm::BoolOrDefault global_isel{llvm::BoolOrDefault::Default}; |
| 403 | std::optional<GlobalISelAbortMode> global_isel_abort{std::nullopt}; |
| 404 | bool misched_postra{false}; |
| 405 | bool print_after_isel{false}; |
| 406 | bool print_isel_input{false}; |
| 407 | bool print_regusage{false}; |
| 408 | llvm::BoolOrDefault regalloc_fast_tied{llvm::BoolOrDefault::Default}; |
| 409 | bool split_static_data{false}; |
| 410 | StringRef start_after{}; |
| 411 | StringRef start_before{}; |
| 412 | StringRef stop_after{}; |
| 413 | StringRef stop_before{}; |
| 414 | llvm::BoolOrDefault verify_machineinstrs{llvm::BoolOrDefault::Default}; |
| 415 | |
| 416 | /// The instance cl::ParseCommandLineOptions sets. |
| 417 | static CodeGenOptions Global; |
| 418 | |
| 419 | static const llvm::opt::OptTable &optTable(); |
| 420 | /// Sets the member that \p A names, allocating a list from \p Alloc. |
| 421 | /// Returns false if the value is invalid. |
| 422 | bool apply(const llvm::opt::Arg &A, llvm::BumpPtrAllocator &Alloc); |
| 423 | }; |
| 424 | } // namespace llvm |
| 425 | #endif // OPTIONS_STRUCT_DECL |
| 426 | |
| 427 | #ifdef OPTIONS_STRUCT_DEFS |
| 428 | #undef OPTIONS_STRUCT_DEFS |
| 429 | llvm::CodeGenOptions llvm::CodeGenOptions::Global; |
| 430 | |
| 431 | namespace { |
| 432 | enum ID : unsigned { |
| 433 | OPT_INVALID = 0, |
| 434 | OPT_INPUT, |
| 435 | OPT_UNKNOWN, |
| 436 | OPT_basic_block_section_match_infer, |
| 437 | OPT_bbsections_guided_section_prefix, |
| 438 | OPT_cgp_addr_sink_combine_base_gv, |
| 439 | OPT_cgp_addr_sink_combine_base_offs, |
| 440 | OPT_cgp_addr_sink_combine_base_reg, |
| 441 | OPT_cgp_addr_sink_combine_scaled_reg, |
| 442 | OPT_cgp_addr_sink_new_phis, |
| 443 | OPT_cgp_addr_sink_new_select, |
| 444 | OPT_cgp_addr_sink_using_gep, |
| 445 | OPT_cgp_andcmp_sinking, |
| 446 | OPT_cgp_branch_opts, |
| 447 | OPT_cgp_complex_addr_modes, |
| 448 | OPT_cgp_delete_phis, |
| 449 | OPT_cgp_ext_ld_promotion, |
| 450 | OPT_cgp_force_split_store, |
| 451 | OPT_cgp_freq_ratio_to_skip_merge, |
| 452 | OPT_cgp_gc_opts, |
| 453 | OPT_cgp_huge_func, |
| 454 | OPT_cgp_icmp_eq2icmp_st, |
| 455 | OPT_cgp_max_address_users_to_scan, |
| 456 | OPT_cgp_optimize_phi_types, |
| 457 | OPT_cgp_preheader_prot, |
| 458 | OPT_cgp_select2branch, |
| 459 | OPT_cgp_split_large_offset_gep, |
| 460 | OPT_cgp_store_extract, |
| 461 | OPT_cgp_stress_ext_ld_promotion, |
| 462 | OPT_cgp_stress_store_extract, |
| 463 | OPT_cgp_type_promotion_merge, |
| 464 | OPT_cgp_verify_bfi_updates, |
| 465 | OPT_codegen_pipeline_trigger_crash, |
| 466 | OPT_debugify_and_strip_all_safe, |
| 467 | OPT_debugify_check_and_strip_all_safe, |
| 468 | OPT_disable_atexit_based_global_dtor_lowering, |
| 469 | OPT_disable_block_placement, |
| 470 | OPT_disable_branch_fold, |
| 471 | OPT_disable_cfi_fixup, |
| 472 | OPT_disable_cgp, |
| 473 | OPT_disable_constant_hoisting, |
| 474 | OPT_disable_copyprop, |
| 475 | OPT_disable_early_ifcvt, |
| 476 | OPT_disable_early_taildup, |
| 477 | OPT_disable_expand_reductions, |
| 478 | OPT_disable_layout_fsprofile_loader, |
| 479 | OPT_disable_lsr, |
| 480 | OPT_disable_machine_cse, |
| 481 | OPT_disable_machine_dce, |
| 482 | OPT_disable_machine_licm, |
| 483 | OPT_disable_machine_sink, |
| 484 | OPT_disable_partial_libcall_inlining, |
| 485 | OPT_disable_post_ra, |
| 486 | OPT_disable_postra_machine_licm, |
| 487 | OPT_disable_postra_machine_sink, |
| 488 | OPT_disable_ra_fsprofile_loader, |
| 489 | OPT_disable_replace_with_vec_lib, |
| 490 | OPT_disable_select_optimize, |
| 491 | OPT_disable_ssc, |
| 492 | OPT_disable_tail_duplicate, |
| 493 | OPT_enable_block_placement_stats, |
| 494 | OPT_enable_gc_empty_basic_blocks, |
| 495 | OPT_enable_global_merge_func, |
| 496 | OPT_enable_implicit_null_checks, |
| 497 | OPT_enable_ipra, |
| 498 | OPT_fast_isel, |
| 499 | OPT_fs_profile_file, |
| 500 | OPT_fs_remapping_file, |
| 501 | OPT_function_splitting, |
| 502 | OPT_global_isel_abort, |
| 503 | OPT_global_isel, |
| 504 | OPT_misched_postra, |
| 505 | OPT_print_after_isel, |
| 506 | OPT_print_isel_input, |
| 507 | OPT_print_regusage, |
| 508 | OPT_profile_guided_section_prefix, |
| 509 | OPT_profile_unknown_in_special_section, |
| 510 | OPT_regalloc_fast_tied, |
| 511 | OPT_split_static_data, |
| 512 | OPT_start_after, |
| 513 | OPT_start_before, |
| 514 | OPT_stop_after, |
| 515 | OPT_stop_before, |
| 516 | OPT_verify_machineinstrs, |
| 517 | }; |
| 518 | } // namespace |
| 519 | |
| 520 | const llvm::opt::OptTable &llvm::CodeGenOptions::optTable() { |
| 521 | static const llvm::opt::LibraryOptTable T(optionTables()); |
| 522 | return T; |
| 523 | } |
| 524 | |
| 525 | bool llvm::CodeGenOptions::apply(const llvm::opt::Arg &A, llvm::BumpPtrAllocator &Alloc) { |
| 526 | switch (A.getOption().getID()) { |
| 527 | case OPT_basic_block_section_match_infer: |
| 528 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , basic_block_section_match_infer, Alloc); |
| 529 | case OPT_bbsections_guided_section_prefix: |
| 530 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , bbsections_guided_section_prefix, Alloc); |
| 531 | case OPT_cgp_addr_sink_combine_base_gv: |
| 532 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_addr_sink_combine_base_gv, Alloc); |
| 533 | case OPT_cgp_addr_sink_combine_base_offs: |
| 534 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_addr_sink_combine_base_offs, Alloc); |
| 535 | case OPT_cgp_addr_sink_combine_base_reg: |
| 536 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_addr_sink_combine_base_reg, Alloc); |
| 537 | case OPT_cgp_addr_sink_combine_scaled_reg: |
| 538 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_addr_sink_combine_scaled_reg, Alloc); |
| 539 | case OPT_cgp_addr_sink_new_phis: |
| 540 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_addr_sink_new_phis, Alloc); |
| 541 | case OPT_cgp_addr_sink_new_select: |
| 542 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_addr_sink_new_select, Alloc); |
| 543 | case OPT_cgp_addr_sink_using_gep: |
| 544 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_addr_sink_using_gep, Alloc); |
| 545 | case OPT_cgp_andcmp_sinking: |
| 546 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_andcmp_sinking, Alloc); |
| 547 | case OPT_cgp_branch_opts: |
| 548 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_branch_opts, Alloc); |
| 549 | case OPT_cgp_complex_addr_modes: |
| 550 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_complex_addr_modes, Alloc); |
| 551 | case OPT_cgp_delete_phis: |
| 552 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_delete_phis, Alloc); |
| 553 | case OPT_cgp_ext_ld_promotion: |
| 554 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_ext_ld_promotion, Alloc); |
| 555 | case OPT_cgp_force_split_store: |
| 556 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_force_split_store, Alloc); |
| 557 | case OPT_cgp_freq_ratio_to_skip_merge: |
| 558 | return llvm::opt::parseArgValue(A.getValue(), cgp_freq_ratio_to_skip_merge, Alloc); |
| 559 | case OPT_cgp_gc_opts: |
| 560 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_gc_opts, Alloc); |
| 561 | case OPT_cgp_huge_func: |
| 562 | return llvm::opt::parseArgValue(A.getValue(), cgp_huge_func, Alloc); |
| 563 | case OPT_cgp_icmp_eq2icmp_st: |
| 564 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_icmp_eq2icmp_st, Alloc); |
| 565 | case OPT_cgp_max_address_users_to_scan: |
| 566 | return llvm::opt::parseArgValue(A.getValue(), cgp_max_address_users_to_scan, Alloc); |
| 567 | case OPT_cgp_optimize_phi_types: |
| 568 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_optimize_phi_types, Alloc); |
| 569 | case OPT_cgp_preheader_prot: |
| 570 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_preheader_prot, Alloc); |
| 571 | case OPT_cgp_select2branch: |
| 572 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_select2branch, Alloc); |
| 573 | case OPT_cgp_split_large_offset_gep: |
| 574 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_split_large_offset_gep, Alloc); |
| 575 | case OPT_cgp_store_extract: |
| 576 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_store_extract, Alloc); |
| 577 | case OPT_cgp_stress_ext_ld_promotion: |
| 578 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_stress_ext_ld_promotion, Alloc); |
| 579 | case OPT_cgp_stress_store_extract: |
| 580 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_stress_store_extract, Alloc); |
| 581 | case OPT_cgp_type_promotion_merge: |
| 582 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_type_promotion_merge, Alloc); |
| 583 | case OPT_cgp_verify_bfi_updates: |
| 584 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , cgp_verify_bfi_updates, Alloc); |
| 585 | case OPT_codegen_pipeline_trigger_crash: |
| 586 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , codegen_pipeline_trigger_crash, Alloc); |
| 587 | case OPT_debugify_and_strip_all_safe: |
| 588 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , debugify_and_strip_all_safe, Alloc); |
| 589 | case OPT_debugify_check_and_strip_all_safe: |
| 590 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , debugify_check_and_strip_all_safe, Alloc); |
| 591 | case OPT_disable_atexit_based_global_dtor_lowering: |
| 592 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_atexit_based_global_dtor_lowering, Alloc); |
| 593 | case OPT_disable_block_placement: |
| 594 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_block_placement, Alloc); |
| 595 | case OPT_disable_branch_fold: |
| 596 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_branch_fold, Alloc); |
| 597 | case OPT_disable_cfi_fixup: |
| 598 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_cfi_fixup, Alloc); |
| 599 | case OPT_disable_cgp: |
| 600 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_cgp, Alloc); |
| 601 | case OPT_disable_constant_hoisting: |
| 602 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_constant_hoisting, Alloc); |
| 603 | case OPT_disable_copyprop: |
| 604 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_copyprop, Alloc); |
| 605 | case OPT_disable_early_ifcvt: |
| 606 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_early_ifcvt, Alloc); |
| 607 | case OPT_disable_early_taildup: |
| 608 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_early_taildup, Alloc); |
| 609 | case OPT_disable_expand_reductions: |
| 610 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_expand_reductions, Alloc); |
| 611 | case OPT_disable_layout_fsprofile_loader: |
| 612 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_layout_fsprofile_loader, Alloc); |
| 613 | case OPT_disable_lsr: |
| 614 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_lsr, Alloc); |
| 615 | case OPT_disable_machine_cse: |
| 616 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_machine_cse, Alloc); |
| 617 | case OPT_disable_machine_dce: |
| 618 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_machine_dce, Alloc); |
| 619 | case OPT_disable_machine_licm: |
| 620 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_machine_licm, Alloc); |
| 621 | case OPT_disable_machine_sink: |
| 622 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_machine_sink, Alloc); |
| 623 | case OPT_disable_partial_libcall_inlining: |
| 624 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_partial_libcall_inlining, Alloc); |
| 625 | case OPT_disable_post_ra: |
| 626 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_post_ra, Alloc); |
| 627 | case OPT_disable_postra_machine_licm: |
| 628 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_postra_machine_licm, Alloc); |
| 629 | case OPT_disable_postra_machine_sink: |
| 630 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_postra_machine_sink, Alloc); |
| 631 | case OPT_disable_ra_fsprofile_loader: |
| 632 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_ra_fsprofile_loader, Alloc); |
| 633 | case OPT_disable_replace_with_vec_lib: |
| 634 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_replace_with_vec_lib, Alloc); |
| 635 | case OPT_disable_select_optimize: |
| 636 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_select_optimize, Alloc); |
| 637 | case OPT_disable_ssc: |
| 638 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_ssc, Alloc); |
| 639 | case OPT_disable_tail_duplicate: |
| 640 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , disable_tail_duplicate, Alloc); |
| 641 | case OPT_enable_block_placement_stats: |
| 642 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , enable_block_placement_stats, Alloc); |
| 643 | case OPT_enable_gc_empty_basic_blocks: |
| 644 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , enable_gc_empty_basic_blocks, Alloc); |
| 645 | case OPT_enable_global_merge_func: |
| 646 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , enable_global_merge_func, Alloc); |
| 647 | case OPT_enable_implicit_null_checks: |
| 648 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , enable_implicit_null_checks, Alloc); |
| 649 | case OPT_enable_ipra: |
| 650 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , enable_ipra, Alloc); |
| 651 | case OPT_fast_isel: |
| 652 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , fast_isel, Alloc); |
| 653 | case OPT_fs_profile_file: |
| 654 | return llvm::opt::parseArgValue(A.getValue(), fs_profile_file, Alloc); |
| 655 | case OPT_fs_remapping_file: |
| 656 | return llvm::opt::parseArgValue(A.getValue(), fs_remapping_file, Alloc); |
| 657 | case OPT_function_splitting: |
| 658 | return llvm::opt::parseArgValue(A.getValue(), function_splitting, Alloc, [](llvm::StringRef V, auto &X) { |
| 659 | if (V == "none" ) { |
| 660 | X = FunctionSplittingMode::None; |
| 661 | return true; |
| 662 | } |
| 663 | if (V == "bbsections" ) { |
| 664 | X = FunctionSplittingMode::BBSectionsOnly; |
| 665 | return true; |
| 666 | } |
| 667 | if (V == "all" ) { |
| 668 | X = FunctionSplittingMode::All; |
| 669 | return true; |
| 670 | } |
| 671 | return false; |
| 672 | }); |
| 673 | case OPT_global_isel_abort: |
| 674 | return llvm::opt::parseArgValue(A.getValue(), global_isel_abort, Alloc, [](llvm::StringRef V, auto &X) { |
| 675 | if (V == "0" ) { |
| 676 | X = GlobalISelAbortMode::Disable; |
| 677 | return true; |
| 678 | } |
| 679 | if (V == "1" ) { |
| 680 | X = GlobalISelAbortMode::Enable; |
| 681 | return true; |
| 682 | } |
| 683 | if (V == "2" ) { |
| 684 | X = GlobalISelAbortMode::DisableWithDiag; |
| 685 | return true; |
| 686 | } |
| 687 | return false; |
| 688 | }); |
| 689 | case OPT_global_isel: |
| 690 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , global_isel, Alloc); |
| 691 | case OPT_misched_postra: |
| 692 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , misched_postra, Alloc); |
| 693 | case OPT_print_after_isel: |
| 694 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , print_after_isel, Alloc); |
| 695 | case OPT_print_isel_input: |
| 696 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , print_isel_input, Alloc); |
| 697 | case OPT_print_regusage: |
| 698 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , print_regusage, Alloc); |
| 699 | case OPT_profile_guided_section_prefix: |
| 700 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , profile_guided_section_prefix, Alloc); |
| 701 | case OPT_profile_unknown_in_special_section: |
| 702 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , profile_unknown_in_special_section, Alloc); |
| 703 | case OPT_regalloc_fast_tied: |
| 704 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , regalloc_fast_tied, Alloc); |
| 705 | case OPT_split_static_data: |
| 706 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , split_static_data, Alloc); |
| 707 | case OPT_start_after: |
| 708 | return llvm::opt::parseArgValue(A.getValue(), start_after, Alloc); |
| 709 | case OPT_start_before: |
| 710 | return llvm::opt::parseArgValue(A.getValue(), start_before, Alloc); |
| 711 | case OPT_stop_after: |
| 712 | return llvm::opt::parseArgValue(A.getValue(), stop_after, Alloc); |
| 713 | case OPT_stop_before: |
| 714 | return llvm::opt::parseArgValue(A.getValue(), stop_before, Alloc); |
| 715 | case OPT_verify_machineinstrs: |
| 716 | return llvm::opt::parseArgValue(A.getNumValues() ? A.getValue() : "true" , verify_machineinstrs, Alloc); |
| 717 | } |
| 718 | llvm_unreachable("option without a member" ); |
| 719 | } |
| 720 | #endif // OPTIONS_STRUCT_DEFS |
| 721 | ///////// |
| 722 | // ValuesCode |
| 723 | |
| 724 | #ifdef OPTTABLE_VALUES_CODE |
| 725 | static llvm::StringRef getOptionValuesCode(unsigned ID) { |
| 726 | switch (ID) { |
| 727 | } |
| 728 | return {}; |
| 729 | } |
| 730 | #undef OPTTABLE_VALUES_CODE |
| 731 | #endif // OPTTABLE_VALUES_CODE |
| 732 | ///////// |
| 733 | // Groups |
| 734 | |
| 735 | #ifdef OPTION |
| 736 | |
| 737 | ////////// |
| 738 | // Options |
| 739 | |
| 740 | OPTION(0, 6 /* <input> */, INPUT, Input, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0, 0, 0, 0) |
| 741 | OPTION(0, 14 /* <unknown> */, UNKNOWN, Unknown, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 0, 0, 0, 0, 0) |
| 742 | OPTION(1, 24 /* -basic-block-section-match-infer */, anonymous_30, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 57, 0, 0, 0, 0) |
| 743 | OPTION(1, 124 /* -bbsections-guided-section-prefix */, anonymous_0, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 158, 0, 0, 0, 0) |
| 744 | OPTION(1, 461 /* -cgp-addr-sink-combine-base-gv */, anonymous_1, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 492, 0, 0, 0, 0) |
| 745 | OPTION(1, 543 /* -cgp-addr-sink-combine-base-offs */, anonymous_2, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 576, 0, 0, 0, 0) |
| 746 | OPTION(1, 629 /* -cgp-addr-sink-combine-base-reg */, anonymous_3, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 661, 0, 0, 0, 0) |
| 747 | OPTION(1, 713 /* -cgp-addr-sink-combine-scaled-reg */, anonymous_4, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 747, 0, 0, 0, 0) |
| 748 | OPTION(1, 801 /* -cgp-addr-sink-new-phis */, anonymous_5, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 825, 0, 0, 0, 0) |
| 749 | OPTION(1, 867 /* -cgp-addr-sink-new-select */, anonymous_6, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 893, 0, 0, 0, 0) |
| 750 | OPTION(1, 938 /* -cgp-addr-sink-using-gep */, anonymous_7, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 963, 0, 0, 0, 0) |
| 751 | OPTION(1, 997 /* -cgp-andcmp-sinking */, anonymous_8, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1017, 0, 0, 0, 0) |
| 752 | OPTION(1, 1054 /* -cgp-branch-opts */, anonymous_9, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1071, 0, 0, 0, 0) |
| 753 | OPTION(1, 1117 /* -cgp-complex-addr-modes */, anonymous_10, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1141, 0, 0, 0, 0) |
| 754 | OPTION(1, 1218 /* -cgp-delete-phis */, anonymous_11, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1235, 0, 0, 0, 0) |
| 755 | OPTION(1, 1272 /* -cgp-ext-ld-promotion */, anonymous_12, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1294, 0, 0, 0, 0) |
| 756 | OPTION(1, 1373 /* -cgp-force-split-store */, anonymous_13, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1396, 0, 0, 0, 0) |
| 757 | OPTION(1, 1455 /* -cgp-freq-ratio-to-skip-merge */, anonymous_14, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1485, 0, 0, 0, 0) |
| 758 | OPTION(1, 1603 /* -cgp-gc-opts */, anonymous_15, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1616, 0, 0, 0, 0) |
| 759 | OPTION(1, 1658 /* -cgp-huge-func */, anonymous_16, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1673, 0, 0, 0, 0) |
| 760 | OPTION(1, 1706 /* -cgp-icmp-eq2icmp-st */, anonymous_17, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1727, 0, 0, 0, 0) |
| 761 | OPTION(1, 1769 /* -cgp-max-address-users-to-scan */, anonymous_18, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1800, 0, 0, 0, 0) |
| 762 | OPTION(1, 1839 /* -cgp-optimize-phi-types */, anonymous_19, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1863, 0, 0, 0, 0) |
| 763 | OPTION(1, 1909 /* -cgp-preheader-prot */, anonymous_20, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1929, 0, 0, 0, 0) |
| 764 | OPTION(1, 1966 /* -cgp-select2branch */, anonymous_21, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 1985, 0, 0, 0, 0) |
| 765 | OPTION(1, 2020 /* -cgp-split-large-offset-gep */, anonymous_22, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2048, 0, 0, 0, 0) |
| 766 | OPTION(1, 2085 /* -cgp-store-extract */, anonymous_23, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2104, 0, 0, 0, 0) |
| 767 | OPTION(1, 2158 /* -cgp-stress-ext-ld-promotion */, anonymous_24, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2187, 0, 0, 0, 0) |
| 768 | OPTION(1, 2271 /* -cgp-stress-store-extract */, anonymous_25, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2297, 0, 0, 0, 0) |
| 769 | OPTION(1, 2356 /* -cgp-type-promotion-merge */, anonymous_26, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2382, 0, 0, 0, 0) |
| 770 | OPTION(1, 2449 /* -cgp-verify-bfi-updates */, anonymous_27, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2473, 0, 0, 0, 0) |
| 771 | OPTION(1, 2523 /* -codegen-pipeline-trigger-crash */, anonymous_31, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2555, 0, 0, 0, 0) |
| 772 | OPTION(1, 2589 /* -debugify-and-strip-all-safe */, anonymous_32, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2618, 0, 0, 0, 0) |
| 773 | OPTION(1, 2729 /* -debugify-check-and-strip-all-safe */, anonymous_33, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2764, 0, 0, 0, 0) |
| 774 | OPTION(1, 2902 /* -disable-atexit-based-global-dtor-lowering */, anonymous_34, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 2945, 0, 0, 0, 0) |
| 775 | OPTION(1, 3006 /* -disable-block-placement */, anonymous_35, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3031, 0, 0, 0, 0) |
| 776 | OPTION(1, 3074 /* -disable-branch-fold */, anonymous_36, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3095, 0, 0, 0, 0) |
| 777 | OPTION(1, 3118 /* -disable-cfi-fixup */, anonymous_37, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3137, 0, 0, 0, 0) |
| 778 | OPTION(1, 3164 /* -disable-cgp */, anonymous_38, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3177, 0, 0, 0, 0) |
| 779 | OPTION(1, 3201 /* -disable-constant-hoisting */, anonymous_39, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3228, 0, 0, 0, 0) |
| 780 | OPTION(1, 3253 /* -disable-copyprop */, anonymous_40, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3271, 0, 0, 0, 0) |
| 781 | OPTION(1, 3301 /* -disable-early-ifcvt */, anonymous_41, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3322, 0, 0, 0, 0) |
| 782 | OPTION(1, 3350 /* -disable-early-taildup */, anonymous_42, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3373, 0, 0, 0, 0) |
| 783 | OPTION(1, 3422 /* -disable-expand-reductions */, anonymous_43, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3449, 0, 0, 0, 0) |
| 784 | OPTION(1, 3507 /* -disable-layout-fsprofile-loader */, anonymous_44, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3540, 0, 0, 0, 0) |
| 785 | OPTION(1, 3587 /* -disable-lsr */, anonymous_45, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3600, 0, 0, 0, 0) |
| 786 | OPTION(1, 3637 /* -disable-machine-cse */, anonymous_46, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3658, 0, 0, 0, 0) |
| 787 | OPTION(1, 3707 /* -disable-machine-dce */, anonymous_47, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3728, 0, 0, 0, 0) |
| 788 | OPTION(1, 3766 /* -disable-machine-licm */, anonymous_48, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3788, 0, 0, 0, 0) |
| 789 | OPTION(1, 3809 /* -disable-machine-sink */, anonymous_49, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3831, 0, 0, 0, 0) |
| 790 | OPTION(1, 3855 /* -disable-partial-libcall-inlining */, anonymous_50, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3889, 0, 0, 0, 0) |
| 791 | OPTION(1, 3922 /* -disable-post-ra */, anonymous_51, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3939, 0, 0, 0, 0) |
| 792 | OPTION(1, 3971 /* -disable-postra-machine-licm */, anonymous_52, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 3788, 0, 0, 0, 0) |
| 793 | OPTION(1, 4000 /* -disable-postra-machine-sink */, anonymous_53, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4029, 0, 0, 0, 0) |
| 794 | OPTION(1, 4060 /* -disable-ra-fsprofile-loader */, anonymous_54, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4089, 0, 0, 0, 0) |
| 795 | OPTION(1, 4130 /* -disable-replace-with-vec-lib */, anonymous_55, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4160, 0, 0, 0, 0) |
| 796 | OPTION(1, 4203 /* -disable-select-optimize */, anonymous_56, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4228, 0, 0, 0, 0) |
| 797 | OPTION(1, 4278 /* -disable-ssc */, anonymous_57, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4291, 0, 0, 0, 0) |
| 798 | OPTION(1, 4319 /* -disable-tail-duplicate */, anonymous_58, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4343, 0, 0, 0, 0) |
| 799 | OPTION(1, 4368 /* -enable-block-placement-stats */, anonymous_59, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4398, 0, 0, 0, 0) |
| 800 | OPTION(1, 4447 /* -enable-gc-empty-basic-blocks */, anonymous_60, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4477, 0, 0, 0, 0) |
| 801 | OPTION(1, 4522 /* -enable-global-merge-func */, anonymous_61, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4548, 0, 0, 0, 0) |
| 802 | OPTION(1, 4610 /* -enable-implicit-null-checks */, anonymous_62, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4639, 0, 0, 0, 0) |
| 803 | OPTION(1, 4688 /* -enable-ipra */, anonymous_63, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4701, 0, 0, 0, 0) |
| 804 | OPTION(1, 4784 /* -fast-isel */, anonymous_65, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4795, 0, 0, 0, 0) |
| 805 | OPTION(1, 4834 /* -fs-profile-file */, anonymous_66, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4851, 0, 4884, 0, 0) |
| 806 | OPTION(1, 4895 /* -fs-remapping-file */, anonymous_67, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4914, 0, 4884, 0, 0) |
| 807 | OPTION(1, 4957 /* -function-splitting */, anonymous_64, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 4977, 0, 5034, 5056, 0) |
| 808 | OPTION(1, 5076 /* -global-isel-abort */, anonymous_69, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5095, 0, 5187, 5195, 0) |
| 809 | OPTION(1, 5201 /* -global-isel */, anonymous_68, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5214, 0, 0, 0, 0) |
| 810 | OPTION(1, 5255 /* -misched-postra */, anonymous_70, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5271, 0, 0, 0, 0) |
| 811 | OPTION(1, 5335 /* -print-after-isel */, anonymous_71, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5353, 0, 0, 0, 0) |
| 812 | OPTION(1, 5385 /* -print-isel-input */, anonymous_72, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5403, 0, 0, 0, 0) |
| 813 | OPTION(1, 5436 /* -print-regusage */, anonymous_73, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5452, 0, 0, 0, 0) |
| 814 | OPTION(1, 5500 /* -profile-guided-section-prefix */, anonymous_28, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5531, 0, 0, 0, 0) |
| 815 | OPTION(1, 5593 /* -profile-unknown-in-special-section */, anonymous_29, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 5629, 0, 0, 0, 0) |
| 816 | OPTION(1, 6013 /* -regalloc-fast-tied */, anonymous_74, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6033, 0, 0, 0, 0) |
| 817 | OPTION(1, 6171 /* -split-static-data */, anonymous_75, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6190, 0, 0, 0, 0) |
| 818 | OPTION(1, 6270 /* -start-after */, anonymous_76, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6283, 0, 6324, 0, 0) |
| 819 | OPTION(1, 6336 /* -start-before */, anonymous_77, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6350, 0, 6324, 0, 0) |
| 820 | OPTION(1, 6392 /* -stop-after */, anonymous_78, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6404, 0, 6324, 0, 0) |
| 821 | OPTION(1, 6443 /* -stop-before */, anonymous_79, SeparateOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6456, 0, 6324, 0, 0) |
| 822 | OPTION(1, 6496 /* -verify-machineinstrs */, anonymous_80, FlagOrEq, INVALID, INVALID, 0, 0, static_cast<unsigned>(DefaultVis), 0, 6518, 0, 0, 0, 0) |
| 823 | #endif // OPTION |
| 824 | |
| 825 | #ifdef SIMPLE_ENUM_VALUE_TABLE |
| 826 | |
| 827 | struct SimpleEnumValue { |
| 828 | const char *Name; |
| 829 | unsigned Value; |
| 830 | }; |
| 831 | |
| 832 | struct SimpleEnumValueTable { |
| 833 | const SimpleEnumValue *Table; |
| 834 | unsigned Size; |
| 835 | }; |
| 836 | static const SimpleEnumValueTable SimpleEnumValueTables[] = {}; |
| 837 | static const unsigned SimpleEnumValueTablesSize = std::size(SimpleEnumValueTables); |
| 838 | #endif // SIMPLE_ENUM_VALUE_TABLE |
| 839 | |