You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Resource summary cache: the key depends on where the IR comes from #192
The resource summary cache keys change when a module's IR comes from the compile IR cache instead of a fresh compile. The summaries of an unchanged file are then computed and written twice: once after the compile, and again on the next run, which reads the IR from the cache.
Example
alias.c, caller.c and model.txt are any inputs with the resource model loaded, for example:
ResourceSummaryOperations::cacheKey (src/app/AnalyzerApp.cpp) hashes hashModuleIR, the module printed in full, ModuleID included. InputPipeline names the module's buffer compiled_bc after a compile and cached_ir_bc after reading the compile IR cache, so the same IR gets two keys.
Expected
The same IR gives the same key whatever its origin: run 2 above reads the summaries run 1 wrote (0 module analyses). For example, the key could leave out the module identifier, or both origins could give the module the same identifier.
The cost is an extra computation of the summaries, not a wrong result. CI runs the test suite with a compile IR cache. In #190, a check that compares two runs fills that cache first, so both runs read their IR from it.
Activity