extern lc_timer_t *t_finish;
extern lc_timer_t *t_emit;
extern lc_timer_t *t_other;
+extern lc_timer_t *t_execfreq;
extern lc_timer_t *t_verify;
extern lc_timer_t *t_heights;
extern lc_timer_t *t_live; /**< timer for liveness calculation */
lc_timer_t *t_verify;
lc_timer_t *t_heights;
lc_timer_t *t_live;
+lc_timer_t *t_execfreq;
lc_timer_t *t_ssa_constr;
lc_timer_t *t_ra_constr;
lc_timer_t *t_ra_prolog;
t_other = lc_timer_register("time_other", "other");
t_heights = lc_timer_register("time_heights", "heights");
t_live = lc_timer_register("time_liveness", "be liveness");
+ t_execfreq = lc_timer_register("time_execfreq", "execfreq");
t_ssa_constr = lc_timer_register("time_ssa_constr", "ssa reconstruction");
t_ra_prolog = lc_timer_register("time_ra_prolog", "regalloc prolog");
t_ra_epilog = lc_timer_register("time_ra_epilog", "regalloc epilog");
assert(be_check_dominance(irg) && "Dominance verification failed");
}
+ BE_TIMER_PUSH(t_execfreq);
/**
* Create execution frequencies from profile data or estimate some
*/
birg->exec_freq = ir_create_execfreqs_from_profile(irg);
else
birg->exec_freq = compute_execfreq(irg, 10);
+ BE_TIMER_POP(t_execfreq);
/* disabled for now, fails for EmptyFor.c and XXEndless.c */
BE_TIMER_ONLY(
stat_ev_if {
+ } else {
printf("==>> IRG %s <<==\n", get_entity_name(get_irg_entity(irg)));
}
LC_EMIT(t_abi);
LC_EMIT(t_heights);
LC_EMIT(t_ssa_constr);
LC_EMIT(t_constr);
+ LC_EMIT(t_execfreq);
LC_EMIT(t_ra_prolog);
LC_EMIT(t_ra_spill);
LC_EMIT(t_ra_spill_apply);