Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[clang][cas] Avoid calling freezeConfig for every cache key #9803

Open
wants to merge 1 commit into
base: next
Choose a base branch
from

Conversation

benlangmuir
Copy link

With the libclang caching APIs, it is possible to configure CASOptions separately from the CAS used for scanning. In this setup, the CAS is not pre-cached in the CASOptions and ends up being re-opened for every cache key, which is expensive with some plugin CAS. Instead, get the hash identifier from the already open CAS and only freezeConfig when canonicalizing for an actual compilation.

rdar://141555438

With the libclang caching APIs, it is possible to configure CASOptions
separately from the CAS used for scanning. In this setup, the CAS is not
pre-cached in the CASOptions and ends up being re-opened for every cache
key, which is expensive with some plugin CAS. Instead, get the hash
identifier from the already open CAS and only freezeConfig when
canonicalizing for an actual compilation.

rdar://141555438
@benlangmuir benlangmuir requested a review from akyrtzi January 7, 2025 01:04
@benlangmuir
Copy link
Author

@swift-ci please test llvm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant