pub struct MemoryStoreEliminator {
pub eliminated_count: usize,
}Expand description
Local dead memory optimization pass.
Fields§
§eliminated_count: usizeNumber of memory instructions eliminated.
Implementations§
Source§impl MemoryStoreEliminator
impl MemoryStoreEliminator
Sourcepub fn new() -> MemoryStoreEliminator
pub fn new() -> MemoryStoreEliminator
Creates a new memory optimization pass.
Sourcepub fn run(&mut self, func: &mut Function) -> usize
pub fn run(&mut self, func: &mut Function) -> usize
Runs local memory optimization on a function.
Sourcepub fn run_to_fixpoint(&mut self, func: &mut Function) -> usize
pub fn run_to_fixpoint(&mut self, func: &mut Function) -> usize
Runs local memory optimization until no more instructions can be eliminated.
Trait Implementations§
Source§impl Debug for MemoryStoreEliminator
impl Debug for MemoryStoreEliminator
Source§impl Default for MemoryStoreEliminator
impl Default for MemoryStoreEliminator
Source§fn default() -> MemoryStoreEliminator
fn default() -> MemoryStoreEliminator
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MemoryStoreEliminator
impl RefUnwindSafe for MemoryStoreEliminator
impl Send for MemoryStoreEliminator
impl Sync for MemoryStoreEliminator
impl Unpin for MemoryStoreEliminator
impl UnsafeUnpin for MemoryStoreEliminator
impl UnwindSafe for MemoryStoreEliminator
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
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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