Crate midenc_hir_analysis

Crate midenc_hir_analysis 

Source

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§

analyses
dense
sparse

Structs§

AnalysisStateGuard
An immmutable handle/guard for some analysis state T
AnalysisStateGuardMut
A mutable handle/guard for some analysis state T
AnalysisStateInfo
DataFlowConfig
Configuration for the data flow solver and child analyses.
DataFlowSolver
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].
LatticeAnchorRef
This represents a pointer to a type-erased LatticeAnchor value.
Sparse

Enums§

AnalysisStateSubscription
CallControlFlowAction
Indicates whether the control enters, exits, or skips over the callee (in the case of external functions).
ChangeResult
A result type used to indicatee if a change happened.

Traits§

AnalysisKind
A marker trait for abstracting/specializing over the abstract kind of an analysis: dense or sparse.
AnalysisState
AnalysisStateSubscriptionBehavior
AnalysisStrategy
This trait represents a type that adapts some primitive analysis T to the abstract DataFlowAnalysis interface.
BuildableAnalysisState
BuildableDataFlowAnalysis
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.
DataFlowAnalysis
DataFlowAnalysis is the base trait for all data-flow analyses.
LatticeAnchor
An abstraction over lattice anchors.
LatticeLike
This trait must be implemented for any value that exhibits the properties of a Lattice.

Type Aliases§

AnalysisQueue
Revision