predict.c (determine_unlikely_bbs): Handle correctly BBs which appears in the queue multiple times.
* predict.c (determine_unlikely_bbs): Handle correctly BBs which appears in the queue multiple times. From-SVN: r256648
This commit is contained in:
parent
39f309aca6
commit
f36180f4a4
@ -1,3 +1,8 @@
|
||||
2018-01-13 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* predict.c (determine_unlikely_bbs): Handle correctly BBs
|
||||
which appears in the queue multiple times.
|
||||
|
||||
2018-01-13 Richard Sandiford <richard.sandiford@linaro.org>
|
||||
Alan Hayward <alan.hayward@arm.com>
|
||||
David Sherwood <david.sherwood@arm.com>
|
||||
|
@ -3565,6 +3565,8 @@ determine_unlikely_bbs ()
|
||||
while (worklist.length () > 0)
|
||||
{
|
||||
bb = worklist.pop ();
|
||||
if (bb->count == profile_count::zero ())
|
||||
continue;
|
||||
if (bb != ENTRY_BLOCK_PTR_FOR_FN (cfun))
|
||||
{
|
||||
bool found = false;
|
||||
@ -3583,8 +3585,7 @@ determine_unlikely_bbs ()
|
||||
if (found)
|
||||
continue;
|
||||
}
|
||||
if (!(bb->count == profile_count::zero ())
|
||||
&& (dump_file && (dump_flags & TDF_DETAILS)))
|
||||
if (dump_file && (dump_flags & TDF_DETAILS))
|
||||
fprintf (dump_file,
|
||||
"Basic block %i is marked unlikely by backward prop\n",
|
||||
bb->index);
|
||||
@ -3594,6 +3595,7 @@ determine_unlikely_bbs ()
|
||||
{
|
||||
if (!(e->src->count == profile_count::zero ()))
|
||||
{
|
||||
gcc_checking_assert (nsuccs[e->src->index] > 0);
|
||||
nsuccs[e->src->index]--;
|
||||
if (!nsuccs[e->src->index])
|
||||
worklist.safe_push (e->src);
|
||||
|
Loading…
Reference in New Issue
Block a user