[PATCH][RFC] Fix PR55964

Richard Biener rguenther@suse.de
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.

Committed.

Richard.

> > 2013-01-14  Richard Biener  <rguenther@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.



More information about the Gcc-patches mailing list