+ if (firm_opt.tail_rec) {
+ timer_push(TV_TAIL_REC);
+ opt_tail_recursion();
+ timer_pop();
+
+ DUMP_ALL_C(firm_dump.ir_graph && firm_dump.all_phases, "tail_rec");
+ CHECK_ALL(firm_opt.check_all);
+ }
+
+ if (firm_opt.cond_eval) {
+ for (i = 0; i < get_irp_n_irgs(); i++) {
+ irg = get_irp_irg(i);
+ timer_push(TV_COND_EVAL);
+ opt_cond_eval(irg);
+ timer_pop();
+ DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, irg, "cond_eval");
+ CHECK_ONE(firm_opt.check_all, irg);
+
+ timer_push(TV_CF_OPT);
+ optimize_cf(irg);
+ timer_pop();
+ DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, irg, "cfopt");
+ CHECK_ONE(firm_opt.check_all, irg);
+ }
+ }