Fix bug: ScalarRepl/2003-05-30-MultiLevel.ll
authorChris Lattner <sabre@nondot.org>
Fri, 30 May 2003 05:26:30 +0000 (05:26 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 30 May 2003 05:26:30 +0000 (05:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6428 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/ScalarReplAggregates.cpp

index 4a695226318d5457ae4ca78d5edae34bd991ef14..2ac6ce643c0e771b00228619d583925ee8d5d978 100644 (file)
@@ -123,12 +123,12 @@ bool SROA::runOnFunction(Function &F) {
           // expanded itself once the worklist is rerun.
           //
           std::string OldName = GEPI->getName();  // Steal the old name...
+          std::vector<Value*> NewArgs;
+          NewArgs.push_back(Constant::getNullValue(Type::LongTy));
+          NewArgs.insert(NewArgs.end(), GEPI->op_begin()+3, GEPI->op_end());
           GEPI->setName("");
           RepValue =
-            new GetElementPtrInst(AllocaToUse, 
-                                  std::vector<Value*>(GEPI->op_begin()+3, 
-                                                      GEPI->op_end()),
-                                  OldName, GEPI);
+            new GetElementPtrInst(AllocaToUse, NewArgs, OldName, GEPI);
         }
 
         // Move all of the users over to the new GEP.