From: Chris Lattner Date: Sat, 10 Feb 2007 08:30:29 +0000 (+0000) Subject: speed up the verifier 8.5% by using a smallvector instead of vector. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8552faeb7ebab98cd0a9f3de1a9c1671661a6850;p=oota-llvm.git speed up the verifier 8.5% by using a smallvector instead of vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34144 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp index 3d80c6c2db6..c0675b43d52 100644 --- a/lib/VMCore/Verifier.cpp +++ b/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 Idxs(GEP.idx_begin(), GEP.idx_end()); const Type *ElTy = GetElementPtrInst::getIndexedType(GEP.getOperand(0)->getType(), - std::vector(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(GEP.getType()) && + cast(GEP.getType())->getElementType() == ElTy, "GEP is not of right type for indices!", &GEP, ElTy); visitInstruction(GEP); }