remove verification for gc intrinsic argument types. it was indented wrong

and tblgen now knows intrinsic prototypes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55227 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2008-08-23 05:26:35 +00:00
parent 88e6dc8bf1
commit dbf7aa5b4b

View 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.",