Bugfix
authorDaniel Grund <grund@cs.uni-saarland.de>
Tue, 7 Mar 2006 15:54:43 +0000 (15:54 +0000)
committerDaniel Grund <grund@cs.uni-saarland.de>
Tue, 7 Mar 2006 15:54:43 +0000 (15:54 +0000)
ir/be/benode.c
ir/be/bespill.c

index 5f4a848..6300ca4 100644 (file)
@@ -742,7 +742,7 @@ ir_node *be_reload(const arch_env_t *arch_env, const arch_register_class_t *cls,
 {
        ir_node *reload;
 
-       ir_node *bl    = get_nodes_block(reloader);
+       ir_node *bl    = is_Block(reloader) ? reloader : get_nodes_block(reloader);
        ir_graph *irg  = get_irn_irg(bl);
        ir_node *frame = get_irg_frame(irg);
        const arch_register_class_t *cls_frame = arch_get_irn_reg_class(arch_env, frame, -1);
index 0f6d4bb..4bca32d 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));