On Mon, Jan 14, 2013 at 04:58:09PM +0100, Richard Biener wrote: > I happen to have a patch for PR55964 around - preparatory work > to make loop distribution (and vectorization) handle nested loops. > It mostly kills the broken way loop distribution copies loops > (which is where we ICE in this PR). So instead of trying to > make that old logic slightly less broken I consider to simply > apply this work now ... (I've posted this before in December). > > I'm re-bootstrapping and testing this on x86_64-unknown-linux-gnu. > > So ... ok at this stage?
Ok, if nobody complains in the next 24 hours. > 2013-01-14 Richard Biener <rguent...@suse.de> > > PR tree-optimization/55964 > * tree-flow.h (rename_variables_in_loop): Remove. > (rename_variables_in_bb): Likewise. > * tree-loop-distribution.c (update_phis_for_loop_copy): Remove. > (copy_loop_before): Adjust and delete update-ssa status. > * tree-vect-loop-manip.c (rename_variables_in_bb): Make static. > (rename_variables_in_bb): Likewise. Properly walk over > predecessors. > (rename_variables_in_loop): Remove. > (slpeel_update_phis_for_duplicate_loop): Likewise. > (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops, > use available cfg machinery instead of duplicating it. > Update PHI nodes and perform poor-mans SSA update here. > (slpeel_tree_peel_loop_to_edge): Adjust. > > * gcc.dg/torture/pr55964.c: New testcase. Jakub