summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* support assigns of f32 to HEAP64 in asm2wasm (#830)Alon Zakai2016-11-075-1/+50
|
* handle a label setting inside the if-body of a label value in ↵Alon Zakai2016-11-067-3073/+3182
| | | | RelooperJumpThreading
* improve local simplication: simplify without if/block structure values ↵Alon Zakai2016-11-0618-9314/+9454
| | | | before coalesce, so that coalesce can remove all copies, then do another pass of full simplification after it
* add variants of simplify-locals with and without teeing and structural optsAlon Zakai2016-11-058-0/+197
|
* optimize booleans through i32.orAlon Zakai2016-11-044-24/+46
|
* remove-unused-brs after coalesce-localsAlon Zakai2016-11-046-418/+360
|
* Fixes fround of an unsigned integer (#821)Alon Zakai2016-11-0410-469/+215
| | | | | | | | * fix fround of unsigned * add testing for f32 ops, and remove a duplicate test (now that f32 is on by default in wasm, we don't need to check with and without PRECISE_F32) * update wasm.js and binaryen.js
* Merge pull request #819 from WebAssembly/optimize-memoryAlon Zakai2016-11-015-3/+43
|\ | | | | Pack memory segments
| * add a pass to optimize memory segments, and pack memory in asm2wasmAlon Zakai2016-11-012-0/+40
| |
| * add a --memory-base options to asm2wasm, to fix the memory base instead of ↵Alon Zakai2016-10-313-3/+3
| | | | | | | | depending on an import
* | fix large f32 consts, fixes #817 (#820)Alon Zakai2016-11-013-0/+14
| |
* | Work around dot quirks related to updating node styles. Remove indirect call ↵Michael Bebenita2016-11-011-108/+77
|/ | | | edges as they greatly increase the size of the graph. (#818)
* Optimize away copies through an if (#816)Alon Zakai2016-10-318-1928/+2097
|
* add an inlining pass (#814)Alon Zakai2016-10-292-0/+189
|
* optimize child blocks in merge-blocks when we drop values in them, they may ↵Alon Zakai2016-10-292-12/+44
| | | | have new subchild blocks
* fix break value removal in merge-blocks: a br_if's type changes without a ↵Alon Zakai2016-10-291-8/+6
| | | | value, so finalize the node, and remove the drop
* handle the case of a br_if whose value is used in merge-blocksAlon Zakai2016-10-292-0/+105
|
* merge adjacent br_ifsAlon Zakai2016-10-272-0/+117
|
* recreate simply ifsAlon Zakai2016-10-278-351/+442
|
* recurse in optimizeBoolean (#809)Alon Zakai2016-10-274-12/+40
|
* Set the type of the implicit blocks we use for a loop body in s2wasm (#810)jgravelle-google2016-10-272-0/+21
| | | | | | | Loops are modeled in Binaryen IR as having a Block as a body. The block is added to module walkers and validated like a normal block. In s2wasm when we add the blocks, we need to make sure that the type of the loop body matches the type of the loop itself, or we run into issues.
* optimize ne of 0 in a boolean context (#808)Alon Zakai2016-10-278-68/+47
|
* Code pushing (#807)Alon Zakai2016-10-268-2194/+2753
| | | Push code forward, potentially letting it not execute
* Conditionalize boolean operations based on cost (#805)Alon Zakai2016-10-262-0/+523
| | | When we have expensive | expensive, and both are boolean, then we can execute one of them conditionally if it doesn't have side effects.
* Optimize out bool & 1 (#804)Alon Zakai2016-10-2514-201/+290
| | | | | | * asm.js corrections to unit.asm.js test * optimize out bool&1
* Update s2wasm for reordered call_indirect (#802)jgravelle-google2016-10-2481-5477/+6863
| | | | | | | | | | | | | | | * Update s2wasm for reordered call_indirect https://reviews.llvm.org/D25708 fixed call_indirect for 0xc by reordering the operands. s2wasm needs to be aware of that too. * Update llvm_autogenerated tests * Update torture-s tests * run auto_update_tests * update handwritten dot_s test that had call_indirect with args
* Adds a pass to print call graphs in .dot (graphviz) format. (#794)Michael Bebenita2016-10-202-0/+2910
|
* Add priority to copies on backedges (#791)Alon Zakai2016-10-208-7652/+7760
| | | | | | | | * add a coalesce-locals test for costly backedges * add script to strip local names out, for convenient diffing * prioritize backedge copies
* Optimize to i64.store[less] (#792)Alon Zakai2016-10-202-0/+16
|
* Add support for i64.store[N] (#789)jgravelle-google2016-10-192-0/+26
| | | | | | | | | | | | * Add support for i64.store[N] Previously storing i64 in the interpreter assumed an 8byte store. Stores like i64.store8 would then use the special-case i64 storing code, when they could just use the i32.store8 code. * Add printf test for interpreter * Update wasm.js
* Pass options (#788)Alon Zakai2016-10-184-18/+57
| | | | * add PassOptions structure, and use it for new -Os param to wasm-opt
* add table and memory contents to metrics (#787)Alon Zakai2016-10-182-0/+18
|
* reorder locals after simplify-locals, to remove unused locals before ↵Alon Zakai2016-10-166-7468/+7386
| | | | coalesce-locals, making it much faster (#783)
* optimize out i32.and of -1Alon Zakai2016-10-155-145/+97
|
* optimize loads and stores that mask their values, as the load/store ↵Alon Zakai2016-10-154-378/+314
| | | | operation masks itself
* Merge pull request #778 from WebAssembly/passeAlon Zakai2016-10-1425-1877/+354
|\ | | | | Add remove-unused-functions to default passes
| * run remove-unused-functions by defaultAlon Zakai2016-10-1425-1877/+354
| |
* | Import memory instead of defining/exporting it when using emscripten glue (#777)Derek Schuff2016-10-1483-166/+83
|/ | | | | The emscripten JS module code creates the memory using the native wasm APIs, and imports that into the wasm module.
* Do not use exported memory as a root set of RemoveUnusedFunctions pass (#763)Taiju Tsuiki2016-10-142-0/+2
| | | | | | | | * Do not use exported memory as a root set of RemoveUnusedFunctions pass RemoveUnusedFunctions pass of wasm-opt fails when the memory is exported. That's due to a wrong root set handling on the exported symbols. This CL fixes the failure by ignoring non-function exported symbol.
* Merge pull request #775 from WebAssembly/sl-fixAlon Zakai2016-10-132-27/+97
|\ | | | | Fix simplify-locals when adding a value to a br_if
| * when simplify-locals give br_if a value, the br_if also returns it, so it ↵Alon Zakai2016-10-132-27/+97
| | | | | | | | must be dropped
* | handle globals in dceAlon Zakai2016-10-132-0/+10
|/
* Don't create a memory section for an imported memory; fixes #772 (#773)Benjamin Bouvier2016-10-133-0/+29
|
* update spec tests, now using binary-0xc branch as our stack test refactoring ↵Alon Zakai2016-10-121-0/+0
| | | | landed in upstream (#754)
* handle unreachable tee_local properly in coalesce-locals (#761)Alon Zakai2016-10-122-0/+20
|
* fix bug where we set memory max to the initial value if the max wasn't ↵Alon Zakai2016-10-129-0/+36
| | | | specified (#760)
* remove memory maximum in asm2wasm when memory growth is onAlon Zakai2016-10-114-4/+4
|
* if we see no asm.js function tables, the table size is 0Alon Zakai2016-10-1124-24/+24
|
* allow a maximum 0 size for a tableAlon Zakai2016-10-113-0/+14
|
* Don't create table sections for imported tables (#756)Derek Schuff2016-10-113-0/+29
| | | Previously the Print pass searched the imports for a table import and skipped printing a local table declaration if found. Instead this refactors to make importation explicit, and also create importation records (previously we were inconsistent about whether such records were created in the IR depending on the wast syntax).