WASM-REDUCE(1)

NAME
wasm-reduce - Reduce a wasm file to a smaller one that has the same behavior on a given

DESCRIPTION
================================================================================ wasm-reduce INFILE

Reduce a wasm file to a smaller one that has the same behavior on a given command ================================================================================

wasm-reduce options: --------------------

--command,-cmd
    The command to run on the test, that we want to reduce while keeping the command's output identical. We look at the command's return code and stdout here (TODO: stderr), and we reduce while keeping those unchanged.

--test,-t
    Test file (this will be written to test, the given command should read it when we call it)

--working,-w
    Working file (this will contain the current good state while doing temporary computations, and will contain the final best result at the end)

--binaries,-b
    binaryen binaries location (bin/ directory)

--text,-S
    Emit intermediate files as text, instead of binary (also make sure the test and working files have a .wat or .wast suffix)

--denan
    Avoid nans when reducing

--verbose,-v
    Verbose output mode

--debugInfo,-g
    Keep debug info in binaries

--force,-f
    Force the reduction attempt, ignoring problems that imply it is unlikely to succeed

--timeout,-to
    A timeout to apply to each execution of the command, in seconds (default: 2)

--extra-flags,-ef
    Extra commandline flags to pass to wasm-opt while reducing. (default: --enable-all)

Tool options: -------------

--mvp-features,-mvp
    Disable all non-MVP features

--all-features,-all
    Enable all features

--detect-features
    (deprecated - this flag does nothing)

--quiet,-q
    Emit less verbose output and hide trivial warnings.

--experimental-poppy
    Parse wast files as Poppy IR for testing purposes.

--enable-sign-ext
    Enable sign extension operations

--disable-sign-ext
    Disable sign extension operations

--enable-threads
    Enable atomic operations

--disable-threads
    Disable atomic operations

--enable-mutable-globals
    Enable mutable globals

--disable-mutable-globals
    Disable mutable globals

--enable-nontrapping-float-to-int
    Enable nontrapping float-to-int operations

--disable-nontrapping-float-to-int
    Disable nontrapping float-to-int operations

--enable-simd
    Enable SIMD operations and types

--disable-simd
    Disable SIMD operations and types

--enable-bulk-memory
    Enable bulk memory operations

--disable-bulk-memory
    Disable bulk memory operations

--enable-exception-handling
    Enable exception handling operations

--disable-exception-handling
    Disable exception handling operations

--enable-tail-call
    Enable tail call operations

--disable-tail-call
    Disable tail call operations

--enable-reference-types
    Enable reference types

--disable-reference-types
    Disable reference types

--enable-multivalue
    Enable multivalue functions

--disable-multivalue
    Disable multivalue functions

--enable-gc
    Enable garbage collection

--disable-gc
    Disable garbage collection

--enable-memory64
    Enable memory64

--disable-memory64
    Disable memory64

--enable-relaxed-simd
    Enable relaxed SIMD

--disable-relaxed-simd
    Disable relaxed SIMD

--enable-extended-const
    Enable extended const expressions

--disable-extended-const
    Disable extended const expressions

--enable-strings
    Enable strings

--disable-strings
    Disable strings

--enable-multimemory
    Enable multimemory

--disable-multimemory
    Disable multimemory

--enable-typed-continuations
    Enable typed continuations

--disable-typed-continuations
    Disable typed continuations

--enable-shared-everything
    Enable shared-everything threads

--disable-shared-everything
    Disable shared-everything threads

--enable-fp16
    Enable float 16 operations

--disable-fp16
    Disable float 16 operations

--enable-typed-function-references
    Deprecated compatibility flag

--disable-typed-function-references
    Deprecated compatibility flag

--no-validation,-n
    Disables validation, assumes inputs are correct

--pass-arg,-pa
    An argument passed along to optimization passes being run. Must be in the form KEY@VALUE. If KEY is the name of a pass then it applies to the closest instance of that pass before us. If KEY is not the name of a pass then it is a global option that applies to all pass instances that read it.

--closed-world,-cw
    Assume code outside of the module does not inspect or interact with GC and function references, even if they are passed out. The outside may hold on to them and pass them back in, but not inspect their contents or call them.

--preserve-type-order
    Preserve the order of types from the input (useful for debugging and testing)

--generate-stack-ir
    generate StackIR during writing

--optimize-stack-ir
    optimize StackIR during writing

--print-stack-ir
    print StackIR during writing

General options: ----------------

--version
    Output version information and exit

--help,-h
    Show this help message and exit

--debug,-d
    Print debug information to stderr