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