Use foreach_set() instead of reimplementing it.
[libfirm] / ir / be / bepeephole.c
index ba0ae65..ae296f4 100644 (file)
@@ -191,7 +191,7 @@ static void process_block(ir_node *block, void *data)
        /* construct initial register assignment */
        memset(register_values, 0, sizeof(ir_node*) * arch_env->n_registers);
 
-       assert(lv->nodes && "live sets must be computed");
+       assert(lv->sets_valid && "live sets must be computed");
        DB((dbg, LEVEL_1, "\nProcessing block %+F (from end)\n", block));
        be_lv_foreach(lv, block, be_lv_state_end, l) {
                ir_node *node = be_lv_get_irn(lv, block, l);
@@ -324,10 +324,12 @@ ir_node *be_peephole_IncSP_IncSP(ir_node *node)
 
 void be_peephole_opt(ir_graph *irg)
 {
+#if 0
        /* we sometimes find BadE nodes in float apps like optest_float.c or
         * kahansum.c for example... */
-       be_liveness_invalidate(be_get_irg_liveness(irg));
-       be_liveness_assure_sets(be_assure_liveness(irg));
+       be_invalidate_live_sets(irg);
+#endif
+       be_assure_live_sets(irg);
 
        arch_env = be_get_irg_arch_env(irg);
        lv       = be_get_irg_liveness(irg);