On Fri, Jan 09, 2015 at 03:10:16PM +0100, Richard Biener wrote: > Well, you have until the end of next week ;) For GIMPLE this is > a switch with all cases going to the same basic-block, right? > I think we optimize that in cleanup_control_expr_graph via the > single_succ_p case?
No, it is a switch with cases that all look like: _1 = a; // load _2 = _1 + 1; a = _2; // store So, either if tree-ssa-tail-merge could be tought about loads/stores, or some other pass would be able to hoist the loads before the switch and sink the store after the switch, because every switch case does that. Jakub