[PATCH] D112328: [AArch64] Async unwind - Always place the first LDP at the end when ReverseCSRRestoreSeq is true
Momchil Velikov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 22 09:21:43 PDT 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.
This patch is in preparation for the async unwind CFI.
Put the first `LDP` the end, so that the load-store optimizer can run
and merge the `LDP` and the `ADD` into a post-index `LDP`.
Do this always and as early as at the time of the initial creation of
the CSR restore instructions, even if that `LDP` is not guaranteed to
be mergeable with a subsequent `SP` increment.
This greatly simplifies the CFI generation for prologue, as otherwise
we have to take extra steps to ensure reordering does not cross CFI
instructions.
https://reviews.llvm.org/D112328
Files:
llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D112328.381578.patch
Type: text/x-patch
Size: 8825 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211022/59c3570e/attachment.bin>
More information about the llvm-commits
mailing list