[PATCH] Fix PR 58960
Thu Jan 30 05:42:00 GMT 2014
As detailed in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58960#c6, we
fail to use the DF liveness info in the register pressure sensitive
scheduling for the new blocks as we do not properly compute it in this
case. The patch fixes this by avoiding to use the sched-pressure for the
new regions, as currently these are only ia64 recovery blocks and supposed
to be cold. In the case we'd get other cases of the new blocks, this may
be reconsidered. The other options of computing the DF info sketched at
the above link do not seem plausible for this stage.
Bootstrapped and tested on ia64, also tested by Andreas Schwab on ia64 (see
PR log). OK for trunk?
2013-01-30 Andrey Belevantsev <firstname.lastname@example.org>
* haifa-sched.c (alloc_global_sched_pressure_data): New, factored out from ...
(sched_init) ... here.
(free_global_sched_pressure_data): New, factored out from ...
(sched_finish): ... here.
* sched-int.h (free_global_sched_pressure_data): Declare.
* sched-rgn.c (nr_regions_initial): New static global.
(haifa_find_rgns): Initialize it.
(schedule_region): Disable sched-pressure for the newly generated regions.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 5078 bytes
Desc: not available
More information about the Gcc-patches