From: Teresa Johnson Date: Fri, 3 May 2013 16:48:24 +0000 (+0000) Subject: re PR bootstrap/57154 (Bootstrap broken for powerpc64-unknown-linux-gnu) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=68f073d4df711a367346c0765bf2bee0358f9fea;p=gcc.git re PR bootstrap/57154 (Bootstrap broken for powerpc64-unknown-linux-gnu) 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. From-SVN: r198584 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e0ddef9f8ae..616db86615a 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 3f5b4ba178b..2c971e2a999 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);