finalize debug stuff before arch_env_done which frees be_emitter
[libfirm] / ir / opt / reassoc.c
index cedf85b..4367d21 100644 (file)
@@ -925,7 +925,6 @@ static void reverse_rules(ir_node *node, void *env)
 int optimize_reassociation(ir_graph *irg)
 {
        walker_t env;
-       irg_loopinfo_state state;
 
        assert(get_irg_phase_state(irg) != phase_building);
        assert(get_irg_pinned(irg) != op_pin_state_floats &&
@@ -941,14 +940,9 @@ int optimize_reassociation(ir_graph *irg)
 
        /*
         * Calculate loop info, so we could identify loop-invariant
-        * code and threat it like a constant.
-        * We only need control flow loops here but can handle generic
-        * INTRA info as well.
+        * code and treat it like a constant.
         */
-       state = get_irg_loopinfo_state(irg);
-       if ((state & loopinfo_inter) ||
-               (state & (loopinfo_constructed | loopinfo_valid)) != (loopinfo_constructed | loopinfo_valid))
-               construct_cf_backedges(irg);
+       assure_loopinfo(irg);
 
        env.changes = 0;
        env.irg     = irg;
@@ -994,7 +988,7 @@ ir_op_ops *firm_set_default_reassoc(unsigned code, ir_op_ops *ops)
        CASE(Eor);
        CASE(Shl);
        default:
-               /* leave NULL */;
+               break;
        }
 
        return ops;