From: Richard Biener Date: Thu, 21 Mar 2013 12:32:06 +0000 (+0000) Subject: tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Update virtual SSA form. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=141310ef523541959e048fe49e0b996374107b3b;p=gcc.git tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Update virtual SSA form. 2013-03-21 Richard Biener * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Update virtual SSA form. From-SVN: r196868 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 11230fb78b6..9bda6e1d650 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 fabf52d2648..b0120a9d4de 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