[llvm] langref updates for aarch64 trampoline (PR #139740)

Eli Friedman via llvm-commits llvm-commits at lists.llvm.org
Wed May 14 16:01:35 PDT 2025


================
@@ -410,8 +410,9 @@ added in the future:
       calling convention: on most platforms, they are not preserved and need to
       be saved by the caller, but on Windows, xmm6-xmm15 are preserved.
 
-    - On AArch64 the callee preserve all general purpose registers, except X0-X8
-      and X16-X18.
+    - On AArch64 the callee preserve all general purpose registers, except
+      X0-X8 and X16-X18. Using this calling convention with nest is forbidden
+      and may crash llvm.
----------------
efriedma-quic wrote:

I assumed everyone was aware of LLVMContext::diagnose... I did mention it in the discussion (although not by name).

For documentation, that doesn't seem like it's quite the right section of the manual; it's describing generic "error handling", not the rules specific to LLVM passes.  We probably should have a description somewhere, though.

I think the reason diagnose() exits by default is so you don't accidentally forget to write a handler, and then continue processing bogus output. In practice, you almost always want one.

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


More information about the llvm-commits mailing list