Skip to content

Commit 7037893

Browse files
committed
[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
1 parent 11cf263 commit 7037893

File tree

3 files changed

+6
-30
lines changed

3 files changed

+6
-30
lines changed

include/swift/AST/ModuleDependencies.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -787,11 +787,6 @@ class ModuleDependencyInfo {
787787
return storage->auxiliaryFiles;
788788
}
789789

790-
void
791-
setAuxiliaryFiles(const ArrayRef<std::string> auxiliaryFiles) {
792-
storage->auxiliaryFiles.assign(auxiliaryFiles.begin(), auxiliaryFiles.end());
793-
}
794-
795790
bool isStaticLibrary() const {
796791
if (auto *detail = getAsSwiftInterfaceModule())
797792
return detail->isStatic;

include/swift/DependencyScan/SerializedModuleDependencyCacheFormat.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ using LinkLibrariesArrayIDField = IdentifierIDField;
8080
using MacroDependenciesArrayIDField = IdentifierIDField;
8181
using FlagIDArrayIDField = IdentifierIDField;
8282
using DependencyIDArrayIDField = IdentifierIDField;
83-
using AuxiliaryFilesArrayIDField = IdentifierIDField;
8483
using SourceLocationIDArrayIDField = IdentifierIDField;
8584

8685
/// The ID of the top-level block containing the dependency graph
@@ -204,8 +203,7 @@ using ModuleInfoLayout =
204203
DependencyIDArrayIDField, // importedClangModules
205204
DependencyIDArrayIDField, // crossImportOverlayModules
206205
DependencyIDArrayIDField, // swiftOverlayDependencies
207-
ModuleCacheKeyIDField, // moduleCacheKey
208-
AuxiliaryFilesArrayIDField // auxiliaryFiles
206+
ModuleCacheKeyIDField // moduleCacheKey
209207
>;
210208

211209
using SwiftInterfaceModuleDetailsLayout =

lib/DependencyScan/ModuleDependencyCacheSerialization.cpp

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -229,17 +229,12 @@ bool ModuleDependenciesCacheDeserializer::readGraph(
229229
std::vector<ScannerImportStatementInfo> importStatements;
230230
std::vector<ScannerImportStatementInfo> optionalImportStatements;
231231

232-
std::vector<std::string> auxiliaryFiles;
233-
234232
auto addCommonDependencyInfo =
235-
[&importedClangDependenciesIDs, &auxiliaryFiles,
236-
&macroDependencies](ModuleDependencyInfo &moduleDep) {
233+
[&importedClangDependenciesIDs, &macroDependencies]
234+
(ModuleDependencyInfo &moduleDep) {
237235
// Add qualified dependencies of this module
238236
moduleDep.setImportedClangDependencies(importedClangDependenciesIDs);
239237

240-
// Add any auxiliary files
241-
moduleDep.setAuxiliaryFiles(auxiliaryFiles);
242-
243238
// Add macro dependencies
244239
for (const auto &md : macroDependencies)
245240
moduleDep.addMacroDependency(md.first, md.second.LibraryPath,
@@ -441,8 +436,7 @@ bool ModuleDependenciesCacheDeserializer::readGraph(
441436
importedSwiftDependenciesIDsArrayID,
442437
importedClangDependenciesIDsArrayID,
443438
crossImportOverlayDependenciesIDsArrayID,
444-
swiftOverlayDependenciesIDsArrayID, moduleCacheKeyID,
445-
AuxiliaryFilesArrayID;
439+
swiftOverlayDependenciesIDsArrayID, moduleCacheKeyID;
446440

447441
ModuleInfoLayout::readRecord(Scratch, moduleNameID, moduleImportsArrayID,
448442
optionalImportsArrayID, linkLibraryArrayID,
@@ -451,7 +445,7 @@ bool ModuleDependenciesCacheDeserializer::readGraph(
451445
importedClangDependenciesIDsArrayID,
452446
crossImportOverlayDependenciesIDsArrayID,
453447
swiftOverlayDependenciesIDsArrayID,
454-
moduleCacheKeyID, AuxiliaryFilesArrayID);
448+
moduleCacheKeyID);
455449
auto moduleName = getIdentifier(moduleNameID);
456450
if (!moduleName)
457451
llvm::report_fatal_error("Bad module name");
@@ -468,11 +462,6 @@ bool ModuleDependenciesCacheDeserializer::readGraph(
468462
if (optionalOptionalImportStatementInfos)
469463
optionalImportStatements = *optionalOptionalImportStatementInfos;
470464

471-
auto optionalAuxiliaryFiles = getStringArray(AuxiliaryFilesArrayID);
472-
if (optionalAuxiliaryFiles)
473-
for (const auto &af : *optionalAuxiliaryFiles)
474-
auxiliaryFiles.push_back(af);
475-
476465
auto optionalImportedSwiftDependenciesIDs =
477466
getModuleDependencyIDArray(importedSwiftDependenciesIDsArrayID);
478467
if (!optionalImportedSwiftDependenciesIDs)
@@ -1042,7 +1031,6 @@ enum ModuleIdentifierArrayKind : uint8_t {
10421031
ImportedClangDependenciesIDs,
10431032
CrossImportOverlayDependenciesIDs,
10441033
SwiftOverlayDependenciesIDs,
1045-
AuxiliaryFileIDs,
10461034
CompiledModuleCandidates,
10471035
BuildCommandLine,
10481036
SourceFiles,
@@ -1490,9 +1478,7 @@ void ModuleDependenciesCacheSerializer::writeModuleInfo(
14901478
ModuleIdentifierArrayKind::CrossImportOverlayDependenciesIDs),
14911479
getIdentifierArrayID(
14921480
moduleID, ModuleIdentifierArrayKind::SwiftOverlayDependenciesIDs),
1493-
getIdentifier(dependencyInfo.getModuleCacheKey()),
1494-
getIdentifierArrayID(moduleID,
1495-
ModuleIdentifierArrayKind::AuxiliaryFileIDs));
1481+
getIdentifier(dependencyInfo.getModuleCacheKey()));
14961482

14971483
switch (dependencyInfo.getKind()) {
14981484
case swift::ModuleDependencyKind::SwiftInterface: {
@@ -1779,9 +1765,6 @@ void ModuleDependenciesCacheSerializer::collectStringsAndArrays(
17791765
moduleID, ModuleIdentifierArrayKind::SwiftOverlayDependenciesIDs,
17801766
dependencyInfo->getSwiftOverlayDependencies());
17811767

1782-
addStringArray(moduleID, ModuleIdentifierArrayKind::AuxiliaryFileIDs,
1783-
dependencyInfo->getAuxiliaryFiles());
1784-
17851768
std::vector<std::string> clangHeaderDependencyNames;
17861769
for (const auto &headerDepID :
17871770
dependencyInfo->getHeaderClangDependencies())

0 commit comments

Comments
 (0)