summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-01-31 19:59:55 +0000
committerChris Lattner <sabre@nondot.org>2007-01-31 19:59:55 +0000
commit927653f27fa3027258a8cec0b066117429e38e60 (patch)
tree648e5c6e90f1f80cf6bae5d20ff2f5171c85af2d /llvm
parent1f3fc4b3f00415909590f3498681d78cb2526833 (diff)
downloadbcm5719-llvm-927653f27fa3027258a8cec0b066117429e38e60.tar.gz
bcm5719-llvm-927653f27fa3027258a8cec0b066117429e38e60.zip
eliminate temporary vectors
llvm-svn: 33712
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Transforms/IPO/GlobalOpt.cpp11
-rw-r--r--llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp9
2 files changed, 8 insertions, 12 deletions
diff --git a/llvm/lib/Transforms/IPO/GlobalOpt.cpp b/llvm/lib/Transforms/IPO/GlobalOpt.cpp
index f76c152b8ad..342a481af74 100644
--- a/llvm/lib/Transforms/IPO/GlobalOpt.cpp
+++ b/llvm/lib/Transforms/IPO/GlobalOpt.cpp
@@ -452,11 +452,11 @@ static GlobalVariable *SRAGlobal(GlobalVariable *GV) {
&Idxs[0], Idxs.size());
} else {
GetElementPtrInst *GEPI = cast<GetElementPtrInst>(GEP);
- std::vector<Value*> Idxs;
+ SmallVector<Value*, 8> Idxs;
Idxs.push_back(NullInt);
for (unsigned i = 3, e = GEPI->getNumOperands(); i != e; ++i)
Idxs.push_back(GEPI->getOperand(i));
- NewPtr = new GetElementPtrInst(NewPtr, Idxs,
+ NewPtr = new GetElementPtrInst(NewPtr, &Idxs[0], Idxs.size(),
GEPI->getName()+"."+utostr(Val), GEPI);
}
GEP->replaceAllUsesWith(NewPtr);
@@ -684,10 +684,9 @@ static GlobalVariable *OptimizeGlobalAddressOfMalloc(GlobalVariable *GV,
MallocInst *NewMI =
new MallocInst(NewTy, Constant::getNullValue(Type::Int32Ty),
MI->getAlignment(), MI->getName(), MI);
- std::vector<Value*> Indices;
- Indices.push_back(Constant::getNullValue(Type::Int32Ty));
- Indices.push_back(Indices[0]);
- Value *NewGEP = new GetElementPtrInst(NewMI, Indices,
+ Value* Indices[2];
+ Indices[0] = Indices[1] = Constant::getNullValue(Type::Int32Ty);
+ Value *NewGEP = new GetElementPtrInst(NewMI, Indices, 2,
NewMI->getName()+".el0", MI);
MI->replaceAllUsesWith(NewGEP);
MI->eraseFromParent();
diff --git a/llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp b/llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp
index e4eb6e42c11..3ace4b365f4 100644
--- a/llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp
+++ b/llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp
@@ -505,10 +505,8 @@ public:
// Now that we have the destination's length, we must index into the
// destination's pointer to get the actual memcpy destination (end of
// the string .. we're concatenating).
- std::vector<Value*> idx;
- idx.push_back(strlen_inst);
GetElementPtrInst* gep =
- new GetElementPtrInst(dest,idx,dest->getName()+".indexed",ci);
+ new GetElementPtrInst(dest, strlen_inst, dest->getName()+".indexed", ci);
// We have enough information to now generate the memcpy call to
// do the concatenation for us.
@@ -596,9 +594,8 @@ public:
// strchr(s,c) -> offset_of_in(c,s)
// (if c is a constant integer and s is a constant string)
if (char_found) {
- std::vector<Value*> indices;
- indices.push_back(ConstantInt::get(Type::Int64Ty,offset));
- GetElementPtrInst* GEP = new GetElementPtrInst(ci->getOperand(1),indices,
+ Value* Idx = ConstantInt::get(Type::Int64Ty,offset);
+ GetElementPtrInst* GEP = new GetElementPtrInst(ci->getOperand(1), Idx,
ci->getOperand(1)->getName()+".strchr",ci);
ci->replaceAllUsesWith(GEP);
} else {
OpenPOWER on IntegriCloud