aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-06-18 07:58:36 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-06-18 07:58:36 +0000
commit25b7069af201bcecc06fdc0b9a0fc455f5985c77 (patch)
treef05d3024998148eae0b1acf57f157ce6f955a2ca /gcc/tree-ssa-pre.c
parentf791702956d022ee147a0f87534f4f3ebb74b572 (diff)
downloadgcc-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.c9
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 ();