diff options
author | Robert Kennedy <jimbob@google.com> | 2007-01-04 01:20:08 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2007-01-04 01:20:08 +0000 |
commit | 611021e16c0a63e45a4f7024320cada712a93834 (patch) | |
tree | a137d66b8c77198e687f67e212348bdacf799edf /gcc/tree-cfg.c | |
parent | 11de78ffd10f606ee8b88a7234644bb82f63561e (diff) | |
download | gcc-611021e16c0a63e45a4f7024320cada712a93834.zip gcc-611021e16c0a63e45a4f7024320cada712a93834.tar.gz gcc-611021e16c0a63e45a4f7024320cada712a93834.tar.bz2 |
tree-cfg.c (tree_merge_blocks): Release SSA_NAME phi results whose definitions are deleted due to basic block...
* tree-cfg.c (tree_merge_blocks): Release SSA_NAME phi results
whose definitions are deleted due to basic block merging.
From-SVN: r120423
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r-- | gcc/tree-cfg.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index d956d2b..4358c7e 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -1,5 +1,5 @@ /* Control flow functions for trees. - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. Contributed by Diego Novillo <dnovillo@redhat.com> @@ -1329,11 +1329,13 @@ tree_merge_blocks (basic_block a, basic_block b) copy = build2_gimple (GIMPLE_MODIFY_STMT, def, use); bsi_insert_after (&bsi, copy, BSI_NEW_STMT); SSA_NAME_DEF_STMT (def) = copy; + remove_phi_node (phi, NULL, false); } else - replace_uses_by (def, use); - - remove_phi_node (phi, NULL, false); + { + replace_uses_by (def, use); + remove_phi_node (phi, NULL, true); + } } /* Ensure that B follows A. */ |