diff options
| author | Gordon Henriksen <gordonhenriksen@mac.com> | 2007-09-18 10:14:30 +0000 |
|---|---|---|
| committer | Gordon Henriksen <gordonhenriksen@mac.com> | 2007-09-18 10:14:30 +0000 |
| commit | be6bd16418611186435ed41b2592215ccafa21f8 (patch) | |
| tree | 5edbbac9d360a3f8a547d6bf4999a63b11d4c7a0 /llvm/lib/VMCore | |
| parent | e8c885f261a47684ec144aed70013e3ac1653083 (diff) | |
| download | bcm5719-llvm-be6bd16418611186435ed41b2592215ccafa21f8.tar.gz bcm5719-llvm-be6bd16418611186435ed41b2592215ccafa21f8.zip | |
Incorporating review feedback for GC verifier patch.
llvm-svn: 42087
Diffstat (limited to 'llvm/lib/VMCore')
| -rw-r--r-- | llvm/lib/VMCore/Verifier.cpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/llvm/lib/VMCore/Verifier.cpp b/llvm/lib/VMCore/Verifier.cpp index 25826e106cb..982de30b72e 100644 --- a/llvm/lib/VMCore/Verifier.cpp +++ b/llvm/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<BitCastInst>(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<AllocaInst>(StripBitCasts(CI.getOperand(1))), - "llvm.gcroot parameter #1 must be an alloca (or a bitcast).", &CI); + Assert1(isa<AllocaInst>(IntrinsicInst::StripPointerCasts(CI.getOperand(1))), + "llvm.gcroot parameter #1 must be an alloca (or a bitcast of one).", + &CI); Assert1(isa<Constant>(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() |

