[PATCH] D41737: [PowerPC] Try to move the stack pointer update instruction later in the prologue and earlier in the epilogue

Stefan Pintilie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 4 12:10:20 PST 2018


stefanp created this revision.
stefanp added reviewers: kbarton, nemanjai, inouehrs, sfertile, lei, syzaara, jtony, hfinkel, echristo.
Herald added a subscriber: qcolombet.

This should provide a small performance boost in functions that are able to do this. 
I've kept this change rather conservative at the moment and functions with frame pointers or base pointers will not try to move the stack pointer update.

Performance numbers on Power 8 for SPEC 2006
429.mcf - 1.5 % improvement
462.libquantum - 1.0 % improvement
464.h264ref - 3.0 % improvement 
471.omnetpp - 1.0 % improvement 
453.povray - 1.5 % improvement

All other benchmarks changed less than 0.2 % which I consider as "no change". 
I have found no degradations in SPEC2006.


https://reviews.llvm.org/D41737

Files:
  lib/Target/PowerPC/PPCFrameLowering.cpp
  test/CodeGen/PowerPC/MCSE-caller-preserved-reg.ll
  test/CodeGen/PowerPC/ppc-redzone-alignment-bug.ll
  test/CodeGen/PowerPC/ppc-shrink-wrapping.ll
  test/CodeGen/PowerPC/tls_get_addr_clobbers.ll
  test/CodeGen/PowerPC/vsxD-Form-spills.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41737.128635.patch
Type: text/x-patch
Size: 12278 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180104/9b7addc1/attachment.bin>


More information about the llvm-commits mailing list