Structs

A node in the control-flow graph of CoverageGraph.
BasicCoverageBlockData holds the data indexed by a BasicCoverageBlock.
BcbBranch 🔒
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 CoverageGraphs nodes are BasicCoverageBlocks, which encompass one or more MIR BasicBlocks, 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 BasicBlocks.)
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.

Constants

START_BCB 🔒

Functions

Type Definitions