Add llvm::for_each as a range-based extensions to <algorithm> and make use of it in some cases where it is a more clear alternative to std::for_each.

llvm-svn: 317356
diff --git a/llvm/lib/LTO/LTOCodeGenerator.cpp b/llvm/lib/LTO/LTOCodeGenerator.cpp
index 9759c0c..87867c5 100644
--- a/llvm/lib/LTO/LTOCodeGenerator.cpp
+++ b/llvm/lib/LTO/LTOCodeGenerator.cpp
@@ -469,17 +469,15 @@
     if (I == ExternalSymbols.end())
       return;
 
-    GV.setLinkage(I->second);
-  };
-
-  std::for_each(MergedModule->begin(), MergedModule->end(), externalize);
-  std::for_each(MergedModule->global_begin(), MergedModule->global_end(),
-                externalize);
-  std::for_each(MergedModule->alias_begin(), MergedModule->alias_end(),
-                externalize);
-}
-
-void LTOCodeGenerator::verifyMergedModuleOnce() {
+    GV.setLinkage(I->second);

+  };

+

+  llvm::for_each(MergedModule->functions(), externalize);

+  llvm::for_each(MergedModule->globals(), externalize);

+  llvm::for_each(MergedModule->aliases(), externalize);

+}

+

+void LTOCodeGenerator::verifyMergedModuleOnce() {

   // Only run on the first call.
   if (HasVerifiedInput)
     return;