[PATCH] D33016: [Parallel] Add support for parallel execution policies to match C++ Parallelism TS

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 9 13:34:00 PDT 2017


zturner created this revision.

This is the next step towards moving LLD's parallel algorithms over to LLVM.

With this patch, I introduce `parallel_execution_policy`, `sequential_execution_policy`, and `is_execution_policy` to as described in N4507 <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4507.pdf>.

It does not introduce the type erasing dynamic execution policy.

All callers of existing parallel algorithms are updated to use the new function syntax, and `parallel_for` is renamed to `for_each_n` to match the specification.

After this change, I am hoping this library can be moved to LLVM wholesale with no further changes.


https://reviews.llvm.org/D33016

Files:
  lld/COFF/ICF.cpp
  lld/COFF/MapFile.cpp
  lld/COFF/Writer.cpp
  lld/ELF/Threads.h
  lld/include/lld/Core/Parallel.h
  lld/lib/ReaderWriter/MachO/LayoutPass.cpp
  lld/unittests/CoreTests/ParallelTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33016.98346.patch
Type: text/x-patch
Size: 11524 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170509/6794ef74/attachment.bin>


More information about the llvm-commits mailing list