Releases: WebAssembly/binaryen
Releases · WebAssembly/binaryen
version_42: Global optimization fixes (#1360)
* run dfe at the very end, as it may be more effective after inlining * optimize reorder-functions * do a final dfe in asm2wasm after all other opts * make inlining deterministic: std::atomic<T> values are not zero-initialized * do global post opts at the end of asm2wasm, and don't also do them in the module builder * fix function type removing * don't inline+optimize when preserving debug info
1.37.28: Redundant Set Elimination pass (#1344)
This optimizes #1343. It looks for stores of a value that is already present in the local, which in particular can remove the initial set to 0 of loops starting at zero, since all locals are initialized to that already. This helps in real-world code, but is not super-common since coalescing means we tend to have assigned something else to it anyhow before we need it to be zero, so this mainly helps in small functions (and running this before coalescing would extend live ranges in potentially bad ways).
1.37.27
1.37.26
version_40: metadce fixes (#1329)
* ignore missing imports (the wasm may have already had them optimized out) * handle segments that hold on to globals (root them, for now, as we can't remove segments) * run reorder-functions, as the optimal order may have changed after we dce * fix global, global init, and segment offset reachability * fix import rooting and processing - imports may be imported more than once
1.37.24
1.37.23: Provide AddImport/AddExport for each element in the C-API (#1292)
* Provide AddImport/AddExport for each element in the C-API
version_39
Build binaryen.js and wasm.js on Travis CI (#1260)
1.37.22
version_38: Add --trap-mode=allow/clamp/js argument to asm2wasm and s2wasm (#1210)
* Add --trap-mode=allow/clamp/js argument to asm2wasm and s2wasm * Update asm2wasm and auto_update_tests scripts to use --trap-mode * Throw std::invalid_argument instead of adding a new Invalid TrapMode type * Remove legacy asm2wasm trap mode arguments