Module rustc_mir::dataflow [−][src]
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Re-exports
use syntax::ast; |
use syntax::ast::MetaItem; |
use rustc_data_structures::indexed_set::IdxSet; |
use rustc_data_structures::indexed_set::IdxSetBuf; |
use rustc_data_structures::indexed_vec::Idx; |
use rustc_data_structures::bitslice::bitwise; |
use rustc_data_structures::bitslice::BitwiseOperator; |
use rustc::ty; |
use rustc::ty::TyCtxt; |
use rustc::mir; |
use rustc::mir::Mir; |
use rustc::mir::BasicBlock; |
use rustc::mir::BasicBlockData; |
use rustc::mir::Location; |
use rustc::mir::Statement; |
use rustc::mir::Terminator; |
use rustc::session::Session; |
use std::borrow::Borrow; |
use std::fmt; |
use std::io; |
use std::mem; |
use std::path::PathBuf; |
use std::usize; |
pub use self::impls::MaybeStorageLive; |
pub use self::impls::MaybeInitializedPlaces; |
pub use self::impls::MaybeUninitializedPlaces; |
pub use self::impls::DefinitelyInitializedPlaces; |
pub use self::impls::MovingOutStatements; |
pub use self::impls::EverInitializedPlaces; |
pub use self::impls::borrows::Borrows; |
pub use self::impls::HaveBeenBorrowedLocals; |
pub use self::at_location::FlowAtLocation; |
pub use self::at_location::FlowsAtLocation; |
pub(crate) use self::drop_flag_effects::*; |
use self::move_paths::MoveData; |
pub(crate) use self::move_paths::indexes; |
Modules
at_location |
[ Experimental ] A nice wrapper to consume dataflow results at several CFG locations. |
drop_flag_effects |
[ Experimental ]
|
graphviz |
[ Experimental ] Hook into libgraphviz for rendering dataflow graphs for MIR. |
impls |
[ Experimental ] Dataflow analyses are built upon some interpretation of the bitvectors attached to each basic block, represented via a zero-sized structure. |
move_paths |
[ Experimental ]
|
Structs
AllSets |
[ Experimental ]
|
Bits |
[ Experimental ] Maps each block to a set of bits |
BlockSets |
[ Experimental ] Triple of sets associated with a given block. |
DataflowAnalysis |
[ Experimental ]
|
DataflowBuilder |
[ Experimental ]
|
DataflowResults |
[ Experimental ]
|
DataflowState |
[ Experimental ] State of a dataflow analysis; couples a collection of bit sets with operator used to initialize and merge bits during analysis. |
DebugFormatted |
[ Experimental ]
|
MoveDataParamEnv |
[ Experimental ]
|
PropagationContext |
[ Experimental ]
|
Traits
BitDenotation |
[ Experimental ]
|
Dataflow |
[ Experimental ]
|
DataflowResultsConsumer |
[ Experimental ] DataflowResultsConsumer abstracts over walking the MIR with some already constructed dataflow results. |
InitialFlow |
[ Experimental ] Parameterization for the precise form of data flow that is used.
|
Functions
dataflow_path |
[ Experimental ]
|
do_dataflow |
[ Experimental ]
|
has_rustc_mir_with |
[ Experimental ]
|
state_for_location |
[ Experimental ]
|