From: rguenth Date: Thu, 21 Mar 2013 12:32:06 +0000 (+0000) Subject: 2013-03-21 Richard Biener X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f68f7ce897bb84af33c16836b15f73b439a79ac6;p=thirdparty%2Fgcc.git 2013-03-21 Richard Biener * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Update virtual SSA form. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196868 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 11230fb78b64..9bda6e1d6506 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-03-21 Richard Biener + + * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): + Update virtual SSA form. + 2013-03-21 Rainer Orth * configure.ac (gcc_cv_ld_eh_frame_ciev3): New test. diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c index fabf52d2648a..b0120a9d4dee 100644 --- a/gcc/tree-vect-loop-manip.c +++ b/gcc/tree-vect-loop-manip.c @@ -1057,6 +1057,15 @@ slpeel_tree_peel_loop_to_edge (struct loop *loop, if (!slpeel_can_duplicate_loop_p (loop, e)) return NULL; + /* We might have a queued need to update virtual SSA form. As we + delete the update SSA machinery below after doing a regular + incremental SSA update during loop copying make sure we don't + lose that fact. + ??? Needing to update virtual SSA form by renaming is unfortunate + but not all of the vectorizer code inserting new loads / stores + properly assigns virtual operands to those statements. */ + update_ssa (TODO_update_ssa_only_virtuals); + /* If the loop has a virtual PHI, but exit bb doesn't, create a virtual PHI in the exit bb and rename all the uses after the loop. This simplifies the *guard[12] routines, which assume loop closed SSA form for all PHIs