This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Account for prologue spills in reg_pressure scheduling
- From: Maxim Kuvyrkov <maxim dot kuvyrkov at linaro dot org>
- To: ramrad01 at arm dot com
- Cc: Sebastian Pop <sebpop at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Vladimir Makarov <vmakarov at redhat dot com>, Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>, Marcus Shawcroft <marcus dot shawcroft at arm dot com>, Richard Earnshaw <rearnsha at arm dot com>, Richard Sandiford <rdsandiford at googlemail dot com>
- Date: Tue, 21 Oct 2014 11:12:59 +1300
- Subject: Re: [PATCH] Account for prologue spills in reg_pressure scheduling
- Authentication-results: sourceware.org; auth=none
- References: <FE7CEF4D-A27B-46D0-96B3-3569C1558DF9 at linaro dot org> <20141020191105 dot GB30024 at f1 dot c dot bardezibar dot internal> <ED2138EC-B4EA-4BBA-AC29-5B5A3B628A9F at linaro dot org> <20141020204417 dot GA7213 at f1 dot c dot bardezibar dot internal> <183D9AE9-ADFE-4E20-A8FF-B323A631FCC4 at linaro dot org> <87wq7u30g6 dot fsf at googlemail dot com> <CAJA7tRZBnYVtN+itDhsFkw8fpWngKiXEuWj7adfrxRwNg=5TUA at mail dot gmail dot com>
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