binaryen icon indicating copy to clipboard operation
binaryen copied to clipboard

Optimizer and compiler/toolchain library for WebAssembly

Results 496 binaryen issues
Sort by recently updated
recently updated
newest added

Given the following code: ``` webassembly (module (type $0 (func)) (type $1 (func (param i32 i32) (result i32))) (import "External" "external_function" (func $external_function (type $0))) (func $_start (type $1) (param...

Given the following code: ``` webassembly (module (import "External" "external_function" (func $external_function)) (func $_start call $main) (func $main (local $0 i32) (local $1 i32) block ;; label = @1 block...

Early in Binaryen's history we wanted assertions in all builds in order to catch bugs. It was useful for a while but maybe today it is excessive. Profiling a 200MB...

Discussing with @tlively , we thought it would be good to take the string builtins feature part of #7601 and land that, with the idea that the feature would add...

I'm running into some pretty serious issues using wasm2js. It looks to me like the entire wasm memory is getting corrupted. Sometimes they result in clean-ish aborts like this: ```bash...

This pass statically infers branch hint annotations, inspired by LLVM's BranchProbabilityInfo: https://github.com/llvm/llvm-project/blob/main/llvm/lib/Analysis/BranchProbabilityInfo.cpp So far this sets low priority for throwing paths and even lower for unreachable ones. It propagates such...

Currently, `wasm-opt` cannot optimize the code as expected: `(unsigned)x >= 0 ==> i32(0)`. ```webassembly (i32.ge_u (i32.load (i32.const 0) ) (block (result i32) (i32.store (i32.const 0) (i32.const 0) ) (i32.const 0)...

This PR moves the JS wrapper to C++ by utilizing Embind. It aims at automating the process of binding as much as possible. Ideally, I want to get rid of...

hi, Binaryen, I am writting a new compiler for a new language, my attention is use binaryen to generate the backend code and use open source Webassembly runtime to run...

This makes string optimizations happen automatically when `--enable-string-builtins` (or `-all`). The lifting/lowering happen globally, at optimal times in the pipeline, so even `-O3 -O3 -O3` will only lift once and...