Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Revert "[OptimizeInstructions] Optimize zero sized bulk memory ops even ↵ | Thomas Lively | 2022-01-14 | 1 | -58/+24 |
| | | | | | without "ignoreImplicitTraps" (#4295)" (#4459) This reverts commit 5cf3521708cfada341285414df2dc7366d7e5454. | ||||
* | [OptimizeInstructions] Optimize zero sized bulk memory ops even without ↵ | Max Graey | 2022-01-12 | 1 | -24/+58 |
| | | | | "ignoreImplicitTraps" (#4295) | ||||
* | Fix regression from #4130 (#4158) | Alon Zakai | 2021-09-16 | 1 | -1/+211 |
| | | | | | | | | | That PR reused the same node twice in the output, which fails on the assertion in BINARYEN_PASS_DEBUG=1 mode. No new test is needed because the existing test suite fails already in that mode. That the PR managed to land seems to say that we are not testing pass-debug mode on our lit tests, which we need to investigate. | ||||
* | [OptimizeInstructions] Optimize memory.fill with constant arguments (#4130) | Max Graey | 2021-09-14 | 1 | -4/+226 |
| | | | | | | | | | | | | | | This is reland of #3071 Do similar optimizations as in #3038 but for memory.fill. `memory.fill(d, v, 0)` ==> `{ drop(d), drop(v) }` only with `ignoreImplicitTraps` or `trapsNeverHappen` `memory.fill(d, v, 1)` ==> `store8(d, v)` Further simplifications can be done only if v is constant because otherwise binary size would increase: `memory.fill(d, C, 1)` ==> `store8(d, (C & 0xFF))` `memory.fill(d, C, 2)` ==> `store16(d, (C & 0xFF) * 0x0101)` `memory.fill(d, C, 4)` ==> `store32(d, (C & 0xFF) * 0x01010101)` `memory.fill(d, C, 8)` ==> `store64(d, (C & 0xFF) * 0x0101010101010101)` `memory.fill(d, C, 16)` ==> `store128(d, i8x16.splat(C & 0xFF))` | ||||
* | Introduce a script for updating lit tests (#3503) | Thomas Lively | 2021-01-21 | 1 | -0/+160 |
And demonstrate its capabilities by porting all tests of the optimize-instructions pass to use lit and FileCheck. |