diff options
author | Richard Biener <rguenther@suse.de> | 2014-06-18 07:58:36 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-06-18 07:58:36 +0000 |
commit | 25b7069af201bcecc06fdc0b9a0fc455f5985c77 (patch) | |
tree | f05d3024998148eae0b1acf57f157ce6f955a2ca /gcc/tree-ssa-pre.c | |
parent | f791702956d022ee147a0f87534f4f3ebb74b572 (diff) | |
download | gcc-25b7069af201bcecc06fdc0b9a0fc455f5985c77.zip gcc-25b7069af201bcecc06fdc0b9a0fc455f5985c77.tar.gz gcc-25b7069af201bcecc06fdc0b9a0fc455f5985c77.tar.bz2 |
tree-ssa-propagate.c (replace_phi_args_in): Return whether we propagated anything.
2014-06-18 Richard Biener <rguenther@suse.de>
* tree-ssa-propagate.c (replace_phi_args_in): Return whether
we propagated anything.
(substitute_and_fold_dom_walker::before_dom_children): Something
changed if we propagated into PHI arguments.
* tree-ssa-pre.c (eliminate): Always schedule cfg-cleanup if
we removed a stmt.
From-SVN: r211770
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r-- | gcc/tree-ssa-pre.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index bca95dd..686f107 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -4521,11 +4521,7 @@ eliminate (bool do_pre) gsi = gsi_for_stmt (stmt); if (gimple_code (stmt) == GIMPLE_PHI) - { - remove_phi_node (&gsi, true); - /* Removing a PHI node in a block may expose a forwarder block. */ - el_todo |= TODO_cleanup_cfg; - } + remove_phi_node (&gsi, true); else { basic_block bb = gimple_bb (stmt); @@ -4534,6 +4530,9 @@ eliminate (bool do_pre) bitmap_set_bit (need_eh_cleanup, bb->index); release_defs (stmt); } + + /* Removing a stmt may expose a forwarder block. */ + el_todo |= TODO_cleanup_cfg; } el_to_remove.release (); |