Module counters

Source

ModulesΒ§

balanced_flow πŸ”’
A control-flow graph can be said to have β€œbalancedΒ flow” if the flow (execution count) of each node is equal to the sum of its in-edge flows, and also equal to the sum of its out-edge flows.
node_flow πŸ”’
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.
union_find πŸ”’

StructsΒ§

BcbCountersData πŸ”’
Struct containing the results of prepare_bcb_counters_data.
CoverageCounters πŸ”’
Generates and stores coverage counter and coverage expression information associated with nodes in the coverage graph.

FunctionsΒ§

make_node_flow_priority_list πŸ”’
Arranges the nodes in balanced_graph into a list, such that earlier nodes take priority in being given a counter expression instead of a physical counter.
prepare_bcb_counters_data πŸ”’
Analyzes the coverage graph to create intermediate data structures that will later be used (during codegen) to create physical counters or counter expressions for each BCB node that needs one.
transcribe_counters πŸ”’