On 2/21/2014, 2:22 AM, Andrey Belevantsev wrote:
Hello,
While fixing PR 58960 I forgot about single-block regions placing the
initialization of the new nr_regions_initial variable in the wrong
place. Thus for single block regions we ended up with nr_regions = 1 and
nr_regions_initial = 0 and effectively turned off sched-pressure
immediately. No worries for the usual scheduling path but with the
-flive-range-shrinkage we have broke an assert that sched-pressure is in
the specific mode.
Fixed by placing the initialization properly at the end of
sched_rgn_init and also moving the check for sched_pressure != NONE
outside of the if statement in schedule_region as discussed in the PR
trail with Jakub.
Bootstrapped and tested on x86-64, ok?
Ok. Thanks, Andrey.
2014-02-21 Andrey Belevantsev <a...@ispras.ru>
PR rtl-optimization/60268
* sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial init
to ...
(sched_rgn_init) ... here.
(schedule_region): Check for SCHED_PRESSURE_NONE earlier.
testsuite/
2014-02-21 Andrey Belevantsev <a...@ispras.ru>
PR rtl-optimization/60268
* gcc.c-torture/compile/pr60268.c: New test.