Module rustc_mir_transform::coverage::graph
source · Structs
A node in the control-flow graph of CoverageGraph.
BasicCoverageBlockData
holds the data indexed by a BasicCoverageBlock
.Represents a successor from a branching BasicCoverageBlock (such as the arms of a
SwitchInt
)
as either the successor BCB itself, if it has only one incoming edge, or the successor plus
the specific branching BCB, representing the edge between the two. The latter case
distinguishes this incoming edge from other incoming edges to the same target_bcb
.A coverage-specific simplification of the MIR control flow graph (CFG). The
CoverageGraph
s
nodes are BasicCoverageBlock
s, which encompass one or more MIR BasicBlock
s, plus a
CoverageKind
counter (to be added by CoverageCounters::make_bcb_counters
), and an optional
set of additional counters–if needed–to count incoming edges, if there are more than one.
(These “edge counters” are eventually converted into new MIR BasicBlock
s.)Maintains separate worklists for each loop in the BasicCoverageBlock CFG, plus one for the
CoverageGraph outside all loops. This supports traversing the BCB CFG in a way that
ensures a loop is completely traversed before processing Blocks after the end of the loop.