[clang] [clang][deps] Only bypass scanning VFS for the module cache (PR #88800)
Jan Svoboda via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 16 09:48:21 PDT 2024
================
@@ -201,11 +201,8 @@ const CachedRealPath &DependencyScanningFilesystemSharedCache::CacheShard::
return *StoredRealPath;
}
-static bool shouldCacheStatFailures(StringRef Filename) {
- StringRef Ext = llvm::sys::path::extension(Filename);
- if (Ext.empty())
- return false; // This may be the module cache directory.
- return true;
+bool DependencyScanningWorkerFilesystem::shouldBypass(StringRef Path) const {
+ return BypassedPathPrefix && Path.starts_with(*BypassedPathPrefix);
----------------
jansvoboda11 wrote:
I thought that the rest of the compiler just appends to the `Path` we pass in here. But looking into that a bit closer I see that `pruneModuleCache()` in `CompilerInstance.cpp` calls `llvm::sys::path::native()` on this and `HeaderSearch::getCachedModuleFileNameImpl()` calls `llvm::sys::fs::make_absolute()`. I'll investigate if these are necessary and if so, I'll try to unify things so that just doing string prefix match is enough in all situations.
https://github.com/llvm/llvm-project/pull/88800
More information about the cfe-commits
mailing list