From: tejohnson Date: Fri, 3 May 2013 16:48:24 +0000 (+0000) Subject: 2013-05-03 Teresa Johnson X-Git-Tag: upstream/4.9.2~6251 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=df21e330c20ce81560071e4561691302df264796;p=platform%2Fupstream%2Flinaro-gcc.git 2013-05-03 Teresa Johnson PR bootstrap/57154 * sched-rgn.c (compute_dom_prob_ps): Ensure accumulated probabilities do not exceed REG_BR_PROB_BASE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198584 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e0ddef9..616db86 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-05-03 Teresa Johnson + + PR bootstrap/57154 + * sched-rgn.c (compute_dom_prob_ps): Ensure accumulated probabilities + do not exceed REG_BR_PROB_BASE. + 2013-05-03 Jeff Law PR tree-optimization/57144 diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c index 3f5b4ba1..2c971e2 100644 --- a/gcc/sched-rgn.c +++ b/gcc/sched-rgn.c @@ -1442,6 +1442,12 @@ compute_dom_prob_ps (int bb) bitmap_set_bit (pot_split[bb], EDGE_TO_BIT (out_edge)); prob[bb] += combine_probabilities (prob[pred_bb], in_edge->probability); + // The rounding divide in combine_probabilities can result in an extra + // probability increment propagating along 50-50 edges. Eventually when + // the edges re-merge, the accumulated probability can go slightly above + // REG_BR_PROB_BASE. + if (prob[bb] > REG_BR_PROB_BASE) + prob[bb] = REG_BR_PROB_BASE; } bitmap_set_bit (dom[bb], bb);