[compiler-rt] [flang] [llvm] [AArch64] fix trampoline implementation: use X15 (PR #126743)

Eli Friedman via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 16 15:34:45 PDT 2025


================
@@ -523,6 +537,7 @@ 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
+  // - X15, the nest register and used by Windows for stack allocation
----------------
efriedma-quic wrote:

Right, the x15 thing isn't a fundamental limitation; it's just a bit complicated to generate the correct code, and the author of the preservenonecc code didn't want to try to implement it.

For the x9 thing, see #99434 .

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


More information about the llvm-commits mailing list