use custom spillslot coalescer so int->float and float->int gets proper spillslots
[libfirm] / ir / be / bespilldaemel.c
index e364601..c9ef9db 100644 (file)
@@ -377,17 +377,16 @@ static void spill_block(ir_node *block, void *data)
        ir_nodeset_destroy(&live_nodes);
 }
 
-static void be_spill_daemel(be_irg_t *birg, const arch_register_class_t *new_cls)
+static void be_spill_daemel(ir_graph *irg, const arch_register_class_t *new_cls)
 {
-       ir_graph *irg = be_get_birg_irg(birg);
-       n_regs = new_cls->n_regs - be_put_ignore_regs(birg, new_cls, NULL);
+       n_regs = new_cls->n_regs - be_put_ignore_regs(irg, new_cls, NULL);
 
        if (n_regs == 0)
                return;
 
        be_liveness_assure_sets(be_assure_liveness(irg));
 
-       spill_env     = be_new_spill_env(birg);
+       spill_env     = be_new_spill_env(irg);
        cls           = new_cls;
        lv            = be_get_irg_liveness(irg);
        spilled_nodes = bitset_malloc(get_irg_last_idx(irg));