On 01/30/2014 12:42 AM, Andrey Belevantsev wrote: > Hello, > > 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? > >
The patch is ok. Andrey, thanks for working on the PR and sorry for the delay with the approval. > > 2013-01-30 Andrey Belevantsev <a...@ispras.ru> > > PR rtl-optimization/58960 > > * 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.