Commit e631038f by Teresa Johnson Committed by Teresa Johnson

re PR bootstrap/63432 (profiledbootstrap failure with bootstrap-lto)

2014-10-15  Teresa Johnson  <tejohnson@google.com>

	PR bootstrap/63432
	* tree-ssa-threadupdate.c (recompute_probabilities): Better
	overflow checking.

From-SVN: r216269
parent bb8c2886
2014-10-15 Teresa Johnson <tejohnson@google.com>
PR bootstrap/63432
* tree-ssa-threadupdate.c (recompute_probabilities): Better
overflow checking.
2014-10-15 Renlin Li <renlin.li@arm.com> 2014-10-15 Renlin Li <renlin.li@arm.com>
* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
...@@ -871,21 +871,23 @@ recompute_probabilities (basic_block bb) ...@@ -871,21 +871,23 @@ recompute_probabilities (basic_block bb)
edge_iterator ei; edge_iterator ei;
FOR_EACH_EDGE (esucc, ei, bb->succs) FOR_EACH_EDGE (esucc, ei, bb->succs)
{ {
if (bb->count) if (!bb->count)
continue;
/* Prevent overflow computation due to insane profiles. */
if (esucc->count < bb->count)
esucc->probability = GCOV_COMPUTE_SCALE (esucc->count, esucc->probability = GCOV_COMPUTE_SCALE (esucc->count,
bb->count); bb->count);
if (esucc->probability > REG_BR_PROB_BASE) else
{ /* Can happen with missing/guessed probabilities, since we
/* Can happen with missing/guessed probabilities, since we may determine that more is flowing along duplicated
may determine that more is flowing along duplicated path than joiner succ probabilities allowed.
path than joiner succ probabilities allowed. Counts and freqs will be insane after jump threading,
Counts and freqs will be insane after jump threading, at least make sure probability is sane or we will
at least make sure probability is sane or we will get a flow verification error.
get a flow verification error. Not much we can do to make counts/freqs sane without
Not much we can do to make counts/freqs sane without redoing the profile estimation. */
redoing the profile estimation. */ esucc->probability = REG_BR_PROB_BASE;
esucc->probability = REG_BR_PROB_BASE;
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment