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).
Re-exportsยง
use rustc_data_structures::graph;๐use rustc_data_structures::union_find::UnionFind;๐use rustc_index::bit_set::DenseBitSet;๐use rustc_index::Idx;๐use rustc_index::IndexSlice;๐use rustc_index::IndexVec;๐use rustc_middle::mir::coverage::Op;๐
Structsยง
- Counter
Term ๐ - Part of a nodeโs counter expression, which is a sum of counter terms.
- Node
Counters ๐ - End result of allocating physical counters and counter expressions for the nodes of a graph.
- Node
Flow ๐Data - Data representing a view of some underlying graph, in which each nodeโs successors have been merged into a single โsupernodeโ.
- Spantree
Builder ๐ - Spantree
Edge ๐
Functionsยง
- 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.