aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop-manip.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-03-21 12:32:06 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-03-21 12:32:06 +0000
commit141310ef523541959e048fe49e0b996374107b3b (patch)
tree60f6471bf1713a247316187d263e33e59b0864bf /gcc/tree-vect-loop-manip.c
parent5022315aaa4345a69425c8e01a2ee81f0dcc454c (diff)
downloadgcc-141310ef523541959e048fe49e0b996374107b3b.zip
gcc-141310ef523541959e048fe49e0b996374107b3b.tar.gz
gcc-141310ef523541959e048fe49e0b996374107b3b.tar.bz2
tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Update virtual SSA form.
2013-03-21 Richard Biener <rguenther@suse.de> * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Update virtual SSA form. From-SVN: r196868
Diffstat (limited to 'gcc/tree-vect-loop-manip.c')
-rw-r--r--gcc/tree-vect-loop-manip.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
index fabf52d..b0120a9 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