ignore last scheduled node on reordering after a perm if it is not colorable
[libfirm] / ir / be / bessadestr.c
index d057cd1..6d69703 100644 (file)
@@ -26,6 +26,8 @@
  */
 #include "config.h"
 
+#include "bessadestr.h"
+
 #include "debug.h"
 #include "set.h"
 #include "pmap.h"
@@ -182,7 +184,7 @@ static void insert_all_perms_walker(ir_node *bl, void *data)
                         */
                        insert_after = perm;
                        for (pp = set_first(arg_set); pp; pp = set_next(arg_set)) {
-                               ir_node *proj = new_r_Proj(pred_bl, perm, get_irn_mode(pp->arg), pp->pos);
+                               ir_node *proj = new_r_Proj(perm, get_irn_mode(pp->arg), pp->pos);
                                pp->proj = proj;
                                assert(get_reg(pp->arg));
                                set_reg(proj, get_reg(pp->arg));
@@ -361,7 +363,8 @@ static void set_regs_or_place_dupls_walker(ir_node *bl, void *data)
                                set_irn_n(phi, i, dupl);
                                set_reg(dupl, phi_reg);
                                /* skip the Perm's Projs and insert the copies behind. */
-                               for (ins = sched_next(perm); is_Proj(ins); ins = sched_next(ins));
+                               for (ins = sched_next(perm); is_Proj(ins); ins = sched_next(ins)) {
+                               }
                                sched_add_before(ins, dupl);
                                pin_irn(dupl, phi_block);
                                be_liveness_introduce(lv, dupl);