[PATCH] D81358: [PowerPC] Implement probing for dynamic stack allocation

Kai Luo via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 7 21:20:54 PDT 2020


lkail created this revision.
lkail added reviewers: PowerPC, hfinkel, jonpa, serge-sans-paille, jsji, nemanjai, steven.zhang.
Herald added subscribers: llvm-commits, shchenz, kbarton, hiraditya.
Herald added a project: LLVM.
lkail added a parent revision: D81354: [PowerPC][NFC] Refactor lowerDynamicAlloc.
Herald added a subscriber: wuzish.
lkail updated this revision to Diff 269102.
lkail edited the summary of this revision.
lkail added a child revision: D81355: [PowerPC] Enable -fstack-clash-protection option for ppc64.

This patch is part of supporting `-fstack-clash-protection`. Mainly do such things compared to existing `lowerDynamicAlloc`

- Added a new pseudo instruction `PPC::PREPARE_PROBED_ALLOC` to get actual frame pointer and final stack pointer.
- Synthesize a loop to probe by blocks.
- Use `DYNAREAOFFSET` to get MaxCallFrameSize which is calculated in `prologepilog`.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D81358

Files:
  llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  llvm/lib/Target/PowerPC/PPCISelLowering.h
  llvm/lib/Target/PowerPC/PPCInstr64Bit.td
  llvm/lib/Target/PowerPC/PPCInstrInfo.td
  llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
  llvm/lib/Target/PowerPC/PPCRegisterInfo.h
  llvm/test/CodeGen/PowerPC/stack-clash-dynamic-alloca.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D81358.269102.patch
Type: text/x-patch
Size: 23013 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200608/a724105c/attachment.bin>


More information about the llvm-commits mailing list