summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-im.c
diff options
context:
space:
mode:
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-05 21:33:21 +0000
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-05 21:33:21 +0000
commit06598532957649d64a49b6661e34e2854b48c13f (patch)
treee51628740931c0a8c1eeb06f3739d49e38c6827c /gcc/tree-ssa-loop-im.c
parent77f96e418d623808fe27b7afc170d350afed54ec (diff)
downloadgcc-06598532957649d64a49b6661e34e2854b48c13f.tar.gz
* tree-ssa-loop-manip.c: New file.
* Makefile.in (tree-ssa-loop-manip.o): Add. * tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare. * tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa form. (tree_ssa_loop_done): Verify loop closed ssa form. * tree-ssa-loop-im.c (move_computations): Update loop closed ssa form. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85613 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-loop-im.c')
-rw-r--r--gcc/tree-ssa-loop-im.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index 589f42de65c..465442615cb 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -675,6 +675,13 @@ move_computations (void)
loop_commit_inserts ();
rewrite_into_ssa (false);
+ if (bitmap_first_set_bit (vars_to_rename) >= 0)
+ {
+ /* The rewrite of ssa names may cause violation of loop closed ssa
+ form invariants. TODO -- avoid these rewrites completely.
+ Information in virtual phi nodes is sufficient for it. */
+ rewrite_into_loop_closed_ssa ();
+ }
bitmap_clear (vars_to_rename);
}