adapted (some parts) to abi changes
[libfirm] / ir / be / bespillbelady.c
index 19ab8a2..c5a021e 100644 (file)
@@ -20,6 +20,7 @@
 #include "obst.h"
 #include "set.h"
 #include "pset.h"
+#include "irprintf_t.h"
 #include "irgraph.h"
 #include "irnode.h"
 #include "irmode.h"
@@ -587,16 +588,15 @@ static void remove_copies(belady_env_t *bel) {
        ir_node *irn;
 
        for (irn = pset_first(bel->copies); irn; irn = pset_next(bel->copies)) {
-               ir_node *src, *spill;
+               ir_node *src, *user;
 
                assert(be_is_Copy(irn));
                assert(get_irn_n_edges(irn) == 1 && "This is not a copy introduced in 'compute_block_start_info()'. Who created it?");
 
-               spill = get_irn_edge(get_irn_irg(irn), irn, 0)->src;
-               assert(be_is_Spill(spill) && "This is not a copy introduced in 'compute_block_start_info()'. Who created it?");
+               user = get_irn_edge(get_irn_irg(irn), irn, 0)->src;
 
-               src = get_irn_n(irn, 0);
-               set_irn_n(spill, 0, src);
+               src = get_irn_n(irn, be_pos_Copy_orig);
+               set_irn_n(user, 0, src);
        }
 }
 
@@ -612,7 +612,7 @@ static void remove_unused_reloads(ir_graph *irg, belady_env_t *bel) {
                ir_node *spill;
                DBG((dbg, DBG_SPILL, "Removing %+F before %+F in %+F\n", irn, sched_next(irn), get_nodes_block(irn)));
 
-               spill = get_irn_n(irn, 0);
+               spill = get_irn_n(irn, be_pos_Reload_mem);
 
                /* remove reload */
                set_irn_n(irn, 0, new_Bad());