[PATCH] D114547: [AArch64] Async unwind - Adjust unwind info in AArch64LoadStoreOptimizer

Momchil Velikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 24 10:35:13 PST 2021


chill created this revision.
Herald added subscribers: hiraditya, kristof.beyls.
chill requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

The AArch64LoadStoreOptimnizer pass may merge a register
increment/decrement with a following memory operation. In doing so, it
may break CFI by moving a stack pointer adjustment past the CFI
instruction that described *that* adjustment.

This patch fixes this issue by moving said CFI instruction after the
merged instruction, where the SP increment/decrement actually takes
place.


https://reviews.llvm.org/D114547

Files:
  llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
  llvm/test/CodeGen/AArch64/arm64-fp128.ll
  llvm/test/CodeGen/AArch64/fcopysign.ll
  llvm/test/CodeGen/AArch64/swifttail-call.ll
  llvm/test/CodeGen/AArch64/tail-call.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D114547.389545.patch
Type: text/x-patch
Size: 4882 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211124/cb638f40/attachment.bin>


More information about the llvm-commits mailing list