Module rustc::middle::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?

A module for propagating forward dataflow information. The analysis assumes that the items to be propagated can be represented as bits and thus uses bitvectors. Your job is simply to specify the so-called GEN and KILL bits for each expression.

Re-exports

use cfg;
use cfg::CFGIndex;
use ty::TyCtxt;
use std::io;
use std::mem;
use std::usize;
use syntax::print::pprust::PrintState;
use rustc_data_structures::graph::OUTGOING;
use util::nodemap::FxHashMap;
use hir;
use hir::intravisit;
use hir::intravisit::IdRange;
use hir::print as pprust;

Structs

DataFlowContext [
Experimental
]
PropagationContext [
Experimental
]
Subtract [
Experimental
]
Union [
Experimental
]

Enums

EntryOrExit [
Experimental
]
KillFrom [
Experimental
]

Flag used by add_kill to indicate whether the provided kill takes effect only when control flows directly through the node in question, or if the kill's effect is associated with any control-flow directly through or indirectly over the node.

Traits

BitwiseOperator [
Experimental
]
DataFlowOperator [
Experimental
]

Parameterization for the precise form of data flow that is used.

Functions

bit_str [
Experimental
]
bits_to_string [
Experimental
]
bitwise [
Experimental
]
build_local_id_to_index [
Experimental
]
get_cfg_indices [
Experimental
]
mut_bits_to_string [
Experimental
]
set_bit [
Experimental
]