0, /* create PIC code */
BE_VERIFY_WARN, /* verification level: warn */
"", /* ilp server */
- "cplex", /* ilp solver */
+ "", /* ilp solver */
0, /* enable statistic event dumping */
"", /* print stat events */
};
LC_OPT_ENT_ENUM_MASK("dump", "dump irg on several occasions", &dump_var),
LC_OPT_ENT_BOOL ("omitfp", "omit frame pointer", &be_options.omit_fp),
LC_OPT_ENT_BOOL ("pic", "create PIC code", &be_options.pic),
- LC_OPT_ENT_ENUM_PTR ("verify", "verify the backend irg", &verify_var),
+ LC_OPT_ENT_ENUM_INT ("verify", "verify the backend irg", &verify_var),
LC_OPT_ENT_BOOL ("time", "get backend timing statistics", &be_options.timing),
LC_OPT_ENT_BOOL ("profilegenerate", "instrument the code for execution count profiling", &be_options.opt_profile_generate),
LC_OPT_ENT_BOOL ("profileuse", "use existing profile data", &be_options.opt_profile_use),
LC_OPT_ENT_BOOL ("statev", "dump statistic events", &be_options.statev),
- LC_OPT_ENT_STR ("filtev", "filter for stat events (regex if support is active", &be_options.filtev, sizeof(be_options.filtev)),
+ LC_OPT_ENT_STR ("filtev", "filter for stat events (regex if support is active", be_options.filtev),
- LC_OPT_ENT_STR ("ilp.server", "the ilp server name", be_options.ilp_server, sizeof(be_options.ilp_server)),
- LC_OPT_ENT_STR ("ilp.solver", "the ilp solver name", be_options.ilp_solver, sizeof(be_options.ilp_solver)),
+ LC_OPT_ENT_STR("ilp.server", "the ilp server name", be_options.ilp_server),
+ LC_OPT_ENT_STR("ilp.solver", "the ilp solver name", be_options.ilp_solver),
LC_OPT_LAST
};
/* set the current graph (this is important for several firm functions) */
current_ir_graph = irg;
- stat_ev_if {
+ if (stat_ev_enabled) {
stat_ev_ctx_push_fobj("bemain_irg", irg);
be_stat_ev("bemain_insns_start", be_count_insns(irg));
be_stat_ev("bemain_blocks_start", be_count_blocks(irg));
be_sched_verify(irg, be_options.verify_option);
be_timer_pop(T_VERIFY);
- stat_ev_if {
+ if (stat_ev_enabled) {
stat_ev_dbl("bemain_costs_before_ra",
be_estimate_irg_costs(irg, birg->exec_freq));
be_stat_ev("bemain_insns_before_ra", be_count_insns(irg));
dump(DUMP_RA, irg, "ra");
- /* let the code generator prepare the graph for emitter */
- be_timer_push(T_FINISH);
- if (arch_env->impl->after_ra != NULL)
- arch_env->impl->after_ra(irg);
- be_timer_pop(T_FINISH);
-
- /* fix stack offsets */
- be_timer_push(T_ABI);
- be_abi_fix_stack_nodes(irg);
- be_remove_dead_nodes_from_schedule(irg);
- be_abi_fix_stack_bias(irg);
- be_timer_pop(T_ABI);
-
- dump(DUMP_SCHED, irg, "fix_stack_after_ra");
-
be_timer_push(T_FINISH);
if (arch_env->impl->finish != NULL)
arch_env->impl->finish(irg);
dump(DUMP_FINAL, irg, "finish");
- stat_ev_if {
+ if (stat_ev_enabled) {
be_stat_ev("bemain_insns_finish", be_count_insns(irg));
be_stat_ev("bemain_blocks_finish", be_count_blocks(irg));
}
if (be_options.timing == BE_TIME_ON) {
ir_timer_stop(t);
ir_timer_leave_high_priority();
- stat_ev_if {
+ if (stat_ev_enabled) {
stat_ev_dbl("bemain_backend_time", ir_timer_elapsed_msec(t));
} else {
double val = ir_timer_elapsed_usec(t) / 1000.0;