Re-exports§
pub use self::dense::DenseBackwardDataFlowAnalysis;
pub use self::dense::DenseForwardDataFlowAnalysis;
pub use self::dense::DenseLattice;
pub use self::sparse::SparseBackwardDataFlowAnalysis;
pub use self::sparse::SparseForwardDataFlowAnalysis;
pub use self::sparse::SparseLattice;
Modules§
Structs§
- Analysis
State Guard - An immmutable handle/guard for some analysis state T
- Analysis
State Guard Mut - A mutable handle/guard for some analysis state T
- Analysis
State Info - Data
Flow Config - Configuration for the data flow solver and child analyses.
- Data
Flow Solver - The DataFlowSolver is responsible for running a collection of DataFlowAnalysis against a specific operation in the IR, such that the analyses reach a fixpoint state.
- Dense
- Lattice
- This type adapts a LatticeLike value for use as an AnalysisState by a [DataFlowAnalysis].
- Lattice
Anchor Ref - This represents a pointer to a type-erased LatticeAnchor value.
- Sparse
Enums§
- Analysis
State Subscription - Call
Control Flow Action - Indicates whether the control enters, exits, or skips over the callee (in the case of external functions).
- Change
Result - A result type used to indicatee if a change happened.
Traits§
- Analysis
Kind - A marker trait for abstracting/specializing over the abstract kind of an analysis: dense or sparse.
- Analysis
State - Analysis
State Subscription Behavior - Analysis
Strategy - This trait represents a type that adapts some primitive analysis
T
to the abstract DataFlowAnalysis interface. - Buildable
Analysis State - Buildable
Data Flow Analysis - This trait represents a type which is can be constructed into an instance of DataFlowAnalysis by the DataFlowSolver, by constructing an instance of its corresponding AnalysisStrategy with an instance of the type. The strategy is responsible for adapting the specific semantics of the analysis to the abstract DataFlowAnalysis interface.
- Data
Flow Analysis - DataFlowAnalysis is the base trait for all data-flow analyses.
- Lattice
Anchor - An abstraction over lattice anchors.
- Lattice
Like - This trait must be implemented for any value that exhibits the properties of a Lattice.