[PATCH] D126809: [ARM64EC 8/?] Implement ARM64EC "thunk" calling conventions
chenglin.bi via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 6 23:21:05 PDT 2022
bcl5980 added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64CallingConvention.td:209
+let Entry = 1 in
+def CC_AArch64_Arm64EC_Thunk : CallingConv<[
+ // Byval aggregates are passed by pointer
----------------
efriedma wrote:
> bcl5980 wrote:
> > Do we need to add CSR for the callingconv also in this change?
> > `D6`, `D7` should be non-volatile on x64.
> CSRs are listed elsewhere... but yes, we do need to mess with AArch64RegisterInfo::getCalleeSavedRegs to make entry thunks correctly save the registers.
If we consider entry thunk, we need to save q6-q15 instead of d8-d15. Even through MS still hasn't documented the unwind code `save_qregp`, we may need to add (sequence "Q%u", 6, 15) into something like CSR_AArch64_Arm64EC_Thunk.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D126809/new/
https://reviews.llvm.org/D126809
More information about the llvm-commits
mailing list