rethrow is really the language independent primitive here. "throw" can be written
authorChris Lattner <sabre@nondot.org>
Sun, 24 Aug 2003 12:24:08 +0000 (12:24 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 24 Aug 2003 12:24:08 +0000 (12:24 +0000)
in terms of it and llvm.exc.setcurrent.

Rework the intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8110 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Function.cpp
lib/VMCore/Verifier.cpp

index 4527372ae75b7ad98157bd755e3ffd13bce05ce8..ce190c80a3f0f02c86fb499c82fbd97fa5ea03ba 100644 (file)
@@ -197,8 +197,7 @@ unsigned Function::getIntrinsicID() const {
     break;
   case 'e':
     if (getName() == "llvm.exc.getcurrent")return LLVMIntrinsic::exc_getcurrent;
-    if (getName() == "llvm.exc.rethrow")   return LLVMIntrinsic::exc_rethrow;
-    if (getName() == "llvm.exc.throw")     return LLVMIntrinsic::exc_throw;
+    if (getName() == "llvm.exc.setcurrent")return LLVMIntrinsic::exc_setcurrent;
     break;
   case 'l':
     if (getName() == "llvm.longjmp")  return LLVMIntrinsic::longjmp;
@@ -208,6 +207,9 @@ unsigned Function::getIntrinsicID() const {
     if (getName() == "llvm.sigsetjmp")  return LLVMIntrinsic::sigsetjmp;
     if (getName() == "llvm.siglongjmp") return LLVMIntrinsic::siglongjmp;
     break;
+  case 'u':
+    if (getName() == "llvm.unwind")     return LLVMIntrinsic::unwind;
+    break;
   case 'v':
     if (getName() == "llvm.va_copy")  return LLVMIntrinsic::va_copy;
     if (getName() == "llvm.va_end")   return LLVMIntrinsic::va_end;
index eae7d8c1cfe17f0a3e94033e99132186c16b6ec0..23ad6421bb3f45063fe1d382778a3335dfb21ad5 100644 (file)
@@ -522,8 +522,8 @@ void Verifier::visitIntrinsicFunctionCall(LLVMIntrinsic::ID ID, CallInst &CI) {
   case LLVMIntrinsic::va_end:          NumArgs = 1; break;
   case LLVMIntrinsic::va_copy:         NumArgs = 2; break;
 
-  case LLVMIntrinsic::exc_throw:       NumArgs = 1; break;
-  case LLVMIntrinsic::exc_rethrow:     NumArgs = 0; break;
+  case LLVMIntrinsic::unwind:          NumArgs = 0; break;
+  case LLVMIntrinsic::exc_setcurrent:  NumArgs = 1; break;
   case LLVMIntrinsic::exc_getcurrent:  NumArgs = 0; break;
 
   case LLVMIntrinsic::setjmp:          NumArgs = 1; break;