[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