[clang] [llvm] SystemZ: Add support for __builtin_setjmp and __builtin_longjmp. (PR #119257)

Ulrich Weigand via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 10 08:02:14 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 (ARM, PowerPC, VE, X86), 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 (SystemZ), saving the calling context to the buffer is left completely to the target implementation. 
----------------
uweigand wrote:

This line is very long, can you add a line break?

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


More information about the llvm-commits mailing list