binaryen
binaryen copied to clipboard
Optimizer and compiler/toolchain library for WebAssembly
The code example: ```C #include #include struct a { int8_t b }; struct c { int16_t b } d = {13015}; int32_t g_3[4]; uint16_t e = 57582; struct c f;...
The code example: ```C #include #include int32_t a; static int32_t g; int16_t b() { a = 0; g = 0; } void foo(int32_t a, char str[]){ if (!a) printf(str, a);...
The code example: ```C #include #include int32_t a; int32_t b[1] = {0}; int8_t foo() { for (; a < 8; a++) for (b[0] = 0; b[0] < 3; b[0] +=...
Inspired by [this issue](https://github.com/WebAssembly/binaryen/issues/4948) ```wat drop (i32.load $addr, offset=0) ... drop (i32.load $addr, offset=8) ... drop (i32.load $addr, offset=16) ``` Could be reduced to: ```wat drop (i32.load $addr, offset=16) ;;...
Currently, DAE pass create only one truncated copy of a function, one of whose arguments are constantly called with the same constant value. This works well for functions with default...
Hello! :wave: I’m using `wasm-opt --asyncify` on a project of mine to allow the use of coroutines from C. However, I recently ran into what really seems to me like...
Hello! When you run metadce on the following wasm code: ``` (module (import "host" "element_offset" (global $element_offset i32)) (func $main (export "main") nop) (table $table 1 funcref) (elem $table (global.get...
Comments in these tests would be good, like `without an explicit name, the first memory is used` in this one, etc. _Originally posted by @kripken in https://github.com/WebAssembly/binaryen/pull/4811#discussion_r946938904_
I see, right... a null is the best we could do, since we must still change the C API to add the new param either way. Sounds ok to leave...
Should we add an assertion? _Originally posted by @tlively in https://github.com/WebAssembly/binaryen/pull/4811#discussion_r938223951_