pub struct MemoryLiveness { /* private fields */ }Expand description
Block level liveness over all non-atomic local memories, including non-destructurable ones such as arrays.
[Liveness] only tracks destructurable locals (those that get promoted to SSA registers and
phi nodes). Backends that keep local memory as actual allocations and need to free it when it
dies (e.g. the CPU backend) must also track non-destructurable locals, which this analysis does.
Implementations§
Auto Trait Implementations§
impl Freeze for MemoryLiveness
impl RefUnwindSafe for MemoryLiveness
impl Send for MemoryLiveness
impl Sync for MemoryLiveness
impl Unpin for MemoryLiveness
impl UnsafeUnpin for MemoryLiveness
impl UnwindSafe for MemoryLiveness
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more