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

@@ -23,14 +23,14 @@ void CASOptions::enumerateCASConfigurationFlags(
llvm::function_ref<void(llvm::StringRef)> Callback) const {
if (EnableCaching) {
Callback("-cache-compile-job");
if (!Config.CASPath.empty()) {
if (!CASOpts.CASPath.empty()) {
Callback("-cas-path");
Callback(Config.CASPath);
Callback(CASOpts.CASPath);
}
if (!Config.PluginPath.empty()) {
if (!CASOpts.PluginPath.empty()) {
Callback("-cas-plugin-path");
Callback(Config.PluginPath);
for (auto Opt : Config.PluginOptions) {
Callback(CASOpts.PluginPath);
for (auto Opt : CASOpts.PluginOptions) {
Callback("-cas-plugin-option");
Callback((llvm::Twine(Opt.first) + "=" + Opt.second).str());
}