diff options
author | Luboš Luňák <l.lunak@centrum.cz> | 2022-04-05 21:27:14 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@centrum.cz> | 2022-05-04 06:16:55 +0200 |
commit | 8ef5710e6303904dc9a99019bf9b1a8353397f0c (patch) | |
tree | 0ddf6440db42fd59e4f06f86aca4400a1871e806 /llvm/lib/CodeGen/MachineModuleInfo.cpp | |
parent | 764676b737db0f259ef018104edbc2aec9db7e7d (diff) | |
download | llvm-8ef5710e6303904dc9a99019bf9b1a8353397f0c.zip llvm-8ef5710e6303904dc9a99019bf9b1a8353397f0c.tar.gz llvm-8ef5710e6303904dc9a99019bf9b1a8353397f0c.tar.bz2 |
[ThreadPool] add ability to group tasks into separate groups
This is needed for parallelizing of loading modules symbols in LLDB
(D122975). Currently LLDB can parallelize indexing symbols
when loading a module, but modules are loaded sequentially. If LLDB
index cache is enabled, this means that the cache loading is not
parallelized, even though it could. However doing that creates
a threadpool-within-threadpool situation, so the number of threads
would not be properly limited.
This change adds ThreadPoolTaskGroup as a simple type that can be
used with ThreadPool calls to put tasks into groups that can be
independently waited for (even recursively from within a task)
but still run in the same thread pool.
Differential Revision: https://reviews.llvm.org/D123225
Diffstat (limited to 'llvm/lib/CodeGen/MachineModuleInfo.cpp')
0 files changed, 0 insertions, 0 deletions