diff options
author | Richard Biener <rguenther@suse.de> | 2013-03-21 12:32:06 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2013-03-21 12:32:06 +0000 |
commit | 141310ef523541959e048fe49e0b996374107b3b (patch) | |
tree | 60f6471bf1713a247316187d263e33e59b0864bf /gcc/tree-vect-loop-manip.c | |
parent | 5022315aaa4345a69425c8e01a2ee81f0dcc454c (diff) | |
download | gcc-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.c | 9 |
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 |