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

fix: #5015 - Add a override of `visitDrop` in `ConstantExpressionRunner` - Testcase result changed due to this code can be infer to `i32.const 0` ```wasm (block $label$4 (result i32) (drop...

In C++20 makes operator calls become ambiguous wrt to a rewritten version of itself with swapped candidates. See https://gcc.godbolt.org/z/5q7GTr3bM for an example. This commit fixes an occurence of this breakage...

This adds enough to create null values of those types. That is enough for passes that assume they can create a null for every type.

E.g. ```wat (i32.wrap_i64 (i64.add (i64.extend_i32_u (local.get $0) ) (i64.const 8) ) ) =-> (i32.add (local.get $0) (i32.const 8) ) ``` This is an example of a more general rule: we...

Since f64 operations do not use LEB128 encoding, such constants always takes 8 bytes. Although some constants like 2.0, 3.25, 16.0, etc. have an empty or partially filled mantissa, which...

Followup to #900 - this dusts off that code, gets it building and running, and adds some improvements. As with #900 I'm not sure if this is worth landing, if...

From the emscripten test suite: ``` $ ./test/runner wasm64.test_eval_ctors_no_main --skip-slow Test suites: ['test_core'] Running test_core: (1 tests) (checking sanity from test runner) shared:INFO: (Emscripten: Running sanity checks) test_eval_ctors_no_main (test_core.wasm64) ......

when I use `ConstantExpressionRunner` in `FlagValues::DEFAULT` mode to calculate code like ```wasm (block $label$4 (result i32) (drop (local.tee $7 (local.get $8) ) ) (i32.const 0) ) ``` current implement will...

E.g. ```wat (i32.shl (i32.and (local.get $0) (i32.const 1073741823) ;; 0x3fffffff ) (i32.const 2) ) =-> (i32.shl (local.get $0) (i32.const 2) ) ``` Only the top two bits are missing in...

E.g. ```wat (i32.ne (i32.and (local.get $0) (i32.const 268435455) ;; 0x0fffffff ) (local.get $0) ) =-> (i32.ge_u (local.get $0) (i32.const 268435456) ) ``` `(x & low-bit-mask) != x` implies that `x`...