Struct rustc_mir::dataflow::impls::storage_liveness::MaybeStorageLive [−][src]
pub struct MaybeStorageLive<'a, 'tcx: 'a> { 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
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?
Methods
impl<'a, 'tcx: 'a> MaybeStorageLive<'a, 'tcx>
[src]
impl<'a, 'tcx: 'a> MaybeStorageLive<'a, 'tcx>
pub fn new(mir: &'a Mir<'tcx>) -> Self
[src]
pub fn new(mir: &'a Mir<'tcx>) -> Self
🔬 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?
pub fn mir(&self) -> &Mir<'tcx>
[src]
pub fn mir(&self) -> &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?
Trait Implementations
impl<'a, 'tcx: 'a> Copy for MaybeStorageLive<'a, 'tcx>
[src]
impl<'a, 'tcx: 'a> Copy for MaybeStorageLive<'a, 'tcx>
impl<'a, 'tcx: 'a> Clone for MaybeStorageLive<'a, 'tcx>
[src]
impl<'a, 'tcx: 'a> Clone for MaybeStorageLive<'a, 'tcx>
fn clone(&self) -> MaybeStorageLive<'a, 'tcx>
[src]
fn clone(&self) -> MaybeStorageLive<'a, 'tcx>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<'a, 'tcx> BitDenotation for MaybeStorageLive<'a, 'tcx>
[src]
impl<'a, 'tcx> BitDenotation for MaybeStorageLive<'a, 'tcx>
type Idx = Local
🔬 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?
Specifies what index type is used to access the bitvector.
fn name() -> &'static str
[src]
fn name() -> &'static str
🔬 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 name describing the dataflow analysis that this BitDenotation is supporting. The name should be something suitable for plugging in as part of a filename e.g. avoid space-characters or other things that tend to look bad on a file system, like slashes or periods. It is also better for the name to be reasonably short, again because it will be plugged into a filename. Read more
fn bits_per_block(&self) -> usize
[src]
fn bits_per_block(&self) -> usize
🔬 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?
Size of each bitvector allocated for each block in the analysis.
fn start_block_effect(&self, _sets: &mut IdxSet<Local>)
[src]
fn start_block_effect(&self, _sets: &mut IdxSet<Local>)
🔬 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?
Mutates the entry set according to the effects that have been established prior to entering the start block. This can't access the gen/kill sets, because these won't be accounted for correctly. Read more
fn statement_effect(&self, sets: &mut BlockSets<Local>, loc: Location)
[src]
fn statement_effect(&self, sets: &mut BlockSets<Local>, 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?
Mutates the block-sets (the flow sets for the given basic block) according to the effects of evaluating statement. Read more
fn terminator_effect(&self, _sets: &mut BlockSets<Local>, _loc: Location)
[src]
fn terminator_effect(&self, _sets: &mut BlockSets<Local>, _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?
Mutates the block-sets (the flow sets for the given basic block) according to the effects of evaluating the terminator. Read more
fn propagate_call_return(
&self,
_in_out: &mut IdxSet<Local>,
_call_bb: BasicBlock,
_dest_bb: BasicBlock,
_dest_place: &Place
)
[src]
fn propagate_call_return(
&self,
_in_out: &mut IdxSet<Local>,
_call_bb: BasicBlock,
_dest_bb: BasicBlock,
_dest_place: &Place
)
🔬 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?
Mutates the block-sets according to the (flow-dependent) effect of a successful return from a Call terminator. Read more
fn accumulates_intrablock_state() -> bool
[src]
fn accumulates_intrablock_state() -> bool
🔬 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?
Some analyses want to accumulate knowledge within a block when analyzing its statements for building the gen/kill sets. Override this method to return true in such cases. Read more
fn before_statement_effect(
&self,
_sets: &mut BlockSets<Self::Idx>,
_location: Location
)
[src]
fn before_statement_effect(
&self,
_sets: &mut BlockSets<Self::Idx>,
_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?
Similar to statement_effect
, except it applies just before the statement rather than just after it. Read more
fn before_terminator_effect(
&self,
_sets: &mut BlockSets<Self::Idx>,
_location: Location
)
[src]
fn before_terminator_effect(
&self,
_sets: &mut BlockSets<Self::Idx>,
_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?
Similar to terminator_effect
, except it applies just before the terminator rather than just after it. Read more
impl<'a, 'tcx> BitwiseOperator for MaybeStorageLive<'a, 'tcx>
[src]
impl<'a, 'tcx> BitwiseOperator for MaybeStorageLive<'a, 'tcx>
fn join(&self, pred1: Word, pred2: Word) -> Word
[src]
fn join(&self, pred1: Word, pred2: Word) -> Word
🔬 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?
Applies some bit-operation pointwise to each of the bits in the two inputs.
impl<'a, 'tcx> InitialFlow for MaybeStorageLive<'a, 'tcx>
[src]
impl<'a, 'tcx> InitialFlow for MaybeStorageLive<'a, 'tcx>
fn bottom_value() -> bool
[src]
fn bottom_value() -> bool
🔬 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?
Specifies the initial value for each bit in the on_entry
set
Auto Trait Implementations
impl<'a, 'tcx> !Send for MaybeStorageLive<'a, 'tcx>
impl<'a, 'tcx> !Send for MaybeStorageLive<'a, 'tcx>
impl<'a, 'tcx> !Sync for MaybeStorageLive<'a, 'tcx>
impl<'a, 'tcx> !Sync for MaybeStorageLive<'a, 'tcx>