be: Simplify places, which still assumed, that Projs are scheduled.
authorChristoph Mallon <christoph.mallon@gmx.de>
Thu, 29 Nov 2012 07:39:43 +0000 (08:39 +0100)
committerChristoph Mallon <christoph.mallon@gmx.de>
Thu, 29 Nov 2012 07:39:43 +0000 (08:39 +0100)
ir/be/bespillutil.c
ir/be/bessadestr.c
ir/be/bestate.c
ir/be/beverify.c

index 8cc61e1..3ac055f 100644 (file)
@@ -250,7 +250,7 @@ void be_add_reload2(spill_env_t *env, ir_node *to_spill, ir_node *before,
                }
        }
 
-       assert(!is_Proj(before) && !be_is_Keep(before));
+       assert(!be_is_Keep(before));
 
        /* put reload into list */
        rel                   = OALLOC(&env->obst, reloader_t);
index 998d241..636e083 100644 (file)
@@ -319,14 +319,10 @@ static void set_regs_or_place_dupls_walker(ir_node *bl, void *data)
                                */
                                ir_node *perm = get_Proj_pred(arg);
                                ir_node *dupl = be_new_Copy(arg_block, arg);
-                               ir_node *ins;
 
                                set_irn_n(phi, i, dupl);
                                arch_set_irn_register(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)) {
-                               }
-                               sched_add_before(ins, dupl);
+                               sched_add_after(perm, dupl);
                                pin_irn(dupl, phi_block);
                                be_liveness_introduce(lv, dupl);
                                be_liveness_update(lv, arg);
index 672e1ce..b111185 100644 (file)
@@ -376,11 +376,9 @@ static void belady(minibelady_env_t *env, ir_node *block)
                int i, arity;
                ir_node *need_val = NULL;
 
-               /* projs are handled with the tuple value.
-                * Phis are no real instr (see insert_starters()) */
-               if (is_Proj(node) || is_Phi(node)) {
+               /* Phis are no real instr (see insert_starters()) */
+               if (is_Phi(node))
                        continue;
-               }
 
                /* check which state is desired for the node */
                arity = get_irn_arity(node);
index a31023d..d8b2db4 100644 (file)
@@ -206,8 +206,8 @@ static void verify_schedule_walker(ir_node *block, void *data)
                                cfchange_found = node;
                        }
                } else if (cfchange_found != NULL) {
-                       /* proj and keepany aren't real instructions... */
-                       if (!is_Proj(node) && !be_is_Keep(node)) {
+                       /* keepany isn't a real instruction. */
+                       if (!be_is_Keep(node)) {
                                ir_fprintf(stderr, "Verify Warning: Node %+F scheduled after control flow changing node in block %+F (%s)\n",
                                           node, block, get_irg_name(env->irg));
                                env->problem_found = true;