Update GEP constructors to use an iterator interface to fix
GLIBCXX_DEBUG issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41697 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/Scalar/ScalarReplAggregates.cpp b/lib/Transforms/Scalar/ScalarReplAggregates.cpp
index 52edcb6..1092b88 100644
--- a/lib/Transforms/Scalar/ScalarReplAggregates.cpp
+++ b/lib/Transforms/Scalar/ScalarReplAggregates.cpp
@@ -319,8 +319,8 @@
       SmallVector<Value*, 8> NewArgs;
       NewArgs.push_back(Constant::getNullValue(Type::Int32Ty));
       NewArgs.append(GEPI->op_begin()+3, GEPI->op_end());
-      RepValue = new GetElementPtrInst(AllocaToUse, &NewArgs[0],
-                                       NewArgs.size(), "", GEPI);
+      RepValue = new GetElementPtrInst(AllocaToUse, NewArgs.begin(),
+                                       NewArgs.end(), "", GEPI);
       RepValue->takeName(GEPI);
     }
     
@@ -626,8 +626,10 @@
       // If this is a memcpy/memmove, emit a GEP of the other element address.
       Value *OtherElt = 0;
       if (OtherPtr) {
-        OtherElt = new GetElementPtrInst(OtherPtr, Zero,
-                                         ConstantInt::get(Type::Int32Ty, i),
+        Value *Idx[2];
+        Idx[0] = Zero;
+        Idx[1] = ConstantInt::get(Type::Int32Ty, i);
+        OtherElt = new GetElementPtrInst(OtherPtr, Idx, Idx + 2,
                                          OtherPtr->getNameStr()+"."+utostr(i),
                                          MI);
       }
@@ -829,11 +831,13 @@
           SmallVector<Value*, 8> Indices(GEPI->op_begin()+1, GEPI->op_end());
           Indices[1] = Constant::getNullValue(Type::Int32Ty);
           Value *ZeroIdx = new GetElementPtrInst(GEPI->getOperand(0),
-                                                 &Indices[0], Indices.size(),
+                                                 Indices.begin(),
+                                                 Indices.end(),
                                                  GEPI->getName()+".0", GEPI);
           Indices[1] = ConstantInt::get(Type::Int32Ty, 1);
           Value *OneIdx = new GetElementPtrInst(GEPI->getOperand(0),
-                                                &Indices[0], Indices.size(),
+                                                Indices.begin(),
+                                                Indices.end(),
                                                 GEPI->getName()+".1", GEPI);
           // Replace all loads of the variable index GEP with loads from both
           // indexes and a select.