diff options
author | Teresa Johnson <tejohnson@google.com> | 2013-05-03 16:48:24 +0000 |
---|---|---|
committer | Teresa Johnson <tejohnson@gcc.gnu.org> | 2013-05-03 16:48:24 +0000 |
commit | 68f073d4df711a367346c0765bf2bee0358f9fea (patch) | |
tree | 89e12c60929c3e92a4552c8cf753f89bea5e4805 /gcc/sched-rgn.c | |
parent | ade67f70072586cc520001098112e7148e80f0f9 (diff) | |
download | gcc-68f073d4df711a367346c0765bf2bee0358f9fea.zip gcc-68f073d4df711a367346c0765bf2bee0358f9fea.tar.gz gcc-68f073d4df711a367346c0765bf2bee0358f9fea.tar.bz2 |
re PR bootstrap/57154 (Bootstrap broken for powerpc64-unknown-linux-gnu)
2013-05-03 Teresa Johnson <tejohnson@google.com>
PR bootstrap/57154
* sched-rgn.c (compute_dom_prob_ps): Ensure accumulated probabilities
do not exceed REG_BR_PROB_BASE.
From-SVN: r198584
Diffstat (limited to 'gcc/sched-rgn.c')
-rw-r--r-- | gcc/sched-rgn.c | 6 |
1 files changed, 6 insertions, 0 deletions
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); |