static const lc_opt_table_entry_t be_chordal_options[] = {
LC_OPT_ENT_STR ("statfile", "the name of the statisctics file", stat_file_name, sizeof(stat_file_name)),
- LC_OPT_ENT_BOOL ("spill.coal", "coalesce the spill slots (default: yes)", &coalesce_spill_slots),
- LC_OPT_ENT_ENUM_INT ("spill", "spill method (belady, morgan or remat)", &spill_var),
- LC_OPT_ENT_ENUM_PTR ("ifg", "interference graph flavour (std, fast, clique, pointer, list, check)", &ifg_flavor_var),
- LC_OPT_ENT_ENUM_PTR ("perm", "perm lowering options (copy or swap)", &lower_perm_var),
+ LC_OPT_ENT_BOOL ("spill.coal", "coalesce the spill slots", &coalesce_spill_slots),
+ 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 (off, warn, assert)", &be_ch_vrfy_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 }
};
static const lc_opt_table_entry_t options[] = {
- LC_OPT_ENT_ENUM_MASK("dump", "dump ifg before, after or after each cloud", &dump_var),
- LC_OPT_ENT_INT ("iter", "iterations for subtree nodes (standard: 3)", &subtree_iter),
+ LC_OPT_ENT_ENUM_MASK("dump", "dump ifg cloud", &dump_var),
+ LC_OPT_ENT_INT ("iter", "iterations for subtree nodes", &subtree_iter),
LC_OPT_ENT_DBL ("cf", "factor of constraint importance (between 0.0 and 1.0)", &constr_factor),
- LC_OPT_ENT_INT ("max", "maximum recursion depth (default 20)", &max_depth),
+ LC_OPT_ENT_INT ("max", "maximum recursion depth", &max_depth),
{ NULL }
};
};
static const lc_opt_table_entry_t options[] = {
- LC_OPT_ENT_ENUM_MASK("dump", "dump ifg before, after or after each cloud", &dump_var),
+ LC_OPT_ENT_ENUM_MASK("dump", "dump ifg cloud", &dump_var),
LC_OPT_ENT_INT ("dbg", "debug level for the Java coalescer", &dbg_level),
{ NULL }
};
};
static const lc_opt_table_entry_t options[] = {
- LC_OPT_ENT_INT ("limit", "time limit for solving in seconds (0 for unlimited, default 60)", &time_limit),
- LC_OPT_ENT_BOOL ("net", "solve over the net (default: yes)", &solve_net),
+ LC_OPT_ENT_INT ("limit", "time limit for solving in seconds (0 for unlimited)", &time_limit),
+ LC_OPT_ENT_BOOL ("net", "solve over the net", &solve_net),
LC_OPT_ENT_BOOL ("log", "show ilp solving log", &solve_log),
- LC_OPT_ENT_ENUM_MASK("dump", "dump flags (ilp, sol)", &dump_var),
+ LC_OPT_ENT_ENUM_MASK("dump", "dump flags", &dump_var),
{ NULL }
};
};
static const lc_opt_table_entry_t options[] = {
- LC_OPT_ENT_ENUM_INT ("algo", "select copy optimization algo (heur, heur2, heur3, ilp)", &algo_var),
- LC_OPT_ENT_ENUM_FUNC_PTR ("cost", "select a cost function (freq, loop, one)", &cost_func_var),
+ LC_OPT_ENT_ENUM_INT ("algo", "select copy optimization algo", &algo_var),
+ LC_OPT_ENT_ENUM_FUNC_PTR ("cost", "select a cost function", &cost_func_var),
LC_OPT_ENT_ENUM_MASK ("dump", "dump ifg before or after copy optimization", &dump_var),
LC_OPT_ENT_ENUM_MASK ("style", "dump style for ifg dumping", &style_var),
LC_OPT_ENT_BOOL ("stats", "dump statistics after each optimization", &do_stats),
};
static const lc_opt_table_entry_t list_sched_option_table[] = {
- LC_OPT_ENT_ENUM_PTR("prep", "schedule preparation (none, mris, rss)", &sched_prep_var),
- LC_OPT_ENT_ENUM_PTR("select", "node selector (trivial, random, regpress, muchnik, heur, hmuchnik)", &sched_select_var),
+ LC_OPT_ENT_ENUM_PTR("prep", "schedule preparation", &sched_prep_var),
+ LC_OPT_ENT_ENUM_PTR("select", "node selector", &sched_select_var),
{ NULL }
};
#endif /* WITH_LIBCORE */
LC_OPT_ENT_ENUM_PTR ("isa", "the instruction set architecture", &isa_var),
LC_OPT_ENT_NEGBOOL ("noomitfp", "do not omit frame pointer", &be_options.omit_fp),
LC_OPT_ENT_BOOL ("stabs", "enable stabs debug support", &be_options.stabs_debug_support),
- LC_OPT_ENT_ENUM_PTR ("vrfy", "verify the backend irg (off, warn, assert)", &vrfy_var),
+ LC_OPT_ENT_ENUM_PTR ("vrfy", "verify the backend irg", &vrfy_var),
LC_OPT_ENT_BOOL ("time", "get backend timing statistics", &be_options.timing),
LC_OPT_ENT_BOOL ("profile", "instrument the code for execution count profiling", &be_options.opt_profile),
};
static const lc_opt_table_entry_t rss_option_table[] = {
- LC_OPT_ENT_ENUM_MASK("dump", "dump phases (none, cbc, pkg, kill, dvg, maxac, all)", &dump_var),
+ LC_OPT_ENT_ENUM_MASK("dump", "dump phases", &dump_var),
{ NULL }
};
#endif /* WITH_LIBCORE */
static int opt_timeout = 300;
static double opt_cost_reload = 8.0;
static double opt_cost_memoperand = 7.0;
-static double opt_cost_spill = 50.0;
+static double opt_cost_spill = 15.0;
static double opt_cost_remat = 1.0;
};
static const lc_opt_table_entry_t options[] = {
- LC_OPT_ENT_ENUM_MASK("keepalive", "keep alive remats, spills or reloads", &keep_alive_var),
+ LC_OPT_ENT_ENUM_MASK("keepalive", "keep alive inserted nodes", &keep_alive_var),
LC_OPT_ENT_BOOL ("goodwin", "activate goodwin reduction", &opt_goodwin),
LC_OPT_ENT_BOOL ("memcopies", "activate memcopy handling", &opt_memcopies),
LC_OPT_ENT_BOOL ("memoperands", "activate memoperands", &opt_memoperands),
- LC_OPT_ENT_ENUM_INT ("remats", "type of remats to insert (none, briggs, noinverse or all)",&remats_var),
+ LC_OPT_ENT_ENUM_INT ("remats", "type of remats to insert", &remats_var),
LC_OPT_ENT_BOOL ("repair_schedule", "repair the schedule by rematting once used nodes",&opt_repair_schedule),
LC_OPT_ENT_BOOL ("no_enlage_liveness", "do not enlarge liveness of operands of remats",&opt_no_enlarge_liveness),
LC_OPT_ENT_BOOL ("remat_while_live", "only remat where rematted value was live", &opt_remat_while_live),
- LC_OPT_ENT_ENUM_MASK("dump", "dump problem, mps, solution, stats or pressure", &dump_var),
+ LC_OPT_ENT_ENUM_MASK("dump", "dump problem, solution or statistical data", &dump_var),
LC_OPT_ENT_BOOL ("log", "activate the lpp log", &opt_log),
LC_OPT_ENT_INT ("timeout", "ILP solver timeout", &opt_timeout),
ir_snprintf(buf, sizeof(buf), "reg_out_%N_%N", irn, bb);
spill->reg_out = lpp_add_var_default(si->lpp, buf, lpp_binary, 0.0, 1.0);
- /* if irn is used at the end of the block, then it is live anyway */
- //lpp_set_factor_fast(si->lpp, cst, spill->reg_out, 1.0);
ir_snprintf(buf, sizeof(buf), "mem_out_%N_%N", irn, bb);
spill->mem_out = lpp_add_var_default(si->lpp, buf, lpp_binary, 0.0, 1.0);
#endif
}
} else {
+#if 0
pset_foreach(defs, tmp) {
op_t *tmp_op = get_irn_link(tmp);
spill_t *spill = set_find_spill(spill_bb->ilp, tmp);
lpp_set_factor_fast(si->lpp, cst, tmp_op->attr.live_range.ilp, 1.0);
lpp_set_factor_fast(si->lpp, cst, spill->spill, 1.0);
}
+#endif
}