remove verification for gc intrinsic argument types. it was indented wrong
authorChris Lattner <sabre@nondot.org>
Sat, 23 Aug 2008 05:26:35 +0000 (05:26 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 23 Aug 2008 05:26:35 +0000 (05:26 +0000)
and tblgen now knows intrinsic prototypes.

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

lib/VMCore/Verifier.cpp

index 54c72fb550223da0215491fe99d0456f3faebba2..bede405193697ccd65a608057d4e3166d6bfd268 100644 (file)
@@ -1273,45 +1273,6 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
   switch (ID) {
   default:
     break;
-  case Intrinsic::gcroot:
-  case Intrinsic::gcwrite:
-  case Intrinsic::gcread: {
-      Type *PtrTy    = PointerType::getUnqual(Type::Int8Ty),
-           *PtrPtrTy = PointerType::getUnqual(PtrTy);
-      
-      switch (ID) {
-      default:
-        break;
-      case Intrinsic::gcroot:
-        Assert1(CI.getOperand(1)->getType() == PtrPtrTy,
-                "Intrinsic parameter #1 is not i8**.", &CI);
-        Assert1(CI.getOperand(2)->getType() == PtrTy,
-                "Intrinsic parameter #2 is not i8*.", &CI);
-        Assert1(isa<AllocaInst>(CI.getOperand(1)->stripPointerCasts()),
-                "llvm.gcroot parameter #1 must be an alloca.", &CI);
-        Assert1(isa<Constant>(CI.getOperand(2)),
-                "llvm.gcroot parameter #2 must be a constant.", &CI);
-        break;
-      case Intrinsic::gcwrite:
-        Assert1(CI.getOperand(1)->getType() == PtrTy,
-                "Intrinsic parameter #1 is not a i8*.", &CI);
-        Assert1(CI.getOperand(2)->getType() == PtrTy,
-                "Intrinsic parameter #2 is not a i8*.", &CI);
-        Assert1(CI.getOperand(3)->getType() == PtrPtrTy,
-                "Intrinsic parameter #3 is not a i8**.", &CI);
-        break;
-      case Intrinsic::gcread:
-        Assert1(CI.getOperand(1)->getType() == PtrTy,
-                "Intrinsic parameter #1 is not a i8*.", &CI);
-        Assert1(CI.getOperand(2)->getType() == PtrPtrTy,
-                "Intrinsic parameter #2 is not a i8**.", &CI);
-        break;
-      }
-      
-      Assert1(CI.getParent()->getParent()->hasGC(),
-              "Enclosing function does not use GC.",
-              &CI);
-    } break;
   case Intrinsic::init_trampoline:
     Assert1(isa<Function>(CI.getOperand(2)->stripPointerCasts()),
             "llvm.init_trampoline parameter #2 must resolve to a function.",