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] Account for prologue spills in reg_pressure scheduling


Maxim Kuvyrkov wrote:
> [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?
> 
> These are great results, yay!  Sebastian, what benchmarks did you run?

I have run Geekbench and some other benchmarks.

> We need to see improvements on spec2k / spec2k6 to enable register-pressure
> scheduling on AArch64 by default.  The current understanding is that AArch64

I don't have the data for spec2k / spec2k6.

> has enough registers to not benefit from pressure-aware scheduling.  On the
> other hand, one could argue that cores with more complex pipelines (e.g., A57)
> might not benefit from pipeline-oriented scheduling either, and, therefore,
> scheduling for register pressure can provide a better win.

I have seen the improvements on A57.

Sebastian


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