From: Gordon Henriksen Date: Tue, 18 Sep 2007 10:14:30 +0000 (+0000) Subject: Incorporating review feedback for GC verifier patch. X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=b5085212b0a419f205c3b3ea4d569331af6368c6;ds=sidebyside Incorporating review feedback for GC verifier patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42087 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp index 25826e106cb..982de30b72e 100644 --- a/lib/VMCore/Verifier.cpp +++ b/lib/VMCore/Verifier.cpp @@ -49,8 +49,7 @@ #include "llvm/ParameterAttributes.h" #include "llvm/DerivedTypes.h" #include "llvm/InlineAsm.h" -#include "llvm/Instructions.h" -#include "llvm/Intrinsics.h" +#include "llvm/IntrinsicInst.h" #include "llvm/PassManager.h" #include "llvm/Analysis/Dominators.h" #include "llvm/CodeGen/ValueTypes.h" @@ -1078,12 +1077,6 @@ static bool HasPtrPtrType(Value *Val) { return false; } -static Value *StripBitCasts(Value *Val) { - if (BitCastInst *CI = dyn_cast(Val)) - return StripBitCasts(CI->getOperand(0)); - return Val; -} - /// visitIntrinsicFunction - Allow intrinsics to be verified in different ways. /// void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) { @@ -1101,10 +1094,11 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) { case Intrinsic::gcroot: Assert1(HasPtrPtrType(CI.getOperand(1)), "llvm.gcroot parameter #1 must be a pointer to a pointer.", &CI); - Assert1(isa(StripBitCasts(CI.getOperand(1))), - "llvm.gcroot parameter #1 must be an alloca (or a bitcast).", &CI); + Assert1(isa(IntrinsicInst::StripPointerCasts(CI.getOperand(1))), + "llvm.gcroot parameter #1 must be an alloca (or a bitcast of one).", + &CI); Assert1(isa(CI.getOperand(2)), - "llvm.gcroot parameter #2 must be a constant or global.", &CI); + "llvm.gcroot parameter #2 must be a constant.", &CI); break; case Intrinsic::gcwrite: Assert1(CI.getOperand(3)->getType()