+ int colors_n = arch_register_class_n_regs(chordal_env->cls);
+ int allocatable_regs = colors_n - be_put_ignore_regs(birg, chordal_env->cls, NULL);
+
+ /* some special classes contain only ignore regs, no work to be done */
+ if (allocatable_regs > 0) {
+
+ stat_ev_ctx_push("cls", pse->cls->name);
+ stat_ev_do(node_stats(birg, pse->cls, &node_stat));
+ stat_ev_dbl("spillcosts", be_estimate_irg_costs(irg, main_env->arch_env, birg->exec_freq) - pse->pre_spill_cost);
+ stat_ev_dbl("phis_after_spill", node_stat.n_phis);
+ stat_ev_dbl("mem_phis", node_stat.n_mem_phis);
+ stat_ev_dbl("reloads", node_stat.n_reloads);
+ stat_ev_dbl("spills", node_stat.n_spills);
+
+ /*
+ If we have a backend provided spiller, post spill is
+ called in a loop after spilling for each register class.
+ But we only need to fix stack nodes once in this case.
+ */
+ if (iteration == 0) {
+ check_for_memory_operands(chordal_env);
+ be_abi_fix_stack_nodes(birg->abi);
+ }