+static const lc_opt_enum_int_items_t ifg_flavor_items[] = {
+ { "std", BE_CH_IFG_STD },
+ { "fast", BE_CH_IFG_FAST },
+ { "clique", BE_CH_IFG_CLIQUE },
+ { "pointer", BE_CH_IFG_POINTER },
+ { "list", BE_CH_IFG_LIST },
+ { "check", BE_CH_IFG_CHECK },
+ { NULL, 0 }
+};
+
+static const lc_opt_enum_int_items_t lower_perm_items[] = {
+ { "copy", BE_CH_LOWER_PERM_COPY },
+ { "swap", BE_CH_LOWER_PERM_SWAP },
+ { NULL, 0 }
+};
+
+static const lc_opt_enum_int_items_t lower_perm_stat_items[] = {
+ { NULL, 0 }
+};
+
+static const lc_opt_enum_int_items_t dump_items[] = {
+ { "spill", BE_CH_DUMP_SPILL },
+ { "live", BE_CH_DUMP_LIVE },
+ { "color", BE_CH_DUMP_COLOR },
+ { "copymin", BE_CH_DUMP_COPYMIN },
+ { "ssadestr", BE_CH_DUMP_SSADESTR },
+ { "tree", BE_CH_DUMP_TREE_INTV },
+ { "constr", BE_CH_DUMP_CONSTR },
+ { "lower", BE_CH_DUMP_LOWER },
+ { "spillslots", BE_CH_DUMP_SPILLSLOTS },
+ { "appel", BE_CH_DUMP_APPEL },
+ { "all", BE_CH_DUMP_ALL },
+ { NULL, 0 }
+};
+
+static const lc_opt_enum_int_items_t be_ch_vrfy_items[] = {
+ { "off", BE_CH_VRFY_OFF },
+ { "warn", BE_CH_VRFY_WARN },
+ { "assert", BE_CH_VRFY_ASSERT },
+ { NULL, 0 }
+};
+
+static lc_opt_enum_int_var_t spill_var = {
+ &options.spill_method, spill_items
+};
+
+static lc_opt_enum_int_var_t ifg_flavor_var = {
+ &options.ifg_flavor, ifg_flavor_items
+};
+
+static lc_opt_enum_int_var_t lower_perm_var = {
+ &options.lower_perm_opt, lower_perm_items
+};
+
+static lc_opt_enum_int_var_t dump_var = {
+ &options.dump_flags, dump_items
+};
+
+static lc_opt_enum_int_var_t be_ch_vrfy_var = {
+ &options.vrfy_option, be_ch_vrfy_items
+};
+
+static const lc_opt_table_entry_t be_chordal_options[] = {
+ LC_OPT_ENT_ENUM_INT ("spill", "spill method", &spill_var),
+ LC_OPT_ENT_ENUM_PTR ("ifg", "interference graph flavour", &ifg_flavor_var),
+ LC_OPT_ENT_ENUM_PTR ("perm", "perm lowering options", &lower_perm_var),
+ LC_OPT_ENT_ENUM_MASK("dump", "select dump phases", &dump_var),
+ LC_OPT_ENT_ENUM_PTR ("vrfy", "verify options", &be_ch_vrfy_var),
+ LC_OPT_ENT_BOOL ("elrsplit", "enable extreme live range splitting", &be_elr_split),
+ LC_OPT_ENT_INT ("loop_weight", "assumed amount of loop iterations for guessing the execution frequency", &be_loop_weight),
+ { NULL }
+};