[PATCH] D76570: [AArch64] Homogeneous Prolog and Epilog for Size Optimization

Kyungwoo Lee via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 5 10:56:58 PDT 2020


kyulee updated this revision to Diff 296231.
kyulee added a comment.

This rewrites the helper functions:

- One SP Adjustment to reduce micro-opts for the better perf.
- Align Linux/Darwin implementation in the same way . X29/X30 is stored at the call-site and that stack space is skipped in the prolog helper.
- Add some comments and expand the enabling check.

I'm not sure how we want to enable this via the clang flag `-moutline` .
I think the initial approach is a bit conservative so that this change is kicked in only when `-moutline` AND minsize opts are applied. Let me know about this.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76570/new/

https://reviews.llvm.org/D76570

Files:
  llvm/lib/Target/AArch64/AArch64.h
  llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
  llvm/lib/Target/AArch64/AArch64FrameLowering.h
  llvm/lib/Target/AArch64/AArch64InstrInfo.td
  llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
  llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
  llvm/lib/Target/AArch64/CMakeLists.txt
  llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-bad-outline.mir
  llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-frame-tail.ll
  llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-no-helper.ll
  llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76570.296231.patch
Type: text/x-patch
Size: 44812 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201005/d71b5132/attachment.bin>


More information about the llvm-commits mailing list