aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-im.c
diff options
context:
space:
mode:
authorZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>2004-08-05 23:33:21 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2004-08-05 21:33:21 +0000
commitc913f08ae707e5d307d605db5f99035099c657af (patch)
treee51628740931c0a8c1eeb06f3739d49e38c6827c /gcc/tree-ssa-loop-im.c
parent48a8c56547c5651a58c1e612444db7c7f51a6a3c (diff)
downloadgcc-c913f08ae707e5d307d605db5f99035099c657af.zip
gcc-c913f08ae707e5d307d605db5f99035099c657af.tar.gz
gcc-c913f08ae707e5d307d605db5f99035099c657af.tar.bz2
tree-ssa-loop-manip.c: New file.
* 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. From-SVN: r85613
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 589f42d..4654426 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);
}