binaryen
binaryen copied to clipboard
Optimizer and compiler/toolchain library for WebAssembly
Given the following code: ``` webassembly (module (import "External" "external_function" (func $external_function)) (func $_start (local $0 i32) (local $3 i32) (local $5 i32) (local $6 i32) (local $11 i32) (local...
Currently, Binaryen uses custom passes to transform Wasm (e.g. in [wasm-merge](https://github.com/WebAssembly/binaryen/blob/main/src/tools/wasm-merge.cpp)). These passes are unavailable to C and JS, meaning that there's no built-in way for the users to transform...
Talking with @tlively , we realized that `--roundtrip` will restructure code back into a cache-friendly form, since it serializes it and then reads it, and when we read it, we...
This brings in revision [4aae566191b9443d53995245b637ce28d617710a](https://github.com/microsoft/mimalloc/commit/4aae566191b9443d53995245b637ce28d617710a), needed to build on Windows.
Hi, This PR adds the possibility to use [Owi](https://github.com/OCamlPro/owi) to check for the equivalence of programs generated by the fuzzer before and after optimization. Owi performs symbolic execution, which allows...
Hi, When running the command below, the output is mentioning a `check.py` file and it seems wrong ```shell-session $ scripts/fuzz_opt.py --help usage: fuzz_opt.py [-h] [--torture] [--no-torture] [--abort-on-first-failure] [--no-abort-on-first-failure] [--binaryen-bin BINARYEN_BIN]...
Hi, Running: ```shell-session $ scripts/fuzz_opt.py ``` will work just fine, but: ```shell-session $ cd scripts && ./fuzz_opt.py ``` will not because it expects the `bin/wasm-opt` file to be in the...
We currently use or plan to use more refined types in the IR than we will eventually emit in the binary in a couple situations: - Function references always use...
I finally have a use-case for `wasm-merge` and trying to use it made me think the tool was broken! (It is not). It says: ``` wasm-merge options: ------------------- --output,-o Output...
`wasm-opt` warns on not having an output file. That make sense as it avoids a common error, but also it is not an error itself as there are valid use...