Make warning about registers assigned to Phi inputs more clear.
[libfirm] / ir / be / ia32 / ia32_optimize.c
index 0a9ba1c..d2d1c99 100644 (file)
@@ -331,9 +331,7 @@ static void peephole_ia32_Return(ir_node *node) {
                }
        }
 
-       /* ensure, that the 3 byte return is generated
-        * actually the emitter tests again if the block beginning has a label and
-        * isn't just a fallthrough */
+       /* ensure, that the 3 byte return is generated */
        be_Return_set_emit_pop(node, 1);
 }
 
@@ -515,7 +513,6 @@ static void peephole_Load_IncSP_to_pop(ir_node *irn)
        maxslot = -1;
        pred_sp = be_get_IncSP_pred(irn);
        for (node = sched_prev(irn); !sched_is_end(node); node = sched_prev(node)) {
-               ir_node *mem;
                int offset;
                int loadslot;
                const arch_register_t *sreg, *dreg;
@@ -554,13 +551,9 @@ static void peephole_Load_IncSP_to_pop(ir_node *irn)
                         * but we do not check this */
                        break;
                }
-               /* Load has to be attached to Spill-Mem */
-               mem = skip_Proj(get_irn_n(node, n_ia32_mem));
-               if (!is_Phi(mem) && !is_ia32_Store(mem) && !is_ia32_Push(mem))
-                       break;
 
                /* should have NO index */
-               if (get_ia32_am_scale(node) > 0 || !is_ia32_NoReg_GP(get_irn_n(node, n_ia32_index)))
+               if (!is_ia32_NoReg_GP(get_irn_n(node, n_ia32_index)))
                        break;
 
                offset = get_ia32_am_offs_int(node);