From 68f073d4df711a367346c0765bf2bee0358f9fea Mon Sep 17 00:00:00 2001 From: Teresa Johnson Date: Fri, 3 May 2013 16:48:24 +0000 Subject: 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 --- gcc/ChangeLog | 6 ++++++ gcc/sched-rgn.c | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'gcc') 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 + + 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 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); -- cgit v1.1