[clang] [llvm] [SystemZ] Add support for __builtin_setjmp and __builtin_longjmp (PR #116642)
Ulrich Weigand via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 6 01:50:10 PST 2024
================
@@ -374,10 +374,11 @@ overall functioning of this intrinsic is compatible with the GCC
to interoperate.
The single parameter is a pointer to a five word buffer in which the calling
-context is saved. The front end places the frame pointer in the first word, and
-the target implementation of this intrinsic should place the destination address
-for a `llvm.eh.sjlj.longjmp`_ in the second word. The following three words are
-available for use in a target-specific manner.
+context is saved. The format and contents of the buffer are target-specific.
+On certain targets, the front end places the frame pointer in the first word
+and the stack pointer in the third word, while the target implementation of
+this intrinsic fills in the remaining words. On other targets, saving the
+calling context to the buffer is left completely to the target implementation.
----------------
uweigand wrote:
Given @efriedma-quic 's comment, we should specify the targets here. Maybe change the first sentence to "On certain targets (ARM, PowerPC, VE, X86), ..." and the second sentence to "On other targets (SystemZ), ..."
https://github.com/llvm/llvm-project/pull/116642
More information about the cfe-commits
mailing list