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.

Reply via email to