diff options
author | Reid Kleckner <rnk@google.com> | 2020-05-04 20:03:19 -0700 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2020-05-05 15:21:05 -0700 |
commit | 932f0276ea29fd58e1a07947e302f3ca9b54e61a (patch) | |
tree | d533bbdee5e0a5d4742089abb64a1fb2cce155e9 /llvm/lib/Support/GraphWriter.cpp | |
parent | 855e02e799b9b05babc39cba1cb121ad7ef50f57 (diff) | |
download | llvm-932f0276ea29fd58e1a07947e302f3ca9b54e61a.zip llvm-932f0276ea29fd58e1a07947e302f3ca9b54e61a.tar.gz llvm-932f0276ea29fd58e1a07947e302f3ca9b54e61a.tar.bz2 |
[Support] Move LLD's parallel algorithm wrappers to support
Essentially takes the lld/Common/Threads.h wrappers and moves them to
the llvm/Support/Paralle.h algorithm header.
The changes are:
- Remove policy parameter, since all clients use `par`.
- Rename the methods to `parallelSort` etc to match LLVM style, since
they are no longer C++17 pstl compatible.
- Move algorithms from llvm::parallel:: to llvm::, since they have
"parallel" in the name and are no longer overloads of the regular
algorithms.
- Add range overloads
- Use the sequential algorithm directly when 1 thread is requested
(skips task grouping)
- Fix the index type of parallelForEachN to size_t. Nobody in LLVM was
using any other parameter, and it made overload resolution hard for
for_each_n(par, 0, foo.size(), ...) because 0 is int, not size_t.
Remove Threads.h and update LLD for that.
This is a prerequisite for parallel public symbol processing in the PDB
library, which is in LLVM.
Reviewed By: MaskRay, aganea
Differential Revision: https://reviews.llvm.org/D79390
Diffstat (limited to 'llvm/lib/Support/GraphWriter.cpp')
0 files changed, 0 insertions, 0 deletions