diff options
author | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-05 21:33:21 +0000 |
---|---|---|
committer | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-05 21:33:21 +0000 |
commit | 06598532957649d64a49b6661e34e2854b48c13f (patch) | |
tree | e51628740931c0a8c1eeb06f3739d49e38c6827c /gcc/tree-ssa-loop-im.c | |
parent | 77f96e418d623808fe27b7afc170d350afed54ec (diff) | |
download | gcc-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.c | 7 |
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); } |