aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/tree-ssa-pre.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6079965..2f37316 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-12-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/65337
+ * tree-ssa-pre.c (eliminate): Also clean up abnormal edges if need be.
+
2015-12-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/s390.c (s390_emit_prologue): Fix base reg condition.
@@ -77,8 +82,9 @@
2015-12-19 Jan Hubicka <hubicka@ucw.cz>
- PR middle-end/65337
+ PR tree-optimization/65337
* tree-ssa-dce.c (bb_postorder): New static var.
+ (mark_stmt_necessary): Add guard for setting bb_contains_live_stmts.
(forward_edge_to_pdom): Remove.
(remove_dead_stmt): Instead of redirecting edges only keep an edge
on a path to nearest live BB.
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 21a3a2b..928b00c 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -4499,6 +4499,8 @@ eliminate (bool do_pre)
unlink_stmt_vdef (stmt);
if (gsi_remove (&gsi, true))
bitmap_set_bit (need_eh_cleanup, bb->index);
+ if (is_gimple_call (stmt) && stmt_can_make_abnormal_goto (stmt))
+ bitmap_set_bit (need_ab_cleanup, bb->index);
release_defs (stmt);
}