apple / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. This fork is used to manage Apple’s stable releases of Clang as well as support the Swift project.
https://llvm.org
Other
1.1k stars 320 forks source link

[clang][cas] Ingest the plist output of the clang analyzer action when caching is enabled #8858

Closed akyrtzi closed 4 weeks ago

akyrtzi commented 4 weeks ago

The ingestion happens directly from the file-system when the analyzer action is used. This is a simpler approach that having the analyzer infrastructure adopt VirtualOutputBackend, which would be intrusive and require constant maintenance of such code out-of-tree.

Once VirtualOutputBackend gets upstreamed we should also change the analyzer to adopt it on the upstream repo, then the direct ingestion code can be removed.

rdar://129021951

akyrtzi commented 4 weeks ago

@swift-ci Please test LLVM

benlangmuir commented 4 weeks ago

What's the reason we're not moving this code to use virtual output backend? Is there some specific blocker?

akyrtzi commented 4 weeks ago

What's the reason we're not moving this code to use virtual output backend? Is there some specific blocker?

Because it is quite intrusive to the analyzer infrastructure and instead of constant maintenance of that code out-of-tree I prefer to do something simpler now until we move the analyzer to use the virtual output backend on upstream, after the output backend changes get upstreamed.

akyrtzi commented 4 weeks ago

Could you please add the explanation about why we're not using VirtualOutputBackend to the commit message?

Done.