Add intrinsics for the llvm.sig(set|long)jmp functions
authorChris Lattner <sabre@nondot.org>
Mon, 18 Aug 2003 15:41:24 +0000 (15:41 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 18 Aug 2003 15:41:24 +0000 (15:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7949 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Intrinsics.h
lib/VMCore/Function.cpp
lib/VMCore/Verifier.cpp

index 72e85e721d20e0ec163ae208f19b75403d9a8aa6..81c25b810275814df5e8727593a1c3cd8b3022a4 100644 (file)
@@ -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
index c7eb2ca5b7bb84f15de3eede7ac64f4355264f89..805070b030496795de389c2df77cd0b40e705bf9 100644 (file)
@@ -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;
index 1ca1f9b6eeb10f275a071d9a74ba521f02e1e7f7..644ef10b9d187ad5677ab30b37a1a7dd1ee9acb5 100644 (file)
@@ -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;