aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTeresa Johnson <tejohnson@google.com>2013-05-03 16:48:24 +0000
committerTeresa Johnson <tejohnson@gcc.gnu.org>2013-05-03 16:48:24 +0000
commit68f073d4df711a367346c0765bf2bee0358f9fea (patch)
tree89e12c60929c3e92a4552c8cf753f89bea5e4805 /gcc
parentade67f70072586cc520001098112e7148e80f0f9 (diff)
downloadgcc-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')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/sched-rgn.c6
2 files changed, 12 insertions, 0 deletions
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 <tejohnson@google.com>
+
+ 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 <law@redhat.com>
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);