From 245ef1609299d7c4975e8cbd9e50586474c86aff Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Sat, 29 Sep 2012 14:33:19 +0200 Subject: [PATCH] * tree-call-cdce.c (shrink_wrap_one_built_in_call): Update profile. From-SVN: r191852 --- gcc/ChangeLog | 4 ++++ gcc/tree-call-cdce.c | 13 +++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1845cfc21b1..58c772fa03e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2012-09-28 Jan Hubicka + + * tree-call-cdce.c (shrink_wrap_one_built_in_call): Update profile. + 2012-09-28 Jan Hubicka * function.c (dup_block_and_redirect): Update profile. diff --git a/gcc/tree-call-cdce.c b/gcc/tree-call-cdce.c index c879548483b..2a3fd873b59 100644 --- a/gcc/tree-call-cdce.c +++ b/gcc/tree-call-cdce.c @@ -773,8 +773,13 @@ shrink_wrap_one_built_in_call (gimple bi_call) EDGE_FALSE_VALUE); bi_call_in_edge0->probability = REG_BR_PROB_BASE * ERR_PROB; + bi_call_in_edge0->count = + apply_probability (guard_bb0->count, + bi_call_in_edge0->probability); join_tgt_in_edge_fall_thru->probability = - REG_BR_PROB_BASE - bi_call_in_edge0->probability; + inverse_probability (bi_call_in_edge0->probability); + join_tgt_in_edge_fall_thru->count = + guard_bb0->count - bi_call_in_edge0->count; /* Code generation for the rest of the conditions */ guard_bb = guard_bb0; @@ -804,8 +809,12 @@ shrink_wrap_one_built_in_call (gimple bi_call) bi_call_in_edge = make_edge (guard_bb, bi_call_bb, EDGE_TRUE_VALUE); bi_call_in_edge->probability = REG_BR_PROB_BASE * ERR_PROB; + bi_call_in_edge->count = + apply_probability (guard_bb->count, + bi_call_in_edge->probability); guard_bb_in_edge->probability = - REG_BR_PROB_BASE - bi_call_in_edge->probability; + inverse_probability (bi_call_in_edge->probability); + guard_bb_in_edge->count = guard_bb->count - bi_call_in_edge->count; } VEC_free (gimple, heap, conds);