aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-08-18 15:41:24 +0000
committerChris Lattner <sabre@nondot.org>2003-08-18 15:41:24 +0000
commit8169cf810c8cfbec11eced0c9e534ea83f4c287e (patch)
tree8a6d582a22ca2cfdededffe0ffb80e9acec23e1b
parentf5a6ab9ff934f64786246ca22fc107227e50a30a (diff)
Add intrinsics for the llvm.sig(set|long)jmp functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7949 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Intrinsics.h2
-rw-r--r--lib/VMCore/Function.cpp4
-rw-r--r--lib/VMCore/Verifier.cpp10
3 files changed, 11 insertions, 5 deletions
diff --git a/include/llvm/Intrinsics.h b/include/llvm/Intrinsics.h
index 72e85e721d..81c25b8102 100644
--- a/include/llvm/Intrinsics.h
+++ b/include/llvm/Intrinsics.h
@@ -23,6 +23,8 @@ namespace LLVMIntrinsic {
setjmp, // Used to represent a setjmp call in C
longjmp, // Used to represent a longjmp call in C
+ sigsetjmp, // Used to represent a sigsetjmp call in C
+ siglongjmp, // Used to represent a siglongjmp call in C
//===------------------------------------------------------------------===//
// This section defines intrinsic functions used to represent Alpha
diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp
index c7eb2ca5b7..805070b030 100644
--- a/lib/VMCore/Function.cpp
+++ b/lib/VMCore/Function.cpp
@@ -198,7 +198,9 @@ unsigned Function::getIntrinsicID() const {
if (getName() == "llvm.longjmp") return LLVMIntrinsic::longjmp;
break;
case 's':
- if (getName() == "llvm.setjmp") return LLVMIntrinsic::setjmp;
+ if (getName() == "llvm.setjmp") return LLVMIntrinsic::setjmp;
+ if (getName() == "llvm.sigsetjmp") return LLVMIntrinsic::sigsetjmp;
+ if (getName() == "llvm.siglongjmp") return LLVMIntrinsic::siglongjmp;
break;
case 'v':
if (getName() == "llvm.va_copy") return LLVMIntrinsic::va_copy;
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp
index 1ca1f9b6ee..644ef10b9d 100644
--- a/lib/VMCore/Verifier.cpp
+++ b/lib/VMCore/Verifier.cpp
@@ -517,10 +517,12 @@ void Verifier::visitIntrinsicFunctionCall(LLVMIntrinsic::ID ID, CallInst &CI) {
" args!", &CI);
NumArgs = 1;
break;
- case LLVMIntrinsic::va_end: NumArgs = 1; break;
- case LLVMIntrinsic::va_copy: NumArgs = 2; break;
- case LLVMIntrinsic::setjmp: NumArgs = 1; break;
- case LLVMIntrinsic::longjmp: NumArgs = 2; break;
+ case LLVMIntrinsic::va_end: NumArgs = 1; break;
+ case LLVMIntrinsic::va_copy: NumArgs = 2; break;
+ case LLVMIntrinsic::setjmp: NumArgs = 1; break;
+ case LLVMIntrinsic::longjmp: NumArgs = 2; break;
+ case LLVMIntrinsic::sigsetjmp: NumArgs = 2; break;
+ case LLVMIntrinsic::siglongjmp: NumArgs = 2; break;
case LLVMIntrinsic::alpha_ctlz: NumArgs = 1; break;
case LLVMIntrinsic::alpha_cttz: NumArgs = 1; break;