[PATCH] D126809: [ARM64EC 8/?] Implement ARM64EC "thunk" calling conventions

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 1 23:56:54 PDT 2022


mstorsjo added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64CallingConvention.td:263
+  // convention requires "this" to be passed in RCX.
+  // FIXME: Do we need a ARM64EC_Thunk_thiscall convention?
+  // CCIfCC<"CallingConv::X86_ThisCall",
----------------
efriedma wrote:
> dpaoliello wrote:
> > I'll get some clarification on this...
> I copy-pasted the X86_ThisCall thing from the x86 code.  It might be a red herring, though; I just looked at this in clang, and it looks like clang doesn't actually use the X86_ThisCall on x64 Windows, so this doesn't actually do anything, even in the original?  I'm sort of confused how it ended up that way.  Maybe can just delete it, though.
> 
> I probably do need some handling for C++ methods, though, which I haven't implemented yet.  (In particular, I need to ensure we emit the arguments for exit thunks for C++ methods in the correct order.)
`thiscall` (similarly to `stdcall`, `fastcall` and `vectorcall`) are all no-ops on x86_64, they're only a thing on x86_32 windows.


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