mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[Dependency Scanning][Serialization] Do not serialize auxiliary files
The field is only used to store information to be used in finalize stage, in caching builds. When loading scan results from the cache, the entries are finalized already and have the file info encoded in CASIDs already. Resolves rdar://150307865
This commit is contained in:
@@ -229,17 +229,12 @@ bool ModuleDependenciesCacheDeserializer::readGraph(
|
||||
std::vector<ScannerImportStatementInfo> importStatements;
|
||||
std::vector<ScannerImportStatementInfo> optionalImportStatements;
|
||||
|
||||
std::vector<std::string> auxiliaryFiles;
|
||||
|
||||
auto addCommonDependencyInfo =
|
||||
[&importedClangDependenciesIDs, &auxiliaryFiles,
|
||||
¯oDependencies](ModuleDependencyInfo &moduleDep) {
|
||||
[&importedClangDependenciesIDs, ¯oDependencies]
|
||||
(ModuleDependencyInfo &moduleDep) {
|
||||
// Add qualified dependencies of this module
|
||||
moduleDep.setImportedClangDependencies(importedClangDependenciesIDs);
|
||||
|
||||
// Add any auxiliary files
|
||||
moduleDep.setAuxiliaryFiles(auxiliaryFiles);
|
||||
|
||||
// Add macro dependencies
|
||||
for (const auto &md : macroDependencies)
|
||||
moduleDep.addMacroDependency(md.first, md.second.LibraryPath,
|
||||
@@ -441,8 +436,7 @@ bool ModuleDependenciesCacheDeserializer::readGraph(
|
||||
importedSwiftDependenciesIDsArrayID,
|
||||
importedClangDependenciesIDsArrayID,
|
||||
crossImportOverlayDependenciesIDsArrayID,
|
||||
swiftOverlayDependenciesIDsArrayID, moduleCacheKeyID,
|
||||
AuxiliaryFilesArrayID;
|
||||
swiftOverlayDependenciesIDsArrayID, moduleCacheKeyID;
|
||||
|
||||
ModuleInfoLayout::readRecord(Scratch, moduleNameID, moduleImportsArrayID,
|
||||
optionalImportsArrayID, linkLibraryArrayID,
|
||||
@@ -451,7 +445,7 @@ bool ModuleDependenciesCacheDeserializer::readGraph(
|
||||
importedClangDependenciesIDsArrayID,
|
||||
crossImportOverlayDependenciesIDsArrayID,
|
||||
swiftOverlayDependenciesIDsArrayID,
|
||||
moduleCacheKeyID, AuxiliaryFilesArrayID);
|
||||
moduleCacheKeyID);
|
||||
auto moduleName = getIdentifier(moduleNameID);
|
||||
if (!moduleName)
|
||||
llvm::report_fatal_error("Bad module name");
|
||||
@@ -468,11 +462,6 @@ bool ModuleDependenciesCacheDeserializer::readGraph(
|
||||
if (optionalOptionalImportStatementInfos)
|
||||
optionalImportStatements = *optionalOptionalImportStatementInfos;
|
||||
|
||||
auto optionalAuxiliaryFiles = getStringArray(AuxiliaryFilesArrayID);
|
||||
if (optionalAuxiliaryFiles)
|
||||
for (const auto &af : *optionalAuxiliaryFiles)
|
||||
auxiliaryFiles.push_back(af);
|
||||
|
||||
auto optionalImportedSwiftDependenciesIDs =
|
||||
getModuleDependencyIDArray(importedSwiftDependenciesIDsArrayID);
|
||||
if (!optionalImportedSwiftDependenciesIDs)
|
||||
@@ -1042,7 +1031,6 @@ enum ModuleIdentifierArrayKind : uint8_t {
|
||||
ImportedClangDependenciesIDs,
|
||||
CrossImportOverlayDependenciesIDs,
|
||||
SwiftOverlayDependenciesIDs,
|
||||
AuxiliaryFileIDs,
|
||||
CompiledModuleCandidates,
|
||||
BuildCommandLine,
|
||||
SourceFiles,
|
||||
@@ -1490,9 +1478,7 @@ void ModuleDependenciesCacheSerializer::writeModuleInfo(
|
||||
ModuleIdentifierArrayKind::CrossImportOverlayDependenciesIDs),
|
||||
getIdentifierArrayID(
|
||||
moduleID, ModuleIdentifierArrayKind::SwiftOverlayDependenciesIDs),
|
||||
getIdentifier(dependencyInfo.getModuleCacheKey()),
|
||||
getIdentifierArrayID(moduleID,
|
||||
ModuleIdentifierArrayKind::AuxiliaryFileIDs));
|
||||
getIdentifier(dependencyInfo.getModuleCacheKey()));
|
||||
|
||||
switch (dependencyInfo.getKind()) {
|
||||
case swift::ModuleDependencyKind::SwiftInterface: {
|
||||
@@ -1779,9 +1765,6 @@ void ModuleDependenciesCacheSerializer::collectStringsAndArrays(
|
||||
moduleID, ModuleIdentifierArrayKind::SwiftOverlayDependenciesIDs,
|
||||
dependencyInfo->getSwiftOverlayDependencies());
|
||||
|
||||
addStringArray(moduleID, ModuleIdentifierArrayKind::AuxiliaryFileIDs,
|
||||
dependencyInfo->getAuxiliaryFiles());
|
||||
|
||||
std::vector<std::string> clangHeaderDependencyNames;
|
||||
for (const auto &headerDepID :
|
||||
dependencyInfo->getHeaderClangDependencies())
|
||||
|
||||
Reference in New Issue
Block a user