fixed some bugs
[libfirm] / ir / be / bespill.c
index 0f6d4bb..9baae0a 100644 (file)
@@ -222,7 +222,6 @@ void be_insert_spills_reloads(spill_env_t *senv, pset *reload_set) {
                        ir_node *spill   = be_spill_node(senv, si->spilled_node);
 
                        /* the reload */
-                       ir_node *bl      = is_Block(rld->reloader) ? rld->reloader : get_nodes_block(rld->reloader);
                        ir_node *reload  = be_reload(aenv, senv->cls, rld->reloader, mode, spill);
 
                        DBG((senv->dbg, LEVEL_1, " %+F of %+F before %+F\n", reload, si->spilled_node, rld->reloader));
@@ -500,8 +499,10 @@ void be_compute_spill_offsets(be_chordal_env_t *cenv) {
 
        /* Clean up */
        pmap_foreach(ssenv.slots, pme)
-               del_pset(((spill_slot_t *)pme->value)->members);
+       del_pset(((spill_slot_t *)pme->value)->members);
        pmap_destroy(ssenv.slots);
-  pmap_destroy(ssenv.types);
+       pmap_destroy(ssenv.types);
        obstack_free(&ssenv.ob, NULL);
+
+       be_copy_entities_to_reloads(cenv->irg);
 }