[−][src]Enum binaryen_sys::passes::OptimizationPass
Variants
removes arguments to calls in an lto-like manner
removes arguments to calls in an lto-like manner, and optimizes where we removed
reduce # of locals by coalescing
reduce # of locals by coalescing and learning
push code forward, potentially making it not always execute
fold code, merging duplicates
hoist repeated constants to a local
removes unreachable code
turns indirect calls into direct ones
optimizes using the DataFlow SSA IR
removes duplicate functions
leaves just one function (useful for debugging)
flattens out code, removing nesting
emulates function pointer casts, allowing incorrect indirect calls to (sometimes) work
reports function metrics
generate Stack IR
inline functions (you probably want inlining-optimizing)
inline functions and optimizes where we inlined
legalizes i64 types on the import/export boundary
legalizes i64 types on the import/export boundary in a minimal manner, only on things only JS will call
common subexpression elimination inside basic blocks
instrument the build with logging of where execution goes
lower all uses of i64s to use i32s instead
instrument the build with code to intercept all loads and stores
instrument the build with code to intercept all loads and stores
loop invariant code motion
attempt to merge segments to fit within web limits
packs memory into separate segments, skipping zeros
merges blocks to their parents
merges locals when beneficial
reports metrics
minifies import names (only those, and not export names), and emits a mapping to the minified ones
minifies both import and export names, and emits a mapping to the minified ones
name list
removes calls to atexit(), which is valid if the C runtime will never be exited
optimizes added constants into load/store offsets
optimizes added constants into load/store offsets, propagating them across locals too
optimizes instruction combinations
optimize Stack IR
pick load signs based on their uses
miscellaneous optimizations for Emscripten-generated code
computes compile-time evaluatable expressions
computes compile-time evaluatable expressions and propagates them through locals
print in s-expression format
print in minified s-expression format
print options for enabled features
print in full s-expression format
print call graph
print out Stack IR (useful for internal debugging)
thread relooper jumps (fastcomp output only)
removes operations incompatible with js
removes imports and replaces them with nops
removes memory segments
removes breaks from locations that are not needed
removes unused module elements
removes unused module elements that are not functions
removes names from locations that are never branched to
sorts functions by access frequency
sorts locals by access frequency
re-optimize control flow using the relooper algorithm
remove redundant local.sets
instrument loads and stores to check for invalid behavior
miscellaneous locals-related optimizations
miscellaneous locals-related optimizations (no nesting at all; preserves flatness)
miscellaneous locals-related optimizations (no tees)
miscellaneous locals-related optimizations (no structure)
miscellaneous locals-related optimizations (no tees or structure)
emit Souper IR in text form
emit Souper IR in text form (single-use nodes only)
spill pointers to the C stack (useful for Boehm-style GC)
ssa-ify variables so that they have a single assignment
ssa-ify variables so that they have a single assignment, ignoring merges
deprecated; same as strip-debug
strip debug info (including the names section)
strip the wasm producers section
strip the wasm target features section
replace trapping operations with clamping semantics
replace trapping operations with js semantics
removes local.tees, replacing them with sets and gets
removes obviously unneeded code
lowers i64 into pairs of i32s
Trait Implementations
impl Debug for OptimizationPass[src]
impl Eq for OptimizationPass[src]
impl FromStr for OptimizationPass[src]
type Err = ()
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Self, Self::Err>[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]
impl StructuralEq for OptimizationPass[src]
impl StructuralPartialEq for OptimizationPass[src]
Auto Trait Implementations
impl RefUnwindSafe for OptimizationPass
impl Send for OptimizationPass
impl Sync for OptimizationPass
impl Unpin for OptimizationPass
impl UnwindSafe for OptimizationPass
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
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>,