completely eliminate a temporary vector
llvm-svn: 34162
diff --git a/llvm/lib/Analysis/ConstantFolding.cpp b/llvm/lib/Analysis/ConstantFolding.cpp
index 1515301..6fd8ff8 100644
--- a/llvm/lib/Analysis/ConstantFolding.cpp
+++ b/llvm/lib/Analysis/ConstantFolding.cpp
@@ -133,8 +133,8 @@
break;
}
if (isFoldableGEP) {
- std::vector<Value*> NewOps(Ops+1, Ops+NumOps);
- uint64_t Offset = TD->getIndexedOffset(Ptr->getType(), NewOps);
+ uint64_t Offset = TD->getIndexedOffset(Ptr->getType(),
+ (Value**)Ops+1, NumOps-1);
Constant *C = ConstantInt::get(TD->getIntPtrType(), Offset);
return ConstantExpr::getIntToPtr(C, ResultTy);
}