[PATCH] D95179: [AArch64] Do not fold SP adjustments into pre-increment addr modes with noredzone.

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 21 14:58:50 PST 2021


aemerson created this revision.
aemerson added reviewers: ab, eli.friedman, t.p.northover.
aemerson added a project: LLVM.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
aemerson requested review of this revision.

Instead of outright disabling this completely with the noredzone attribute, we only avoid doing the optimization if there are memory operations between the adjustment and the load/store that the adjustment would be folded into. This avoids the case of something like a stack cookie being corrupted if an exception happens before the pre-increment to the SP occurs.

rdar://73269336


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D95179

Files:
  llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
  llvm/test/CodeGen/AArch64/ldst-nopreidx-sp-redzone.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95179.318325.patch
Type: text/x-patch
Size: 15453 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210121/b6c78c33/attachment.bin>


More information about the llvm-commits mailing list