aganea wrote:

> > Not sure @jansvoboda11 perhaps if we want to cherry pick 
> > [b768a8c](https://github.com/llvm/llvm-project/commit/b768a8c1db85b9e84fd8b356570a3a8fbe37acf6)
> >  on `release/18.x`? Or should we land just a simple PR with just the 
> > function change above?
> 
> I can try pulling 
> [b768a8c](https://github.com/llvm/llvm-project/commit/b768a8c1db85b9e84fd8b356570a3a8fbe37acf6)
>  into the release branch.

Sorry I've been misleading, pushing b768a8c on 18.x doesn't fix the issue. The 
problem is around the directory queries and the function in b768a8c returns 
`false` for that case (thus no caching of errors).

Running with:
```
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;
}
```
Takes 4 min 8 sec.

Then running with:
```
static bool shouldCacheStatFailures(StringRef Filename) {
  return true;
}
```
Takes 1 min 47 sec.

I think something more involved would be needed here. @jansvoboda11 in which 
case we don't want to consider the file system immutable during the execution 
of clang-scan-deps?

https://github.com/llvm/llvm-project/pull/88152
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to