-static void insn_count_walker(ir_node *irn, void *data)
-{
- int *cnt = data;
-
- switch(get_irn_opcode(irn)) {
- case iro_Proj:
- case iro_Phi:
- case iro_Start:
- case iro_End:
- break;
- default:
- (*cnt)++;
- }
-}
-
-static unsigned int count_insns(ir_graph *irg)
-{
- int cnt = 0;
- irg_walk_graph(irg, insn_count_walker, NULL, &cnt);
- return cnt;
-}
-
-/**
- * Initialize all timers.
- */
-static void be_init_timer(be_options_t *main_opts)
-{
- if (main_opts->timing == BE_TIME_ON) {
- ra_timer.t_prolog = lc_timer_register("ra_prolog", "regalloc prolog");
- ra_timer.t_epilog = lc_timer_register("ra_epilog", "regalloc epilog");
- ra_timer.t_live = lc_timer_register("ra_liveness", "be liveness");
- ra_timer.t_spill = lc_timer_register("ra_spill", "spiller");
- ra_timer.t_spillslots = lc_timer_register("ra_spillslots", "spillslots");
- ra_timer.t_color = lc_timer_register("ra_color", "graph coloring");
- ra_timer.t_ifg = lc_timer_register("ra_ifg", "interference graph");
- ra_timer.t_copymin = lc_timer_register("ra_copymin", "copy minimization");
- ra_timer.t_ssa = lc_timer_register("ra_ssadestr", "ssa destruction");
- ra_timer.t_verify = lc_timer_register("ra_verify", "graph verification");
- ra_timer.t_other = lc_timer_register("ra_other", "other time");
-
- LC_STOP_AND_RESET_TIMER(ra_timer.t_prolog);
- LC_STOP_AND_RESET_TIMER(ra_timer.t_epilog);
- LC_STOP_AND_RESET_TIMER(ra_timer.t_live);
- LC_STOP_AND_RESET_TIMER(ra_timer.t_spill);
- LC_STOP_AND_RESET_TIMER(ra_timer.t_spillslots);
- LC_STOP_AND_RESET_TIMER(ra_timer.t_color);
- LC_STOP_AND_RESET_TIMER(ra_timer.t_ifg);
- LC_STOP_AND_RESET_TIMER(ra_timer.t_copymin);
- LC_STOP_AND_RESET_TIMER(ra_timer.t_ssa);
- LC_STOP_AND_RESET_TIMER(ra_timer.t_verify);
- LC_STOP_AND_RESET_TIMER(ra_timer.t_other);
-
- global_ra_timer = &ra_timer;
- }
-}