Revert "[Caching][NFC] Using llvm::cas::CASConfiguration"

This reverts commit 4f059033bb. The change
is actually not NFC since previously, there is a cache in the
CompilerInvocation that prevents the same CAS from the same CASOptions
from being initialized multiple times, which was relied upon when
running inside sub invocation. When switching to a non-caching simple
CASOption types, it causes every single sub instance will create its own
CAS, and it can consume too many file descriptors and causing errors
during dependency scanning.

rdar://164903080
This commit is contained in:
Steven Wu
2025-11-17 11:38:16 -08:00
parent c337446464
commit 8e68fab034
9 changed files with 23 additions and 32 deletions

View File

@@ -1431,8 +1431,8 @@ static bool generateReproducer(CompilerInstance &Instance,
llvm::sys::path::append(casPath, "cas");
clang::CASOptions newCAS;
newCAS.CASPath = casPath.str();
newCAS.PluginPath = casOpts.Config.PluginPath;
newCAS.PluginOptions = casOpts.Config.PluginOptions;
newCAS.PluginPath = casOpts.CASOpts.PluginPath;
newCAS.PluginOptions = casOpts.CASOpts.PluginOptions;
auto db = newCAS.getOrCreateDatabases();
if (!db) {
diags.diagnose(SourceLoc(), diag::error_cas_initialization,