pub struct InstSimplifier {
pub simplified_count: usize,
}Expand description
Local MIR instruction simplification pass.
Fields§
§simplified_count: usizeNumber of instructions simplified in the last run.
Implementations§
Source§impl InstSimplifier
impl InstSimplifier
Sourcepub fn new() -> InstSimplifier
pub fn new() -> InstSimplifier
Creates a new instruction simplifier.
Sourcepub fn run(&mut self, func: &mut Function) -> usize
pub fn run(&mut self, func: &mut Function) -> usize
Runs instruction simplification 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 instruction simplification until no more changes are found.
Trait Implementations§
Source§impl Debug for InstSimplifier
impl Debug for InstSimplifier
Source§impl Default for InstSimplifier
impl Default for InstSimplifier
Source§fn default() -> InstSimplifier
fn default() -> InstSimplifier
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for InstSimplifier
impl RefUnwindSafe for InstSimplifier
impl Send for InstSimplifier
impl Sync for InstSimplifier
impl Unpin for InstSimplifier
impl UnsafeUnpin for InstSimplifier
impl UnwindSafe for InstSimplifier
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