1
Fork 0

coverage: Collect a function's coverage mappings into a single list

This is an intermediate step towards being able to store all of a function's
mappings in function coverage info.
This commit is contained in:
Zalathar 2023-09-04 12:50:51 +10:00
parent 79f935b96c
commit 8efdd4cca6
3 changed files with 65 additions and 75 deletions

View file

@ -135,6 +135,20 @@ impl Op {
}
}
#[derive(Clone, Debug)]
#[derive(TyEncodable, TyDecodable, Hash, HashStable, TypeFoldable, TypeVisitable)]
pub struct Mapping {
pub code_region: CodeRegion,
/// Indicates whether this mapping uses a counter value, expression value,
/// or zero value.
///
/// FIXME: When we add support for mapping kinds other than `Code`
/// (e.g. branch regions, expansion regions), replace this with a dedicated
/// mapping-kind enum.
pub term: CovTerm,
}
/// Stores per-function coverage information attached to a `mir::Body`,
/// to be used in conjunction with the individual coverage statements injected
/// into the function's basic blocks.