diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2006-11-12 21:59:28 +0100 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2006-11-12 20:59:28 +0000 |
commit | 8f8bb1d2008496ba3856bc12f8b2cae12195c235 (patch) | |
tree | ef6efd848adb18c3716797fe42c38a08f297a155 /gcc/tree-cfg.c | |
parent | 4d2280f60db6ea2a50ac3890bb1fd5073d705863 (diff) | |
download | gcc-8f8bb1d2008496ba3856bc12f8b2cae12195c235.zip gcc-8f8bb1d2008496ba3856bc12f8b2cae12195c235.tar.gz gcc-8f8bb1d2008496ba3856bc12f8b2cae12195c235.tar.bz2 |
tree-flow.h (name_mappings_registered_p): Declare.
* tree-flow.h (name_mappings_registered_p): Declare.
* tree-into-ssa.c (name_mappings_registered_p): New function.
* tree-cfg.c (tree_can_merge_blocks_p): Check
name_mappings_registered_p instead of need_ssa_update_p.
From-SVN: r118732
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r-- | gcc/tree-cfg.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index ab5a234..7c397aaa8 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -1200,11 +1200,13 @@ tree_can_merge_blocks_p (basic_block a, basic_block b) return false; /* It must be possible to eliminate all phi nodes in B. If ssa form - is not up-to-date, we cannot eliminate any phis. */ + is not up-to-date, we cannot eliminate any phis; however, if only + some symbols as whole are marked for renaming, this is not a problem, + as phi nodes for those symbols are irrelevant in updating anyway. */ phi = phi_nodes (b); if (phi) { - if (need_ssa_update_p ()) + if (name_mappings_registered_p ()) return false; for (; phi; phi = PHI_CHAIN (phi)) @@ -1242,7 +1244,6 @@ replace_uses_by (tree name, tree val) edge e; unsigned i; - FOR_EACH_IMM_USE_STMT (stmt, imm_iter, name) { FOR_EACH_IMM_USE_ON_STMT (use, imm_iter) |