[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:04:31 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:

I was gonna say, it happened several times in the past that the build was broken in `!LLVM_ENABLE_THREADS` configurations, which not many people are testing.

https://github.com/llvm/llvm-project/pull/82094


More information about the Mlir-commits mailing list