This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR 58960


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  <abel@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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]