On Tue, 15 Jan 2013, Jakub Jelinek wrote: > 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.
For extra safety I throw bootstrap-O3 at it with success. Committed. Richard. > > 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.