eliminate temporary vectors

llvm-svn: 33712
diff --git a/llvm/lib/Transforms/IPO/GlobalOpt.cpp b/llvm/lib/Transforms/IPO/GlobalOpt.cpp
index f76c152..342a481 100644
--- a/llvm/lib/Transforms/IPO/GlobalOpt.cpp
+++ b/llvm/lib/Transforms/IPO/GlobalOpt.cpp
@@ -452,11 +452,11 @@
                                                 &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 @@
     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 e4eb6e4..3ace4b3 100644
--- a/llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp
+++ b/llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp
@@ -505,10 +505,8 @@
     // 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 @@
     // 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 {