[−][src]Trait rustc_mir::dataflow::at_location::FlowsAtLocation
🔬 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 trait for "cartesian products" of multiple FlowAtLocation.
There's probably a way to auto-impl this, but I think it is cleaner to have manual visitor impls.
Required Methods
fn reset_to_entry_of(&mut self, bb: BasicBlock)
🔬 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?
Reset the state bitvector to represent the entry to block bb
.
fn reset_to_exit_of(&mut self, bb: BasicBlock)
🔬 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?
Reset the state bitvector to represent the exit of the
terminator of block bb
.
Important: In the case of a Call
terminator, these
effects do not include the result of storing the destination
of the call, since that is edge-dependent (in other words, the
effects don't apply to the unwind edge).
fn reconstruct_statement_effect(&mut self, loc: Location)
🔬 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?
Build gen + kill sets for statement at loc
.
Note that invoking this method alone does not change the
curr_state
-- you must invoke apply_local_effect
afterwards.
fn reconstruct_terminator_effect(&mut self, loc: Location)
🔬 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?
Build gen + kill sets for terminator for loc
.
Note that invoking this method alone does not change the
curr_state
-- you must invoke apply_local_effect
afterwards.
fn apply_local_effect(&mut self, loc: Location)
🔬 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?
Apply current gen + kill sets to flow_state
.
(loc
parameters can be ignored if desired by
client. For the terminator, the stmt_idx
will be the number
of statements in the block.)
Implementors
impl<'b, 'gcx, 'tcx> FlowsAtLocation for Flows<'b, 'gcx, 'tcx>
[src]
impl<'b, 'gcx, 'tcx> FlowsAtLocation for Flows<'b, 'gcx, 'tcx>
fn reset_to_entry_of(&mut self, bb: BasicBlock)
[src]
fn reset_to_entry_of(&mut self, bb: BasicBlock)
🔬 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?
fn reset_to_exit_of(&mut self, bb: BasicBlock)
[src]
fn reset_to_exit_of(&mut self, bb: BasicBlock)
🔬 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?
fn reconstruct_statement_effect(&mut self, location: Location)
[src]
fn reconstruct_statement_effect(&mut self, location: Location)
🔬 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?
fn reconstruct_terminator_effect(&mut self, location: Location)
[src]
fn reconstruct_terminator_effect(&mut self, location: Location)
🔬 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?
fn apply_local_effect(&mut self, location: Location)
[src]
fn apply_local_effect(&mut self, location: Location)
🔬 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<BD> FlowsAtLocation for FlowAtLocation<BD> where
BD: BitDenotation,
[src]
impl<BD> FlowsAtLocation for FlowAtLocation<BD> where
BD: BitDenotation,
fn reset_to_entry_of(&mut self, bb: BasicBlock)
[src]
fn reset_to_entry_of(&mut self, bb: BasicBlock)
🔬 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?
fn reset_to_exit_of(&mut self, bb: BasicBlock)
[src]
fn reset_to_exit_of(&mut self, bb: BasicBlock)
🔬 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?
fn reconstruct_statement_effect(&mut self, loc: Location)
[src]
fn reconstruct_statement_effect(&mut self, loc: Location)
🔬 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?
fn reconstruct_terminator_effect(&mut self, loc: Location)
[src]
fn reconstruct_terminator_effect(&mut self, loc: Location)
🔬 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?
fn apply_local_effect(&mut self, _loc: Location)
[src]
fn apply_local_effect(&mut self, _loc: Location)
🔬 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?