================
@@ -1858,6 +1851,70 @@ ASTReader::readSLocOffset(ModuleFile *F, unsigned Index)
{
}
}
+void ASTReader::buildLoadedInputFiles() {
+ LoadedInputFiles.emplace();
+ // Modules are visited in index order, which is fixed before this runs, so
the
+ // copy chosen for a file is the same on every write of this module.
+ for (ModuleFile &F : ModuleMgr) {
+ for (unsigned I = 0, N = F.InputFilesLoaded.size(); I != N; ++I) {
+ InputFileInfo FI = getInputFileInfo(F, I + 1);
+ if (FI.UnresolvedImportedFilename.empty())
+ continue;
+ // An overridden input holds a buffer rather than the file named by its
+ // path, so its path and size cannot identify matching contents.
+ if (FI.Overridden)
+ continue;
+ (*LoadedInputFiles)[FI.StoredSize].push_back({&F, I + 1});
----------------
ayokunle321 wrote:
Added a base name filter that should help with a high number of collisions i.e,
reducing the number of times we ask the file system.
See
[ed3c706](https://github.com/llvm/llvm-project/pull/209795/commits/ed3c7069ea7c6fe0662c8ba917ce2c285daa81a5)
https://github.com/llvm/llvm-project/pull/209795
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits