aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorZdenek Dvorak <rakdver@gcc.gnu.org>2006-02-14 23:55:22 +0000
committerZdenek Dvorak <rakdver@gcc.gnu.org>2006-02-14 23:55:22 +0000
commit43ec2467a85e470e356cd39441285a128b4febad (patch)
tree3c6b81a1f48e064bd66b687c972d0a714dd6b1b1 /gcc/tree-cfg.c
parent0499513f3b8f457a62baed6473d7b26ee81edcb8 (diff)
downloadgcc-43ec2467a85e470e356cd39441285a128b4febad.zip
gcc-43ec2467a85e470e356cd39441285a128b4febad.tar.gz
gcc-43ec2467a85e470e356cd39441285a128b4febad.tar.bz2
re PR tree-optimization/26209 (Specific code causes g++ 4.1.0 dominance ICE when compiled with -O3)
PR tree-optimization/26209 * tree-ssa-loop.c (pass_scev_cprop): Add TODO_cleanup_cfg. * tree-cfgcleanup.c (cleanup_control_flow): Remove dead eh edges. * tree-cfg.c (replace_uses_by): Do not alter cfg. From-SVN: r110999
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 0724c10..60dacbd 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -1347,10 +1347,7 @@ replace_uses_by (tree name, tree val)
if (TREE_CODE (rhs) == ADDR_EXPR)
recompute_tree_invariant_for_addr_expr (rhs);
- /* If the statement could throw and now cannot, we need to prune cfg. */
- if (maybe_clean_or_replace_eh_stmt (stmt, stmt))
- tree_purge_dead_eh_edges (bb_for_stmt (stmt));
-
+ maybe_clean_or_replace_eh_stmt (stmt, stmt);
mark_new_vars_to_rename (stmt);
}