[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