diff options
author | Chris Lattner <sabre@nondot.org> | 2007-02-10 08:30:29 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-02-10 08:30:29 +0000 |
commit | 84d82c7e98a8e4fde12991d3397c1723b0f5a32f (patch) | |
tree | d6f0edb812864bd0af76ac1e2aaaca81f383d3ed | |
parent | bc97cc29e7141d76664755b49f68f19fb5dd4a22 (diff) | |
download | bcm5719-llvm-84d82c7e98a8e4fde12991d3397c1723b0f5a32f.tar.gz bcm5719-llvm-84d82c7e98a8e4fde12991d3397c1723b0f5a32f.zip |
speed up the verifier 8.5% by using a smallvector instead of vector.
llvm-svn: 34144
-rw-r--r-- | llvm/lib/VMCore/Verifier.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/VMCore/Verifier.cpp b/llvm/lib/VMCore/Verifier.cpp index 3d80c6c2db6..c0675b43d52 100644 --- a/llvm/lib/VMCore/Verifier.cpp +++ b/llvm/lib/VMCore/Verifier.cpp @@ -57,6 +57,7 @@ #include "llvm/Support/InstVisitor.h" #include "llvm/Support/Streams.h" #include "llvm/ADT/SmallPtrSet.h" +#include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Support/Compiler.h" @@ -809,11 +810,13 @@ void Verifier::visitShuffleVectorInst(ShuffleVectorInst &SV) { } void Verifier::visitGetElementPtrInst(GetElementPtrInst &GEP) { + SmallVector<Value*, 16> Idxs(GEP.idx_begin(), GEP.idx_end()); const Type *ElTy = GetElementPtrInst::getIndexedType(GEP.getOperand(0)->getType(), - std::vector<Value*>(GEP.idx_begin(), GEP.idx_end()), true); + &Idxs[0], Idxs.size(), true); Assert1(ElTy, "Invalid indices for GEP pointer type!", &GEP); - Assert2(PointerType::get(ElTy) == GEP.getType(), + Assert2(isa<PointerType>(GEP.getType()) && + cast<PointerType>(GEP.getType())->getElementType() == ElTy, "GEP is not of right type for indices!", &GEP, ElTy); visitInstruction(GEP); } |