[Mlir-commits] [lldb] [llvm] [mlir] Split the llvm::ThreadPool into an abstract base class and an implementation (PR #82094)
Alexandre Ganea
llvmlistbot at llvm.org
Wed Feb 28 16:03:13 PST 2024
================
@@ -209,25 +231,66 @@ class ThreadPool {
/// Number of threads active for tasks in the given group (only non-zero).
DenseMap<ThreadPoolTaskGroup *, unsigned> ActiveGroups;
-#if LLVM_ENABLE_THREADS // avoids warning for unused variable
/// Signal for the destruction of the pool, asking thread to exit.
bool EnableFlag = true;
-#endif
const ThreadPoolStrategy Strategy;
/// Maximum number of threads to potentially grow this pool to.
const unsigned MaxThreadCount;
};
+/// A non-threaded implementation.
+class SingleThreadExecutor : public ThreadPoolInterface {
----------------
aganea wrote:
In that case, do you think we can add or extend some of the existing unit tests, to exercise the `SingleThreadExecutor` explicitly?
https://github.com/llvm/llvm-project/pull/82094
More information about the Mlir-commits
mailing list