summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* memory and table parsing fixesAlon Zakai2016-09-201-7/+21
|
* table parsing and executing fixesAlon Zakai2016-09-202-10/+18
|
* mark table as present if seen as an importAlon Zakai2016-09-201-0/+1
|
* validate spectest.print as a functionAlon Zakai2016-09-201-1/+7
|
* support spectest.globalAlon Zakai2016-09-203-4/+25
|
* global importing fixes: use the right counter for globals and for functionsAlon Zakai2016-09-202-14/+59
|
* import parsing fixesAlon Zakai2016-09-192-12/+22
|
* globals mutability fixesAlon Zakai2016-09-195-6/+26
|
* global parsingAlon Zakai2016-09-195-5/+37
|
* new-style import parsingAlon Zakai2016-09-191-5/+40
|
* parsing and validation fixesAlon Zakai2016-09-172-12/+28
|
* support module operations in shell testsAlon Zakai2016-09-175-32/+68
|
* parse empty modules without errorAlon Zakai2016-09-161-0/+1
|
* use export name as internal name if no internal name, for better s-expr ↵Alon Zakai2016-09-161-0/+3
| | | | debugging
* br_if returns its valueAlon Zakai2016-09-164-8/+18
|
* block signaturesAlon Zakai2016-09-162-8/+26
|
* support assert_malformed in shell test runnerAlon Zakai2016-09-163-7/+6
|
* s-expression modules can have namesAlon Zakai2016-09-161-8/+14
|
* call_import changes: no more call_import, shared index space with functionsAlon Zakai2016-09-163-54/+81
|
* handle getTempRet0 having extra code, which can happen in emterpreter ↵Alon Zakai2016-09-151-1/+1
| | | | assertions mode
* fix remove-unused-brs bug when checking if it is safe to conditionalize codeAlon Zakai2016-09-152-13/+13
|
* Update s2wasm for 0xc changes (#698)Derek Schuff2016-09-152-24/+25
| | | | | | | | | | | Several updates for s2wasm and its tests: Add explicit drops where they are emitted by LLVM already Convert loops (which are still modeled in the old way by LLVM) to wrap them in an explicit block (for the exit label). This also allows simplifying the loop creation (no need to post-process the implicit block which is the loop's body). After the engines update to 0xc we should update LLVM to model loops in the 0xc way, but for now it remains compatible with 0xb and 0xc. Fix the order of the calls to setTee() when creating tee_locals Add an explicit drop when creating the _start entry function wrapper if needed Update dot_s and llvm_autogenerated tests to remove store-results optimization (and few other minor updates) Fix the test auto-updater to fail if subprocesses fail There still seems to be a validation failure when building libc (I think it's from the stricter drop rules, but it may be in the source rather than the compiler), but this at least makes Binaryen's tests pa
* Merge pull request #695 from WebAssembly/optsAlon Zakai2016-09-1424-339/+1115
|\ | | | | Get optimizer on par with emscripten asm.js optimizer
| * add a commentAlon Zakai2016-09-141-1/+1
| |
| * allocate newCopies on demand in coalesce-locals, to avoid n^2 allocation ↵Alon Zakai2016-09-141-1/+2
| | | | | | | | when in practice we need a lot less (and on e.g. sqlite, n^2 is very large)
| * coalesce-locals code cleanupAlon Zakai2016-09-141-3/+3
| |
| * fix switch traversal orderAlon Zakai2016-09-141-1/+1
| |
| * fix getCopies return type, so that we take into account the full range of valuesAlon Zakai2016-09-141-1/+1
| |
| * when optimizing a block return value, replacing the sunk set with the value ↵Alon Zakai2016-09-141-5/+14
| | | | | | | | is only possible if the break is unconditional; if it is condition, we must tee the value so that if the break condition is false and we do not jump, then we have the new value in the local on the line after it
| * avoid threading jumps when there is irreducible control flow, as it is hard ↵Alon Zakai2016-09-141-22/+97
| | | | | | | | to know if it is safe to do so
| * drop if-else arms as necessaryAlon Zakai2016-09-131-3/+15
| |
| * add ExtractFunction passAlon Zakai2016-09-134-0/+49
| |
| * fix if finalize()Alon Zakai2016-09-131-1/+2
| |
| * update br type when turning it into a br_if in remove-unused-brsAlon Zakai2016-09-132-0/+5
| |
| * fix bug with turning if into br_if without checking for reordering dangersAlon Zakai2016-09-121-10/+16
| |
| * simple jump threadingAlon Zakai2016-09-121-3/+74
| |
| * thread relooper jumpsAlon Zakai2016-09-125-0/+179
| |
| * clean up database-ensuring code using the new prepareToRun methodAlon Zakai2016-09-121-9/+6
| |
| * refactor pass hooks, creating a proper way to run code before a pass is runAlon Zakai2016-09-126-218/+20
| |
| * fix up types in remove-unused-brs at the first opportunity, not laterAlon Zakai2016-09-121-16/+20
| |
| * remove final elements in vacuum carefully: we must preserve a return value ↵Alon Zakai2016-09-112-14/+41
| | | | | | | | if there is one
| * validate in debug mode in passRunnerAlon Zakai2016-09-111-5/+14
| |
| * run another optimize-expressions at the end of asm2wasmAlon Zakai2016-09-101-2/+4
| |
| * refactor an optimizeBoolean methodAlon Zakai2016-09-103-50/+24
| |
| * optimize if-else to br_if when in a blockAlon Zakai2016-09-102-6/+51
| |
| * optimize eqz^2 in select and br_ifAlon Zakai2016-09-101-8/+23
| |
| * optimization commentAlon Zakai2016-09-101-1/+1
| |
| * sort locals by number of total copiesAlon Zakai2016-09-101-11/+77
| |
| * take into account removed copies even when number of locals is the same, in ↵Alon Zakai2016-09-091-5/+46
| | | | | | | | coalesce-locals
| * optimize loop endings in RemoveUnusedBrsAlon Zakai2016-09-093-2/+182
| | | | | | | | | | * rotate an if near the end of a loop as it can let a break out flow naturally and be removable * turn a br_if into an if it allows such an optimization in cases where it helps remove other structures