diff options
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/IPO/GlobalOpt.cpp | 11 | ||||
-rw-r--r-- | lib/Transforms/IPO/SimplifyLibCalls.cpp | 9 |
2 files changed, 8 insertions, 12 deletions
diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index f76c152..342a481 100644 --- a/lib/Transforms/IPO/GlobalOpt.cpp +++ b/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/lib/Transforms/IPO/SimplifyLibCalls.cpp b/lib/Transforms/IPO/SimplifyLibCalls.cpp index e4eb6e4..3ace4b3 100644 --- a/lib/Transforms/IPO/SimplifyLibCalls.cpp +++ b/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 { |