This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Enable post-RA MI scheduler
ClosedPublic

Authored by ssijaric on Sep 9 2014, 2:34 PM.

Details

Summary

We saw improvements in spec2000/mesa (5%) and spec2000/crafty (3%) on cortex-a53 when compiled with -Ofast -mcpu=cortex-a53. The patch enables the post-RA MI scheduler for both cortex-a53 and cortex-a57, but I haven't done runs on cortex-a57. If compile time is an issue, perhaps we can enable this only for the in-order architectures (e.g. cortex-a53).

Thanks,
Sanjin

Diff Detail

Event Timeline

ssijaric updated this revision to Diff 13493.Sep 9 2014, 2:34 PM
ssijaric retitled this revision from to [AArch64] Enable post-RA MI scheduler.
ssijaric updated this object.
ssijaric edited the test plan for this revision. (Show Details)
ssijaric added a subscriber: Unknown Object (MLST).
mcrosier removed a subscriber: mcrosier.
Jiangning edited edge metadata.Sep 10 2014, 2:03 AM

Hi Sanji,

I measured Spec2000 for cortex-a57, and got the following results,

(negative is good)

spec.cpu2000.ref.175_vpr 1.63%
spec.cpu2000.ref.253_perlbmk 1.17%
spec.cpu2000.ref.300_twolf 1.48%

spec.cpu2000.ref.177_mesa -2.88%
spec.cpu2000.ref.183_equake -3.78%
spec.cpu2000.ref.188_ammp -1.49%
spec.cpu2000.ref.255_vortex -1.78%
spec.cpu2000.ref.256_bzip2 -1.17%

I think the result on A57 is OK, and at least no significant regression.

Thanks,
-Jiangning

2014-09-10 5:34 GMT+08:00 Sanjin Sijaric <ssijaric@codeaurora.org>:

Hi mcrosier, Jiangning, jmolloy, t.p.northover,

We saw improvements in spec2000/mesa (5%) and spec2000/crafty (3%) on
cortex-a53 when compiled with -Ofast -mcpu=cortex-a53. The patch enables
the post-RA MI scheduler for both cortex-a53 and cortex-a57, but I haven't
done runs on cortex-a57. If compile time is an issue, perhaps we can
enable this only for the in-order architectures (e.g. cortex-a53).

Thanks,
Sanjin

http://reviews.llvm.org/D5278

Files:

lib/Target/AArch64/AArch64Subtarget.h
lib/Target/AArch64/AArch64TargetMachine.cpp
test/CodeGen/AArch64/arm64-postra-mi-sched.ll
mcrosier edited edge metadata.Sep 10 2014, 6:07 AM
In D5278#7, @Jiangning wrote:

Hi Sanji,

I measured Spec2000 for cortex-a57, and got the following results,
I think the result on A57 is OK, and at least no significant regression.

Thanks,
-Jiangning

Jiangning,
Did the compile-times look okay?

Hi Jiangning,

Thanks for the A57 runs.

I ran compile time measurements when compiling spec2000 and spec2006. There was no overall degradation, but the compiles weren't done in a "stable" environment. There are similar variations when running two back-to-back compiles with the same configuration.

mcrosier accepted this revision.Sep 12 2014, 9:58 AM
mcrosier edited edge metadata.

Is anyone opposed to this being pushed. Jiangning confirmed the performance findings on A57. Internally, we saw good numbers on an A53 devices. No serious compile time regressions were reported. I'd like to get this in before our weekend performance run, so please let me know.

Chad

test/CodeGen/AArch64/arm64-postra-mi-sched.ll
1

I'll update the -march to use aarch64 before pushing.

This revision is now accepted and ready to land.Sep 12 2014, 9:58 AM
atrick accepted this revision.Sep 12 2014, 10:00 AM
atrick edited edge metadata.

Awesome. Thanks for doing this.

rengolin accepted this revision.Sep 12 2014, 10:26 AM
rengolin added a reviewer: rengolin.
rengolin added a subscriber: rengolin.

Hi Chad,

I also saw no regressions on A57 and some improvements. LGTM.

cheers,
--renato

mcrosier closed this revision.Sep 12 2014, 10:51 AM

Committed in r217693. Thanks, everyone.