re PR rtl-optimization/60268 (ICE: in rank_for_schedule, at haifa-sched.c:2557)

gcc/

2014-02-24  Andrey Belevantsev  <abel@ispras.ru>

    PR rtl-optimization/60268
    * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
    initialization to ...
    (sched_rgn_init): ... here.
    (schedule_region): Check for SCHED_PRESSURE_NONE earlier.

testsuite/

2014-02-24  Andrey Belevantsev  <abel@ispras.ru>

    PR rtl-optimization/60268
    * gcc.c-torture/compile/pr60268.c: New test.

From-SVN: r208066
This commit is contained in:
Andrey Belevantsev 2014-02-24 09:57:02 +04:00
parent 467d193f93
commit 9039622a9d
4 changed files with 26 additions and 6 deletions
gcc
ChangeLogsched-rgn.c
testsuite
ChangeLog
gcc.c-torture/compile

@ -1,6 +1,15 @@
2014-02-24 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/60268
* sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
initialization to ...
(sched_rgn_init): ... here.
(schedule_region): Check for SCHED_PRESSURE_NONE earlier.
2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
* config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg names
* config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
names.
2014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>

@ -1067,7 +1067,6 @@ haifa_find_rgns (void)
BLOCK_TO_BB (bb->index) = 0;
}
nr_regions_initial = nr_regions;
free (max_hdr);
free (degree);
free (stack);
@ -2997,10 +2996,10 @@ schedule_region (int rgn)
/* Do not support register pressure sensitive scheduling for the new regions
as we don't update the liveness info for them. */
if (rgn >= nr_regions_initial)
if (sched_pressure != SCHED_PRESSURE_NONE
&& rgn >= nr_regions_initial)
{
if (sched_pressure != SCHED_PRESSURE_NONE)
free_global_sched_pressure_data ();
free_global_sched_pressure_data ();
sched_pressure = SCHED_PRESSURE_NONE;
}
@ -3166,6 +3165,7 @@ sched_rgn_init (bool single_blocks_p)
RGN_BLOCKS (nr_regions) = (RGN_BLOCKS (nr_regions - 1) +
RGN_NR_BLOCKS (nr_regions - 1));
nr_regions_initial = nr_regions;
}
/* Free data structures for region scheduling. */

@ -1,6 +1,11 @@
2014-02-24 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/60268
* gcc.c-torture/compile/pr60268.c: New test.
2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
* gcc/testsuite/gcc.target/microblaze/others/mem_reload.c: New test.
* gcc.target/microblaze/others/mem_reload.c: New test.
2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>

@ -0,0 +1,6 @@
/* { dg-options "-flive-range-shrinkage" } */
void f()
{
int i = 0;
void *p = 0;
}