[−][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
Directizeturns indirect calls into direct ones
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
LegalizeJsInterfaceMinimallylegalizes i64 types on the import/export boundary in a minimal manner, only on things only JS will call
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
LimitSegmentsattempt to merge segments to fit within web limits
MemoryPackingpacks memory into separate segments, skipping zeros
MergeBlocksmerges blocks to their parents
MergeLocalsmerges locals when beneficial
Metricsreports metrics
MinifyImportsminifies import names (only those, and not export names), and emits a mapping to the minified ones
MinifyImportsAndExportsminifies both import and export names, and emits a mapping to the minified ones
Nmname list
NoExitRuntimeremoves calls to atexit(), which is valid if the C runtime will never be exited
OptimizeAddedConstantsoptimizes added constants into load/store offsets
OptimizeAddedConstantsPropagateoptimizes added constants into load/store offsets, propagating them across locals too
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
PrintFeaturesprint options for enabled features
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 local.sets
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
SsaNomergessa-ify variables so that they have a single assignment, ignoring merges
Stripdeprecated; same as strip-debug
StripDebugstrip debug info (including the names section)
StripProducersstrip the wasm producers section
StripTargetFeaturesstrip the wasm target features section
TrapModeClampreplace trapping operations with clamping semantics
TrapModeJsreplace trapping operations with js semantics
Unteeremoves local.tees, replacing them with sets and gets
Vacuumremoves obviously unneeded code
LowerI64lowers i64 into pairs of i32s
Trait Implementations
impl Eq for OptimizationPass[src]
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 Debug for OptimizationPass[src]
impl FromStr for OptimizationPass[src]
Auto Trait Implementations
impl Send for OptimizationPass
impl Sync for OptimizationPass
Blanket Implementations
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> 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, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,