[PATCH] D111631: [AArch64][SVE] Fix handling of stack protection with SVE

John Brawn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 12 04:39:18 PDT 2021


john.brawn created this revision.
john.brawn added reviewers: sdesmalen, aemerson, t.p.northover, bsmith.
Herald added subscribers: ctetreau, psnobl, hiraditya, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
john.brawn requested review of this revision.
Herald added a project: LLVM.

Fix a couple of things that were causing stack protection to not work correctly in functions that have scalable vectors on the stack:

- Fix an assertion failure in the StackProtector pass caused by trying to call getTypeAllocSize on a scalable vector.
- When stack protection is enabled adjust the stack layout so that SVE locals are below the stack guard variable, so that any overflow in them will be detected.

Fixes PR51795.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D111631

Files:
  llvm/lib/CodeGen/StackProtector.cpp
  llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
  llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
  llvm/test/CodeGen/AArch64/stack-guard-sve.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111631.378967.patch
Type: text/x-patch
Size: 11895 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211012/51a89d5b/attachment.bin>


More information about the llvm-commits mailing list