{ &rts_entities[rts_labs], i_mapper_abs },
{ &rts_entities[rts_llabs], i_mapper_abs },
{ &rts_entities[rts_imaxabs], i_mapper_abs },
- { &rts_entities[rts_alloca], i_mapper_alloca },
/* double -> double */
{ &rts_entities[rts_fabs], i_mapper_abs },
normalize_one_return(irg);
#endif
+
#if 0
if (firm_opt.modes) {
/* convert all modes into integer if possible */
arch_mode_conversion(irg, predefs.mode_uint);
}
#endif
-
timer_push(TV_SCALAR_REPLACE);
scalar_replacement_opt(irg);
timer_pop();
compute_doms(irg);
CHECK_ONE(firm_opt.check_all, irg);
- if (firm_opt.code_place) {
+ if (firm_opt.gcse) {
timer_push(TV_CODE_PLACE);
set_opt_global_cse(1);
optimize_graph_df(irg);
CHECK_ONE(firm_opt.check_all, irg);
}
-#if 1
if (firm_opt.luffig) {
opt_ldst2(irg);
DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, irg, "ldst2");
CHECK_ONE(firm_opt.check_all, irg);
}
-#endif
timer_push(TV_CF_OPT);
optimize_cf(irg);
DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, irg, "cfopt");
CHECK_ONE(firm_opt.check_all, irg);
- irg_verify(irg, VRFY_ENFORCE_SSA);
- if (firm_opt.gvn_pre) {
- do_gvn_pre(irg);
- DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, irg, "pre");
- CHECK_ONE(firm_opt.check_all, irg);
- irg_verify(irg, VRFY_ENFORCE_SSA);
- }
-
if (firm_opt.load_store) {
timer_push(TV_LOAD_STORE);
optimize_load_store(irg);
timer_pop();
}
+ if (firm_opt.gvn_pre) {
+ do_gvn_pre(irg);
+ DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, irg, "pre");
+ CHECK_ONE(firm_opt.check_all, irg);
+ irg_verify(irg, VRFY_ENFORCE_SSA);
+ }
+
+ if (! firm_opt.gcse) {
+ timer_push(TV_CODE_PLACE);
+ optimize_graph_df(irg);
+ place_code(irg);
+ timer_pop();
+ DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, irg, "place");
+ CHECK_ONE(firm_opt.check_all, irg);
+ }
+
compute_doms(irg);
compute_postdoms(irg);
DUMP_ONE_CFG_C(firm_dump.ir_graph && firm_dump.all_phases, irg, "dom");
}
if (firm_opt.do_inline) {
- inline_functions(5000, 500);
+ inline_functions(500, 50);
DUMP_ALL_C(firm_dump.ir_graph && firm_dump.all_phases, "inl");
CHECK_ALL(firm_opt.check_all);
}
if (firm_opt.cond_eval) {
for (i = 0; i < get_irp_n_irgs(); i++) {
- if (firm_opt.luffig) {
- opt_ldst2(irg);
- DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, irg, "ldst2");
- CHECK_ONE(firm_opt.check_all, irg);
- }
-
irg = get_irp_irg(i);
timer_push(TV_COND_EVAL);
opt_cond_eval(irg);
for (i = get_irp_n_irgs() - 1; i >= 0; --i) {
current_ir_graph = get_irp_irg(i);
- if (firm_opt.code_place)
+ if (firm_opt.gcse)
set_opt_global_cse(1);
timer_push(TV_LOCAL_OPT);
optimize_graph_df(current_ir_graph);
timer_pop();
DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, current_ir_graph, "lopt");
- if (! firm_opt.code_place)
+ if (! firm_opt.gcse)
CHECK_ONE(firm_opt.check_all, current_ir_graph);
- if (firm_opt.code_place) {
+ if (firm_opt.gcse) {
timer_push(TV_CODE_PLACE);
place_code(current_ir_graph);
set_opt_global_cse(0);