re PR lto/78407 (LTO breaks separate overriding of symbol aliases)
PR lto/78407 * cfg.c (update_bb_profile_for_threading): Fix updating of probablity. From-SVN: r244749
This commit is contained in:
parent
509912a611
commit
a6a70dcad2
@ -1,3 +1,8 @@
|
|||||||
|
2017-01-21 Jan Hubicka <hubicka@ucw.cz>
|
||||||
|
|
||||||
|
PR lto/78407
|
||||||
|
* cfg.c (update_bb_profile_for_threading): Fix updating of probablity.
|
||||||
|
|
||||||
2017-01-21 Bernd Schmidt <bschmidt@redhat.com>
|
2017-01-21 Bernd Schmidt <bschmidt@redhat.com>
|
||||||
|
|
||||||
rtl-optimization/79125
|
rtl-optimization/79125
|
||||||
|
@ -869,6 +869,10 @@ update_bb_profile_for_threading (basic_block bb, int edge_frequency,
|
|||||||
bb->count = 0;
|
bb->count = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bb->frequency -= edge_frequency;
|
||||||
|
if (bb->frequency < 0)
|
||||||
|
bb->frequency = 0;
|
||||||
|
|
||||||
/* Compute the probability of TAKEN_EDGE being reached via threaded edge.
|
/* Compute the probability of TAKEN_EDGE being reached via threaded edge.
|
||||||
Watch for overflows. */
|
Watch for overflows. */
|
||||||
if (bb->frequency)
|
if (bb->frequency)
|
||||||
@ -882,15 +886,12 @@ update_bb_profile_for_threading (basic_block bb, int edge_frequency,
|
|||||||
"%i->%i too small (it is %i, should be %i).\n",
|
"%i->%i too small (it is %i, should be %i).\n",
|
||||||
taken_edge->src->index, taken_edge->dest->index,
|
taken_edge->src->index, taken_edge->dest->index,
|
||||||
taken_edge->probability, prob);
|
taken_edge->probability, prob);
|
||||||
prob = taken_edge->probability;
|
prob = taken_edge->probability * 6 / 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Now rescale the probabilities. */
|
/* Now rescale the probabilities. */
|
||||||
taken_edge->probability -= prob;
|
taken_edge->probability -= prob;
|
||||||
prob = REG_BR_PROB_BASE - prob;
|
prob = REG_BR_PROB_BASE - prob;
|
||||||
bb->frequency -= edge_frequency;
|
|
||||||
if (bb->frequency < 0)
|
|
||||||
bb->frequency = 0;
|
|
||||||
if (prob <= 0)
|
if (prob <= 0)
|
||||||
{
|
{
|
||||||
if (dump_file)
|
if (dump_file)
|
||||||
|
Loading…
Reference in New Issue
Block a user