[lld] r182794 - [Core] Add parallel_for_each.

Michael J. Spencer bigcheesegs at gmail.com
Tue May 28 12:09:40 PDT 2013


Author: mspencer
Date: Tue May 28 14:09:39 2013
New Revision: 182794

URL: http://llvm.org/viewvc/llvm-project?rev=182794&view=rev
Log:
[Core] Add parallel_for_each.

Modified:
    lld/trunk/include/lld/Core/Parallel.h

Modified: lld/trunk/include/lld/Core/Parallel.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Core/Parallel.h?rev=182794&r1=182793&r2=182794&view=diff
==============================================================================
--- lld/trunk/include/lld/Core/Parallel.h (original)
+++ lld/trunk/include/lld/Core/Parallel.h Tue May 28 14:09:39 2013
@@ -252,6 +252,20 @@ void parallel_sort(
 template <class T> void parallel_sort(T *start, T *end) {
   parallel_sort(start, end, std::less<T>());
 }
+
+#ifdef _MSC_VER
+// Use ppl parallel_for_each on Windows.
+template <class Iterator, class Func>
+void parallel_for_each(Iterator begin, Iterator end, Func func) {
+  concurrency::parallel_for_each(begin, end, func);
+}
+#else
+template <class Iterator, class Func>
+void parallel_for_each(Iterator begin, Iterator end, Func func) {
+  // TODO: Make this parallel.
+  std::for_each(begin, end, func);
+}
+#endif
 } // end namespace lld
 
 #endif





More information about the llvm-commits mailing list