diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-eh.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a8c6be1..62b1c3b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2017-02-05 Jan Hubicka <hubicka@ucw.cz> + * tree-eh.c (lower_resx): Sanitize profile. + (cleanup_empty_eh_move_lp): Likewise. + +2017-02-05 Jan Hubicka <hubicka@ucw.cz> + PR tree-ssa/79347 * cfgloopmanip.c (lv_adjust_loop_entry_edge, loop_version): Add ELSE_PROB. diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c index 45e6b9e4..42fe9df 100644 --- a/gcc/tree-eh.c +++ b/gcc/tree-eh.c @@ -3248,6 +3248,8 @@ lower_resx (basic_block bb, gresx *stmt, e = single_succ_edge (bb); gcc_assert (e->flags & EDGE_EH); e->flags = (e->flags & ~EDGE_EH) | EDGE_FALLTHRU; + e->probability = REG_BR_PROB_BASE; + e->count = bb->count; /* If there are no more EH users of the landing pad, delete it. */ FOR_EACH_EDGE (e, ei, e->dest->preds) @@ -4268,6 +4270,7 @@ cleanup_empty_eh_move_lp (basic_block bb, edge e_out, /* Clean up E_OUT for the fallthru. */ e_out->flags = (e_out->flags & ~EDGE_EH) | EDGE_FALLTHRU; e_out->probability = REG_BR_PROB_BASE; + e_out->count = e_out->src->count; } /* A subroutine of cleanup_empty_eh. Handle more complex cases of |