summaryrefslogtreecommitdiff
path: root/test/wasm2js/emscripten.2asm.js.opt
Commit message (Collapse)AuthorAgeFilesLines
* wasm2js: optimize away unneeded load coercions (#2107)Alon Zakai2019-05-151-0/+37
|
* wasm2js: Emit table in a way that is friendly to emscripten minification (#2102)Alon Zakai2019-05-131-1/+2
| | | Set it to a local in the asmFunc scope, so that minifiers can easily see it's a simple local value (instead of using it as an upvar from the parameters higher up, which was how the emscripten glue was emitting it).
* wasm2js: precompute bitwise operations (#2101)Alon Zakai2019-05-131-15/+15
| | | This happens on e.g. an i32 load of a constant offset, then we have constant >> 2.
* wasm2js: optimize booleans (#2090)Alon Zakai2019-05-071-0/+8
|
* wasm2js: optimize loads (#2085)Alon Zakai2019-05-031-2/+13
| | | | When loading a boolean, prefer the signed heap (which is more commonly used, and may be faster). We never use HEAPU32 (HEAP32 is always enough), just remove it.
* wasm2js: ignore implicit traps (#2079)Alon Zakai2019-05-021-5/+7
| | | | | We don't actually try to emit traps for loads, stores, invalid float to ints, etc., so when optimizing we may as well do so under the assumption those traps do not exist. This lets us emit nice code for a select whose operands are loads, for example - otherwise, the values seem to have side effects.
* wasm2js: run full optimizations during the pipeline (#2071)Alon Zakai2019-04-301-0/+131
We flatten for the i64 lowering etc. passes, and it is worth optimizing afterwards, to clean up stuff they created. That is run if the user ran wasm2js with an optimization level (like wasm2js -O3). Split the test files to check both optimized and unoptimized code.