[PATCH] Account for prologue spills in reg_pressure scheduling

Maxim Kuvyrkov maxim.kuvyrkov@linaro.org
Mon Oct 20 22:27:00 GMT 2014


On Oct 21, 2014, at 10:39 AM, Ramana Radhakrishnan <ramana.gcc@googlemail.com> wrote:

> On Mon, Oct 20, 2014 at 10:17 PM, Richard Sandiford
> <rdsandiford@googlemail.com> wrote:
>> Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> writes:
>>> [Adding ARM maintainers to CC]
>>> 
>>> On Oct 21, 2014, at 9:44 AM, Sebastian Pop <sebpop@gmail.com> wrote:
>>> 
>>>> Hi Maxim,
>>>> 
>>>> Maxim Kuvyrkov wrote:
>>>>> Thanks, benchmarking results are welcome!  AArch64 doesn't use reg_pressure
>>>>> scheduling by default.  Use "-fsched-pressure
>>>>> --param=sched-pressure-algorithm=2" to enable same thing as on ARM.  I would
>>>>> imagine C++ and Fortran floating-point code to be most affected.
>>>> 
>>>> On aarch64 I only see perf improvements with your patch: no perf
>>>> degradations on
>>>> all the tests that I have run.
>>>> 
>>>> base0: r216447, -O3
>>>> base1: r216447, -O3 -fsched-pressure --param=sched-pressure-algorithm=2
>>>> patch: r216447 + your patch, -O3 -fsched-pressure
>>>> --param=sched-pressure-algorithm=2
>>>> 
>>>> patch vs. base1 is only an improvement.
>>>> 
>>>> base1 vs. base0 has a few good improvements, and some small degradations: your
>>>> patch improves the perf for one of the degradations to the point it is better
>>>> now with -fsched-pressure --param=sched-pressure-algorithm=2 than at -O3.
>>>> 
>>>> Could we turn on "-fsched-pressure --param=sched-pressure-algorithm=2" by
>>>> default for aarch64?
> 
> We already have sched-pressure --param=sched-pressure-algorithm=1 on
> by default in the AArch64 backend from September.
> https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01663.html went in a few
> days back.

Oh, good, I didn't notice AArch64 using sched-pressure because of weighted algorithm.  This patch affects both "weighted" and "model" algorithm, so it doesn't necessarily makes "model" algorithm better than "weighted".  That said, my personal preference is for both AArch32 and AArch64 to use "model" algorithm, but, as you said, we need benchmarking data to make that decision.

...
>  We can run this and let
> you know the results, though SPECFP2k6 takes quite a while - are all
> your patches to sched-pressure now done ?

Wait on benchmarking for 1-2 days.  The sched-pressure patches are done now, but there are more patches for the 2nd scheduler pass in the queue (from linaro-dev/sched-model-prefetch branch).  Hopefully those will be posted here today.

Thank you,

--
Maxim Kuvyrkov
www.linaro.org



More information about the Gcc-patches mailing list