rustc_mir_transform::coverage::counters::node_flow - Rust (original) (raw)

Expand description

For each node in a control-flow graph, determines whether that node should have a physical counter, or a counter expression that is derived from the physical counters of other nodes.

Based on the algorithm given in “Optimal measurement points for program frequency counts” (Knuth & Stevenson, 1973).

CounterTerm 🔒

Part of a node’s counter expression, which is a sum of counter terms.

NodeCounters 🔒

End result of allocating physical counters and counter expressions for the nodes of a graph.

NodeFlowData 🔒

Data representing a view of some underlying graph, in which each node’s successors have been merged into a single “supernode”.

SpantreeBuilder 🔒

SpantreeEdge 🔒

make_node_counters 🔒

Uses the graph information in node_flow_data, together with a given permutation of all nodes in the graph, to create physical counters and counter expressions for each node in the underlying graph.

node_flow_data_for_balanced_graph 🔒

Creates a “merged” view of an underlying graph.