aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-eh.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2017-02-05 19:13:22 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2017-02-05 18:13:22 +0000
commit7c67be6dd30e840f48cc917d214c824abbe8d306 (patch)
treed262795bc543001a21313bdc29f3f75fa5124a8b /gcc/tree-eh.c
parent5d3ebb71cbf9c6ed0ce04230a387485fa57e71ed (diff)
downloadgcc-7c67be6dd30e840f48cc917d214c824abbe8d306.zip
gcc-7c67be6dd30e840f48cc917d214c824abbe8d306.tar.gz
gcc-7c67be6dd30e840f48cc917d214c824abbe8d306.tar.bz2
tree-eh.c (lower_resx): Sanitize profile.
* tree-eh.c (lower_resx): Sanitize profile. (cleanup_empty_eh_move_lp): Likewise. From-SVN: r245197
Diffstat (limited to 'gcc/tree-eh.c')
-rw-r--r--gcc/tree-eh.c3
1 files changed, 3 insertions, 0 deletions
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