Skip to main content

Module graph

Module graph 

Source

Re-exportsΒ§

use std::cmp::Ordering; πŸ”’
use std::ops::Index; πŸ”’
use std::ops::IndexMut; πŸ”’
use std::mem; πŸ”’
use std::slice; πŸ”’
use rustc_data_structures::fx::FxHashSet; πŸ”’
use rustc_data_structures::graph::dominators::Dominators; πŸ”’
use rustc_data_structures::graph; πŸ”’
use rustc_data_structures::graph::DirectedGraph; πŸ”’
use rustc_data_structures::graph::StartNode; πŸ”’
use rustc_index::IndexVec; πŸ”’
use rustc_index::bit_set::DenseBitSet; πŸ”’
use rustc_middle::mir; πŸ”’
use rustc_middle::mir::BasicBlock; πŸ”’
use rustc_middle::mir::Terminator; πŸ”’
use rustc_middle::mir::TerminatorKind; πŸ”’
use tracing::debug; πŸ”’

StructsΒ§

BasicCoverageBlock πŸ”’
During the InstrumentCoverage MIR pass, a BCB is a node in the β€œcoverageΒ graph”, which is a refinement of the MIR control-flow graph that merges or omits some blocks that aren’t relevant to coverage.
BasicCoverageBlockData πŸ”’
BasicCoverageBlockData holds the data indexed by a BasicCoverageBlock.
CoverageGraph πŸ”’
A coverage-specific simplification of the MIR control flow graph (CFG). The CoverageGraphs nodes are BasicCoverageBlocks, which encompass one or more MIR BasicBlocks.
CoverageRelevantSubgraph πŸ”’
Wrapper around a mir::BasicBlocks graph that restricts each node’s successors to only the ones considered β€œrelevant” when building a coverage graph.
CoverageSuccessors πŸ”’
Holds the coverage-relevant successors of a basic block’s terminator, and indicates whether that block can potentially be combined into the same BCB as its sole successor.

ConstantsΒ§

START_BCB πŸ”’

FunctionsΒ§

bcb_filtered_successors πŸ”’