Use a safer iterator interface and get rid of std C++ library misuse.
authorDavid Greene <greened@obbligato.org>
Fri, 17 Apr 2009 14:56:18 +0000 (14:56 +0000)
committerDavid Greene <greened@obbligato.org>
Fri, 17 Apr 2009 14:56:18 +0000 (14:56 +0000)
This fixes a --enable-expensive-checks problem.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69353 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/ArgumentPromotion.cpp

index b562c425aa6c4b118e32617cf12510c99fe79a0a..2bb6428060c3495fef359a659ff8b4e620f99953 100644 (file)
@@ -565,11 +565,10 @@ Function *ArgPromotion::DoPromotion(Function *F,
       // Add a parameter to the function for each element passed in.
       for (ScalarizeTable::iterator SI = ArgIndices.begin(),
              E = ArgIndices.end(); SI != E; ++SI) {
-        unsigned num = SI->size();
         // not allowed to dereference ->begin() if size() is 0
         Params.push_back(GetElementPtrInst::getIndexedType(I->getType(),
-                                                           num ? &*SI->begin(): 0,
-                                                           num));
+                                                           SI->begin(),
+                                                           SI->end()));
         assert(Params.back());
       }