From: Chris Lattner Date: Mon, 18 Aug 2003 15:41:24 +0000 (+0000) Subject: Add intrinsics for the llvm.sig(set|long)jmp functions X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8169cf810c8cfbec11eced0c9e534ea83f4c287e;p=oota-llvm.git 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 --- diff --git a/include/llvm/Intrinsics.h b/include/llvm/Intrinsics.h index 72e85e721d2..81c25b81027 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 c7eb2ca5b7b..805070b0304 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 1ca1f9b6eeb..644ef10b9d1 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;