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 /clang/lib/Frontend/CompilerInvocation.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 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
