@@ -1111,7 +1111,7 @@ struct LLVMCodeGenThreads {
1111
1111
// / All this is done in multiple threads.
1112
1112
static void performParallelIRGeneration (
1113
1113
const IRGenOptions &Opts, swift::ModuleDecl *M, std::unique_ptr<SILModule> SILMod,
1114
- StringRef ModuleName, int numThreads,
1114
+ StringRef ModuleName,
1115
1115
ArrayRef<std::string> outputFilenames,
1116
1116
llvm::StringSet<> *linkerDirectives) {
1117
1117
@@ -1285,7 +1285,8 @@ static void performParallelIRGeneration(
1285
1285
llvm::sys::Mutex DiagMutex;
1286
1286
1287
1287
// Start all the threads and do the LLVM compilation.
1288
- LLVMCodeGenThreads codeGenThreads (&irgen, &DiagMutex, numThreads - 1 );
1288
+
1289
+ LLVMCodeGenThreads codeGenThreads (&irgen, &DiagMutex, SILMod->getOptions ().NumThreads - 1 );
1289
1290
codeGenThreads.startThreads ();
1290
1291
1291
1292
// Free the memory occupied by the SILModule.
@@ -1319,10 +1320,9 @@ IRGenWholeModuleRequest::evaluate(Evaluator &evaluator,
1319
1320
auto *M = desc.Ctx .get <ModuleDecl *>();
1320
1321
if (desc.SILMod ->getOptions ().shouldPerformIRGenerationInParallel () &&
1321
1322
!desc.parallelOutputFilenames .empty ()) {
1322
- const auto NumThreads = desc.SILMod ->getOptions ().NumThreads ;
1323
1323
::performParallelIRGeneration (
1324
1324
desc.Opts, M, std::unique_ptr<SILModule>(desc.SILMod), desc.ModuleName,
1325
- NumThreads, desc.parallelOutputFilenames, desc.LinkerDirectives);
1325
+ desc.parallelOutputFilenames, desc.LinkerDirectives);
1326
1326
// TODO: Parallel LLVM compilation cannot be used if a (single) module is
1327
1327
// needed as return value.
1328
1328
return GeneratedModule::null ();
0 commit comments