[PATCH][RFC] Fix PR55964
Wed Jan 16 14:01:00 GMT 2013
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.
> > 2013-01-14 Richard Biener <firstname.lastname@example.org>
> > 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.
More information about the Gcc-patches