mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[Caching] Add fast swift instance setup for cache replay
Add a fast path to create swift CompilerInstance when it is only used to replay output when there is a cache hit. The normal `setup` function is very expensive to call, especially in cache mode to setup inputs, and it needs to be called once per input file from libSwiftScan API due to the current caching granularity. The fast path will only construct the part that is needed for output replay, including the CAS, the output backend and caching diagnostic processor. rdar://127062609
This commit is contained in:
@@ -932,7 +932,8 @@ static llvm::Error replayCompilation(SwiftScanReplayInstance &Instance,
|
||||
Invocation.getDiagnosticOptions().EmitMacroExpansionFiles);
|
||||
|
||||
std::string InstanceSetupError;
|
||||
if (Inst.setup(Instance.Invocation, InstanceSetupError, Instance.Args))
|
||||
if (Inst.setupForReplay(Instance.Invocation, InstanceSetupError,
|
||||
Instance.Args))
|
||||
return createStringError(inconvertibleErrorCode(), InstanceSetupError);
|
||||
|
||||
auto *CDP = Inst.getCachingDiagnosticsProcessor();
|
||||
|
||||
Reference in New Issue
Block a user