]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2013-03-21 Richard Biener <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Mar 2013 12:32:06 +0000 (12:32 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Mar 2013 12:32:06 +0000 (12:32 +0000)
* 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

gcc/ChangeLog
gcc/tree-vect-loop-manip.c

index 11230fb78b64296d80f07dc474cf906ad8344611..9bda6e1d650695d293322fe2c926f496a04640d9 100644 (file)
@@ -1,3 +1,8 @@
+2013-03-21  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge):
+       Update virtual SSA form.
+
 2013-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * configure.ac (gcc_cv_ld_eh_frame_ciev3): New test.
index fabf52d2648a86d6cb1f5b017889b7b7dc136351..b0120a9d4dee14ea97241eebc6f89b1b4c08bff5 100644 (file)
@@ -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