coverage: Store the number of counters/expressions in function coverage info
Coverage codegen can now allocate arrays based on the number of counters/expressions originally used by the instrumentor. The existing query that inspects coverage statements is still used for determining the number of counters passed to `llvm.instrprof.increment`. If some high-numbered counters were removed by MIR optimizations, the instrumented binary can potentially use less memory and disk space at runtime.
This commit is contained in:
parent
c479bc7f3b
commit
a18c5f3b75
8 changed files with 69 additions and 102 deletions
|
@ -126,6 +126,14 @@ impl CoverageCounters {
|
|||
next
|
||||
}
|
||||
|
||||
pub(super) fn num_counters(&self) -> usize {
|
||||
self.next_counter_id.as_usize()
|
||||
}
|
||||
|
||||
pub(super) fn num_expressions(&self) -> usize {
|
||||
self.next_expression_id.as_usize()
|
||||
}
|
||||
|
||||
fn set_bcb_counter(
|
||||
&mut self,
|
||||
bcb: BasicCoverageBlock,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue