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 &&
/*
* 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;
CASE(Eor);
CASE(Shl);
default:
- /* leave NULL */;
+ break;
}
return ops;