diff options
author | Richard Biener <rguenther@suse.de> | 2013-04-09 10:48:59 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2013-04-09 10:48:59 +0000 |
commit | 3d741091eef9e0d94e4773371542f5a3a6a00cbb (patch) | |
tree | 8cf2f31b8673f171174f19ae2e428276959943e2 /gcc/tree-ssa-loop-manip.c | |
parent | 39307ba788ba09db3d35eb8d920085bb9aebbece (diff) | |
download | gcc-3d741091eef9e0d94e4773371542f5a3a6a00cbb.tar.gz |
expr.c (build_java_binop): Pass a type to build_int_cst.
2013-04-09 Richard Biener <rguenther@suse.de>
java/
* expr.c (build_java_binop): Pass a type to build_int_cst.
* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): Avoid
work that is not necessary.
From-SVN: r197626
Diffstat (limited to 'gcc/tree-ssa-loop-manip.c')
-rw-r--r-- | gcc/tree-ssa-loop-manip.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/gcc/tree-ssa-loop-manip.c b/gcc/tree-ssa-loop-manip.c index a0516c45c4a..7101f30d4e6 100644 --- a/gcc/tree-ssa-loop-manip.c +++ b/gcc/tree-ssa-loop-manip.c @@ -489,7 +489,6 @@ find_uses_to_rename (bitmap changed_bbs, bitmap *use_blocks, bitmap need_phis) void rewrite_into_loop_closed_ssa (bitmap changed_bbs, unsigned update_flag) { - bitmap *loop_exits; bitmap *use_blocks; bitmap names_to_rename; @@ -505,11 +504,6 @@ rewrite_into_loop_closed_ssa (bitmap changed_bbs, unsigned update_flag) names_to_rename = BITMAP_ALLOC (&loop_renamer_obstack); - /* An array of bitmaps where LOOP_EXITS[I] is the set of basic blocks - that are the destination of an edge exiting loop number I. */ - loop_exits = XNEWVEC (bitmap, number_of_loops ()); - get_loops_exits (loop_exits); - /* Uses of names to rename. We don't have to initialize this array, because we know that we will only have entries for the SSA names in NAMES_TO_RENAME. */ @@ -518,17 +512,26 @@ rewrite_into_loop_closed_ssa (bitmap changed_bbs, unsigned update_flag) /* Find the uses outside loops. */ find_uses_to_rename (changed_bbs, use_blocks, names_to_rename); - /* Add the PHI nodes on exits of the loops for the names we need to - rewrite. */ - add_exit_phis (names_to_rename, use_blocks, loop_exits); + if (!bitmap_empty_p (names_to_rename)) + { + /* An array of bitmaps where LOOP_EXITS[I] is the set of basic blocks + that are the destination of an edge exiting loop number I. */ + bitmap *loop_exits = XNEWVEC (bitmap, number_of_loops ()); + get_loops_exits (loop_exits); + + /* Add the PHI nodes on exits of the loops for the names we need to + rewrite. */ + add_exit_phis (names_to_rename, use_blocks, loop_exits); + + free (loop_exits); + + /* Fix up all the names found to be used outside their original + loops. */ + update_ssa (TODO_update_ssa); + } bitmap_obstack_release (&loop_renamer_obstack); free (use_blocks); - free (loop_exits); - - /* Fix up all the names found to be used outside their original - loops. */ - update_ssa (TODO_update_ssa); } /* Check invariants of the loop closed ssa form for the USE in BB. */ |