diff options
| author | tejohnson <tejohnson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-05-03 16:48:24 +0000 |
|---|---|---|
| committer | tejohnson <tejohnson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-05-03 16:48:24 +0000 |
| commit | df21e330c20ce81560071e4561691302df264796 (patch) | |
| tree | 89e12c60929c3e92a4552c8cf753f89bea5e4805 | |
| parent | 66c357ba8bb0313bb9f33572d978bb419a475df9 (diff) | |
| download | ppe42-gcc-df21e330c20ce81560071e4561691302df264796.tar.gz ppe42-gcc-df21e330c20ce81560071e4561691302df264796.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198584 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/sched-rgn.c | 6 |
2 files changed, 12 insertions, 0 deletions
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 <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 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); |

