Struct rustc_mir::dataflow::DataflowAnalysis[][src]

pub struct DataflowAnalysis<'a, 'tcx: 'a, O> where
    O: BitDenotation
{ flow_state: DataflowState<O>, dead_unwinds: &'a IdxSet<BasicBlock>, mir: &'a Mir<'tcx>, }
🔬 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?

Fields

🔬 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?

🔬 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?

🔬 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?

Methods

impl<'a, 'gcx: 'tcx, 'tcx: 'a, BD> DataflowAnalysis<'a, 'tcx, BD> where
    BD: BitDenotation
[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?

impl<'a, 'tcx: 'a, BD> DataflowAnalysis<'a, 'tcx, BD> where
    BD: BitDenotation
[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?

🔬 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?

impl<'a, 'tcx: 'a, O> DataflowAnalysis<'a, 'tcx, O> where
    O: BitDenotation
[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?

🔬 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?

impl<'a, 'tcx, D> DataflowAnalysis<'a, 'tcx, D> where
    D: BitDenotation
[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?

🔬 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?

🔬 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?

impl<'a, 'tcx: 'a, D> DataflowAnalysis<'a, 'tcx, D> where
    D: BitDenotation
[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?

Propagates the bits of in_out into all the successors of bb, using bitwise operator denoted by self.operator.

For most blocks, this is entirely uniform. However, for blocks that end with a call terminator, the effect of the call on the dataflow state may depend on whether the call returned successfully or unwound.

To reflect this, the propagate_call_return method of the BitDenotation mutates in_out when propagating in_out via a call terminator; such mutation is performed last, to ensure its side-effects do not leak elsewhere (e.g. into unwind target).

🔬 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?

Auto Trait Implementations

impl<'a, 'tcx, O> !Send for DataflowAnalysis<'a, 'tcx, O>

impl<'a, 'tcx, O> !Sync for DataflowAnalysis<'a, 'tcx, O>