[PATCH] D40863: [AArch64][Darwin] Implement stack probing for static and dynamic stack objects

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 5 14:59:00 PST 2017


aemerson created this revision.
Herald added subscribers: kristof.beyls, javed.absar, rengolin.

[AArch64][Darwin] Implement stack probing for static and dynamic stack objects.

This feature generates calls to a stack probing function on Darwin with a custom calling convention. The probe function uses some temp registers to probe the SP at 4k intervals. For static stack objects, we can emit the probe call in the function prolog. For dynamic objects like allocas, we create a call to the same function with a custom calling convention.


Repository:
  rL LLVM

https://reviews.llvm.org/D40863

Files:
  lib/Target/AArch64/AArch64CallingConvention.td
  lib/Target/AArch64/AArch64FrameLowering.cpp
  lib/Target/AArch64/AArch64FrameLowering.h
  lib/Target/AArch64/AArch64ISelLowering.cpp
  lib/Target/AArch64/AArch64ISelLowering.h
  lib/Target/AArch64/AArch64RegisterInfo.cpp
  lib/Target/AArch64/AArch64RegisterInfo.h
  test/CodeGen/AArch64/arm64-stack-probing.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40863.125624.patch
Type: text/x-patch
Size: 16289 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171205/60adbe90/attachment.bin>


More information about the llvm-commits mailing list