[−][src]Enum binaryen_sys::passes::OptimizationPass
Variants
Daeremoves arguments to calls in an lto-like manner
DaeOptimizingremoves arguments to calls in an lto-like manner, and optimizes where we removed
CoalesceLocalsreduce # of locals by coalescing
CoalesceLocalsLearningreduce # of locals by coalescing and learning
CodePushingpush code forward, potentially making it not always execute
CodeFoldingfold code, merging duplicates
ConstHoistinghoist repeated constants to a local
Dceremoves unreachable code
Dfooptimizes using the DataFlow SSA IR
DuplicateFunctionEliminationremoves duplicate functions
ExtractFunctionleaves just one function (useful for debugging)
Flattenflattens out code, removing nesting
FpcastEmuemulates function pointer casts, allowing incorrect indirect calls to (sometimes) work
FuncMetricsreports function metrics
GenerateStackIrgenerate Stack IR
Inlininginline functions (you probably want inlining-optimizing)
InliningOptimizinginline functions and optimizes where we inlined
LegalizeJsInterfacelegalizes i64 types on the import/export boundary
LocalCsecommon subexpression elimination inside basic blocks
LogExecutioninstrument the build with logging of where execution goes
I64ToI32Loweringlower all uses of i64s to use i32s instead
InstrumentLocalsinstrument the build with code to intercept all loads and stores
InstrumentMemoryinstrument the build with code to intercept all loads and stores
Licmloop invariant code motion
MemoryPackingpacks memory into separate segments, skipping zeros
MergeBlocksmerges blocks to their parents
MergeLocalsmerges locals when beneficial
Metricsreports metrics
Nmname list
OptimizeInstructionsoptimizes instruction combinations
OptimizeStackIroptimize Stack IR
PickLoadSignspick load signs based on their uses
PostEmscriptenmiscellaneous optimizations for Emscripten-generated code
Precomputecomputes compile-time evaluatable expressions
PrecomputePropagatecomputes compile-time evaluatable expressions and propagates them through locals
Printprint in s-expression format
PrintMinifiedprint in minified s-expression format
PrintFullprint in full s-expression format
PrintCallGraphprint call graph
PrintStackIrprint out Stack IR (useful for internal debugging)
RelooperJumpThreadingthread relooper jumps (fastcomp output only)
RemoveNonJsOpsremoves operations incompatible with js
RemoveImportsremoves imports and replaces them with nops
RemoveMemoryremoves memory segments
RemoveUnusedBrsremoves breaks from locations that are not needed
RemoveUnusedModuleElementsremoves unused module elements
RemoveUnusedNonfunctionModuleElementsremoves unused module elements that are not functions
RemoveUnusedNamesremoves names from locations that are never branched to
ReorderFunctionssorts functions by access frequency
ReorderLocalssorts locals by access frequency
Rereloopre-optimize control flow using the relooper algorithm
Rseremove redundant set_locals
SafeHeapinstrument loads and stores to check for invalid behavior
SimplifyLocalsmiscellaneous locals-related optimizations
SimplifyLocalsNonestingmiscellaneous locals-related optimizations (no nesting at all; preserves flatness)
SimplifyLocalsNoteemiscellaneous locals-related optimizations (no tees)
SimplifyLocalsNostructuremiscellaneous locals-related optimizations (no structure)
SimplifyLocalsNoteeNostructuremiscellaneous locals-related optimizations (no tees or structure)
Souperifyemit Souper IR in text form
SouperifySingleUseemit Souper IR in text form (single-use nodes only)
SpillPointersspill pointers to the C stack (useful for Boehm-style GC)
Ssassa-ify variables so that they have a single assignment
TrapModeClampreplace trapping operations with clamping semantics
TrapModeJsreplace trapping operations with js semantics
Unteeremoves tee_locals, replacing them with sets and gets
Vacuumremoves obviously unneeded code
LowerI64lowers i64 into pairs of i32s
Trait Implementations
impl PartialEq<OptimizationPass> for OptimizationPass[src]
fn eq(&self, other: &OptimizationPass) -> bool[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
This method tests for !=.
impl Eq for OptimizationPass[src]
impl Debug for OptimizationPass[src]
impl FromStr for OptimizationPass[src]
Auto Trait Implementations
impl Send for OptimizationPass
impl Sync for OptimizationPass
Blanket Implementations
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T> From for T[src]
impl<T, U> TryFrom for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T> Borrow for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,