Cache the end() iterator.
authorBill Wendling <isanbard@gmail.com>
Thu, 29 Mar 2012 03:34:57 +0000 (03:34 +0000)
committerBill Wendling <isanbard@gmail.com>
Thu, 29 Mar 2012 03:34:57 +0000 (03:34 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153632 91177308-0d34-0410-b5e6-96231b3b80d8

tools/lto/LTOModule.cpp

index 9c35fa0074e2ff665f1d3e345351508071195daf..1c06f27283bf54ad4894cebe8b5de2e7efd2d534 100644 (file)
@@ -666,7 +666,7 @@ static bool isDeclaration(const GlobalValue &V) {
 /// them to either the defined or undefined lists.
 bool LTOModule::parseSymbols(std::string &errMsg) {
   // add functions
-  for (Module::iterator f = _module->begin(); f != _module->end(); ++f) {
+  for (Module::iterator f = _module->begin(), e = _module->end(); f != e; ++f) {
     if (isDeclaration(*f))
       addPotentialUndefinedSymbol(f);
     else
@@ -697,8 +697,8 @@ bool LTOModule::parseSymbols(std::string &errMsg) {
   }
 
   // make symbols for all undefines
-  for (StringMap<NameAndAttributes>::iterator it=_undefines.begin();
-       it != _undefines.end(); ++it) {
+  for (StringMap<NameAndAttributes>::iterator it=_undefines.begin(),
+         e = _undefines.end(); it != e; ++it) {
     // if this symbol also has a definition, then don't make an undefine
     // because it is a tentative definition
     if (_defines.count(it->getKey()) == 0) {