diff options
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/tree-ssa-pre.c | 2 |
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); } |