diff --git a/llvm/lib/Support/Threading.cpp b/llvm/lib/Support/Threading.cpp index 923935bbca103..7cc7ba44cc72d 100644 --- a/llvm/lib/Support/Threading.cpp +++ b/llvm/lib/Support/Threading.cpp @@ -83,6 +83,11 @@ unsigned llvm::ThreadPoolStrategy::compute_thread_count() const { // the same interface as std::thread but requests the same stack size as the // main thread (8MB) before creation. const std::optional llvm::thread::DefaultStackSize = 8 * 1024 * 1024; +#elif defined(_AIX) + // On AIX, the default pthread stack size limit is ~192k for 64-bit programs. + // This limit is easily reached when doing link-time thinLTO. AIX library + // developers have used 4MB, so we'll do the same. +const std::optional llvm::thread::DefaultStackSize = 4 * 1024 * 1024; #else const std::optional llvm::thread::DefaultStackSize; #endif