pub struct CfgSimplifier {
pub stats: CfgSimplifyStats,
}Expand description
CFG simplification pass for a single function.
Fields§
§stats: CfgSimplifyStatsStatistics from the last run.
Implementations§
Source§impl CfgSimplifier
impl CfgSimplifier
Sourcepub fn run(&mut self, func: &mut Function) -> usize
pub fn run(&mut self, func: &mut Function) -> usize
Runs CFG simplification on a function. Returns the number of optimizations performed.
Sourcepub fn run_to_fixpoint(&mut self, func: &mut Function) -> CfgSimplifyStats
pub fn run_to_fixpoint(&mut self, func: &mut Function) -> CfgSimplifyStats
Runs CFG simplification iteratively until no more changes.
Trait Implementations§
Source§impl Debug for CfgSimplifier
impl Debug for CfgSimplifier
Source§impl Default for CfgSimplifier
impl Default for CfgSimplifier
Source§fn default() -> CfgSimplifier
fn default() -> CfgSimplifier
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for CfgSimplifier
impl RefUnwindSafe for CfgSimplifier
impl Send for CfgSimplifier
impl Sync for CfgSimplifier
impl Unpin for CfgSimplifier
impl UnsafeUnpin for CfgSimplifier
impl UnwindSafe for CfgSimplifier
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