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

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 3 21:29:53 PDT 2024


efriedma-quic wrote:

Since nothing should be using preserve_none on aarch64 yet, it's probably fine to just fix forward.

> I'm not sure under what conditions issues present for this

We only allocate a base pointer under restricted circumstances (primarily, functions with dynamic allocation), so maybe GHC never tripped over the issues.

> It looks like X15 is clobbered so I don't think it will be usable on Windows. Do you think it should be excluded from argument passing only on Windows or always?

You probably could make this work if you really wanted to: you can allocate small amounts of stack without __chkstk, which you could then use to spill X15.  Not sure if that's the right tradeoff here.

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


More information about the cfe-commits mailing list