[compiler-rt] [flang] [llvm] [AArch64] fix trampoline implementation: use X15 (PR #126743)
Jameson Nash via llvm-commits
llvm-commits at lists.llvm.org
Tue May 13 09:08:56 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
----------------
vtjnash wrote:
Alright, I updated the LangRef to note that nest is undefined behavior in the compiler when used with these calling conventions so that I could remove that part of the change. There doesn't really seem a good way to assert this and return it as a Verifier error, since LLVM I doesn't think it usually has that sort of intrinsic function usage checks in the Verifier?
This PR should be ready to land now (and the langref clarifications in #139740), since it should just be a bugfix for trampoline use, without any other ABI changes.
https://github.com/llvm/llvm-project/pull/126743
More information about the llvm-commits
mailing list