pub struct CfgSimplifyStats {
pub blocks_merged: usize,
pub empty_blocks_eliminated: usize,
pub terminators_simplified: usize,
pub trivial_phis_simplified: usize,
pub terminal_blocks_deduplicated: usize,
pub dead_functions_eliminated: usize,
pub gas_saved: usize,
}Expand description
Statistics from CFG simplification.
Fields§
§blocks_merged: usizeNumber of blocks merged.
empty_blocks_eliminated: usizeNumber of empty blocks eliminated.
terminators_simplified: usizeNumber of degenerate terminators simplified.
trivial_phis_simplified: usizeNumber of trivial phi nodes replaced by their unique incoming value.
terminal_blocks_deduplicated: usizeNumber of identical terminal blocks merged into one shared block.
dead_functions_eliminated: usizeNumber of dead functions eliminated.
gas_saved: usizeEstimated gas saved (8 gas per eliminated jump).
Implementations§
Trait Implementations§
Source§impl Clone for CfgSimplifyStats
impl Clone for CfgSimplifyStats
Source§fn clone(&self) -> CfgSimplifyStats
fn clone(&self) -> CfgSimplifyStats
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CfgSimplifyStats
impl Debug for CfgSimplifyStats
Source§impl Default for CfgSimplifyStats
impl Default for CfgSimplifyStats
Source§fn default() -> CfgSimplifyStats
fn default() -> CfgSimplifyStats
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for CfgSimplifyStats
impl RefUnwindSafe for CfgSimplifyStats
impl Send for CfgSimplifyStats
impl Sync for CfgSimplifyStats
impl Unpin for CfgSimplifyStats
impl UnsafeUnpin for CfgSimplifyStats
impl UnwindSafe for CfgSimplifyStats
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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