Message ID | 20130503162358.AFD3F80BD0@tjsboxrox.mtv.corp.google.com |
---|---|
State | New |
Headers | show |
On 05/03/2013 10:23 AM, Teresa Johnson wrote: > This patch fixes PR bootstrap/57154. > > Bootstrapped on powerpc64-linux to ensure it fixes the bootstrap problem reported > for that architecture, and also the test case attached to the bug report. > Also bootstrapped and regtested on x86_64-unknown-linux-gnu. > > Ok for trunk? > > Thanks, > Teresa > > 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. This is fine as it's the standard way to clamp probabilities. jeff
Index: sched-rgn.c =================================================================== --- sched-rgn.c (revision 198532) +++ sched-rgn.c (working copy) @@ -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);