diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-05-26 20:22:18 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-05-26 20:22:18 +0000 |
commit | 23ff7cff52702a8bff904d8ab4c9ca67cc19d6ca (patch) | |
tree | 71edc7627c7f1e0debfad9797b2cd7f04109c2ed /include/llvm | |
parent | 394427b014a7126e56f3ee411993f08677d93c83 (diff) | |
download | external_llvm-23ff7cff52702a8bff904d8ab4c9ca67cc19d6ca.zip external_llvm-23ff7cff52702a8bff904d8ab4c9ca67cc19d6ca.tar.gz external_llvm-23ff7cff52702a8bff904d8ab4c9ca67cc19d6ca.tar.bz2 |
Adjust eh.sjlj.setjmp to properly have a chain and to have an opcode entry in
ISD::. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104734 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r-- | include/llvm/CodeGen/ISDOpcodes.h | 5 | ||||
-rw-r--r-- | include/llvm/Intrinsics.td | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/include/llvm/CodeGen/ISDOpcodes.h b/include/llvm/CodeGen/ISDOpcodes.h index 83c5568..a5e9dd5 100644 --- a/include/llvm/CodeGen/ISDOpcodes.h +++ b/include/llvm/CodeGen/ISDOpcodes.h @@ -95,6 +95,11 @@ namespace ISD { // execution to HANDLER. Many platform-related details also :) EH_RETURN, + // OUTCHAIN = EH_SJLJ_SETJMP(INCHAIN, buffer) + // This corresponds to the eh.sjlj.setjmp intrinsic. + // It takes an input chain and a pointer to the jump buffer as inputs + // and returns an outchain. + EH_SJLJ_SETJMP, // OUTCHAIN = EH_SJLJ_LONGJMP(INCHAIN, buffer) // This corresponds to the eh.sjlj.longjmp intrinsic. diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td index cd0dd31..2b4df54 100644 --- a/include/llvm/Intrinsics.td +++ b/include/llvm/Intrinsics.td @@ -306,12 +306,12 @@ def int_eh_unwind_init: Intrinsic<[]>, def int_eh_dwarf_cfa : Intrinsic<[llvm_ptr_ty], [llvm_i32_ty]>; let Properties = [IntrNoMem] in { - def int_eh_sjlj_setjmp : Intrinsic<[llvm_i32_ty], [llvm_ptr_ty]>, - GCCBuiltin<"__builtin_setjmp">; def int_eh_sjlj_lsda : Intrinsic<[llvm_ptr_ty]>; def int_eh_sjlj_callsite: Intrinsic<[], [llvm_i32_ty]>; } -def int_eh_sjlj_longjmp : Intrinsic<[], [llvm_ptr_ty], [IntrWriteArgMem]>, +def int_eh_sjlj_setjmp : Intrinsic<[llvm_i32_ty], [llvm_ptr_ty]>, + GCCBuiltin<"__builtin_setjmp">; +def int_eh_sjlj_longjmp : Intrinsic<[], [llvm_ptr_ty]>, GCCBuiltin<"__builtin_longjmp">; //===---------------- Generic Variable Attribute Intrinsics----------------===// |