binaryen
binaryen copied to clipboard
Optimizer and compiler/toolchain library for WebAssembly
The pass does this: ```wat (local.set $x (struct.new X Y Z)) (struct.set (local.get $x) X') => (local.set $x (struct.new X' Y Z)) ``` This is wrong, however, if `X'` branches...
This will be used in emscripten, so that we can build libraries with nontrapping-fp and lower them away after link if desired.
Hey, I read the pinned issue carefully and probably this optimization is not really needed with LLVM, but I find this task simple enough to learn more about binaryen. If...
I'm trying to understand what type of code I should expect to be fully evaluatable by wasm-ctor-eval, and which instructions it won't be able to evaluate. "Calls to imported functions"...
https://github.com/vim/vim/actions/runs/11322262744/job/31483971271#step:10:1
Hi, While testing some `wasm-opt` options for Wasocaml, I found the following assertion failure: ```shell-session $ wasm-opt -O3 --enable-gc --enable-tail-call --enable-reference-types --enable-multivalue --enable-exception-handling a.out.wasm -o a.out.optimised.wasm --asyncify wasm-opt: ~/dev/cpp/binaryen/src/ir/literal-utils.h:35: wasm::Expression*...
Hi, When running Binaryen with `-O4` I get the following assertion failure: ```shell-session $ wasm-opt --all-features a.out.wasm -O4 -o tmp.wasm wasm-opt: ~/dev/cpp/binaryen/src/ir/block-utils.h:54: wasm::Expression* wasm::BlockUtils::simplifyToContents(wasm::Block*, T*, bool) [with T = wasm::Vacuum]:...
This is required to read and write Wasm binary files correctly.
The `--closed-world` flag lets us assume that we can make arbitrary changes to types as long as those types are not part of the module's contract with the outside world....
@aheejin The fuzzer found another issue on pops in blocks (see `test/lit/passes/gto-removals.wast` in this PR), so I started to think that we might want a more general solution here. This...