[clang] [llvm] [AArch64] Support preserve_none calling convention (PR #91046)

Daniel Kiss via cfe-commits cfe-commits at lists.llvm.org
Fri May 31 01:15:23 PDT 2024


================
@@ -494,6 +494,32 @@ def CC_AArch64_GHC : CallingConv<[
   CCIfType<[i64], CCAssignToReg<[X19, X20, X21, X22, X23, X24, X25, X26, X27, X28]>>
 ]>;
 
+let Entry = 1 in
+def CC_AArch64_Preserve_None : CallingConv<[
+    // We can pass arguments in all general registers, except:
+    // - X8, used for sret
+    // - X16/X17, used by the linker as IP0/IP1
+    // - X18, used for the 'nest' parameter
----------------
DanielKristofKiss wrote:

X18 is the `Platform Register`

https://github.com/llvm/llvm-project/pull/91046


More information about the cfe-commits mailing list