Merge pull request #8596 from huonw/symbol-list-3

Use IRGen's LinkInfo in TBDGen.
This commit is contained in:
Huon Wilson
2017-04-07 16:23:51 -07:00
committed by GitHub
10 changed files with 118 additions and 81 deletions

View File

@@ -550,7 +550,9 @@ static bool performCompile(std::unique_ptr<CompilerInstance> &Instance,
}
if (Action == FrontendOptions::EmitTBD) {
return writeTBD(Instance->getMainModule(), opts.getSingleOutputFilename());
auto hasMultipleIRGenThreads = Invocation.getSILOptions().NumThreads > 1;
return writeTBD(Instance->getMainModule(), hasMultipleIRGenThreads,
opts.getSingleOutputFilename());
}
assert(Action >= FrontendOptions::EmitSILGen &&
@@ -795,10 +797,15 @@ static bool performCompile(std::unique_ptr<CompilerInstance> &Instance,
}
if (opts.ValidateTBDAgainstIR) {
bool validationError =
PrimarySourceFile ? validateTBD(PrimarySourceFile, *IRModule)
: validateTBD(Instance->getMainModule(), *IRModule);
if (validationError)
auto hasMultipleIRGenThreads = Invocation.getSILOptions().NumThreads > 1;
bool error;
if (PrimarySourceFile)
error =
validateTBD(PrimarySourceFile, *IRModule, hasMultipleIRGenThreads);
else
error = validateTBD(Instance->getMainModule(), *IRModule,
hasMultipleIRGenThreads);
if (error)
return true;
}