Partially undo r20786: Emit ret $0 especially when its BB is only reached by a fallt...
[libfirm] / ir / be / arm / arm_optimize.c
index d3669f5..a26a0a0 100644 (file)
@@ -123,7 +123,7 @@ static void peephole_be_IncSP(ir_node *node) {
        arm_vals v;
 
        /* first optimize incsp->incsp combinations */
-       be_peephole_IncSP_IncSP(node);
+       node = be_peephole_IncSP_IncSP(node);
 
        offset = be_get_IncSP_offset(node);
        /* can be transformed into Add OR Sub */
@@ -245,10 +245,7 @@ static void peephole_be_Spill(ir_node *node) {
                panic("peephole_be_Spill: spill not supported for this mode");
        }
 
-       be_peephole_before_exchange(node, store);
-       sched_remove(node);
-       exchange(node, store);
-       be_peephole_after_exchange(store);
+       be_peephole_exchange(node, store);
 }
 
 /**
@@ -305,10 +302,7 @@ static void peephole_be_Reload(ir_node *node) {
                panic("peephole_be_Spill: spill not supported for this mode");
        }
 
-       be_peephole_before_exchange(node, proj);
-       sched_remove(node);
-       exchange(node, proj);
-       be_peephole_after_exchange(proj);
+       be_peephole_exchange(node, proj);
 }
 
 /**