summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* memory and table printing fixesAlon Zakai2016-09-2032-112/+64
|
* globals mutability fixesAlon Zakai2016-09-1920-400/+500
|
* parsing and validation fixesAlon Zakai2016-09-174-7/+14
|
* br_if returns its valueAlon Zakai2016-09-1612-97/+139
|
* block signaturesAlon Zakai2016-09-1629-458/+458
|
* call_import changes: no more call_import, shared index space with functionsAlon Zakai2016-09-1656-1979/+1979
|
* handle getTempRet0 having extra code, which can happen in emterpreter ↵Alon Zakai2016-09-155-1/+43
| | | | assertions mode
* fix remove-unused-brs bug when checking if it is safe to conditionalize codeAlon Zakai2016-09-152-0/+65
|
* Update s2wasm for 0xc changes (#698)Derek Schuff2016-09-1593-6657/+7164
| | | | | | | | | | | 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
* when optimizing a block return value, replacing the sunk set with the value ↵Alon Zakai2016-09-142-18/+75
| | | | 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-142-2552/+2766
| | | | to know if it is safe to do so
* drop if-else arms as necessaryAlon Zakai2016-09-135-8/+133
|
* update br type when turning it into a br_if in remove-unused-brsAlon Zakai2016-09-135-0/+107
|
* fix bug with turning if into br_if without checking for reordering dangersAlon Zakai2016-09-124-20/+167
|
* simple jump threadingAlon Zakai2016-09-126-6987/+7005
|
* thread relooper jumpsAlon Zakai2016-09-127-17351/+16837
|
* remove final elements in vacuum carefully: we must preserve a return value ↵Alon Zakai2016-09-112-0/+75
| | | | if there is one
* run another optimize-expressions at the end of asm2wasmAlon Zakai2016-09-107-32/+209
|
* optimize if-else to br_if when in a blockAlon Zakai2016-09-1011-369/+375
|
* optimize eqz^2 in select and br_ifAlon Zakai2016-09-104-42/+36
|
* test name fixAlon Zakai2016-09-102-2/+2
|
* sort locals by number of total copiesAlon Zakai2016-09-1012-12094/+12000
|
* take into account removed copies even when number of locals is the same, in ↵Alon Zakai2016-09-099-6768/+6754
| | | | coalesce-locals
* optimize loop endings in RemoveUnusedBrsAlon Zakai2016-09-0910-6716/+6693
| | | | | * 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
* enable udivmoddi4 opts in asm2wasmAlon Zakai2016-09-084-4403/+144
|
* autodrop if body if no elseAlon Zakai2016-09-0719-283/+438
|
* properly handle blocks with return values in vacuum - we cannot remove their ↵Alon Zakai2016-09-074-8/+17
| | | | final value directly, we can only do that if it is dropped, from the drop
* vacuum drops betterAlon Zakai2016-09-076-114/+117
|
* do a first pass in SimplifyLocals that focuses on single-use localsAlon Zakai2016-09-072-5082/+4776
|
* add a testAlon Zakai2016-09-075-1/+37
|
* flip select-eqz when possibleAlon Zakai2016-09-078-262/+220
|
* optimize out a set of a get of a globalAlon Zakai2016-09-074-18/+0
|
* track globals in EffectAnalyzerAlon Zakai2016-09-077-304/+433
|
* optimize loads+shifts into signed loadsAlon Zakai2016-09-077-428/+464
|
* optimize out eqz^2Alon Zakai2016-09-074-588/+304
|
* use eqz as an optimizationAlon Zakai2016-09-0710-4357/+3682
|
* new validation checks for upcoming spec testsAlon Zakai2016-09-075-51/+51
|
* new export syntax in spec repoAlon Zakai2016-09-0740-283/+283
|
* new import syntax in spec repoAlon Zakai2016-09-0743-475/+475
|
* re-enable spec testsAlon Zakai2016-09-071-0/+0
|
* Add a ReFinalize helper, and use that to properly handle asm.js imports ↵Alon Zakai2016-09-075-56/+210
| | | | whose return value is polymorphic
* support HEAP8[x | 0| notation in asm2wasmAlon Zakai2016-09-075-0/+29
|
* import memoryBase and tableBaseAlon Zakai2016-09-0732-16/+72
|
* import tableAlon Zakai2016-09-0732-0/+32
|
* import memory #684Alon Zakai2016-09-0732-32/+32
|
* update empty.fromast test outputAlon Zakai2016-09-071-0/+2
|
* add asm2wasm option to import a mem init fileAlon Zakai2016-09-077-0/+14
| | | | | | | | apply memory segments only if there isn't a memory initializer (which we need for asmjs and asm2wasm modes) use wasm-opt to check recreated wasts for validity, as wasm-shell would try to execute them add testing for combined modes like asmjs,interpret-binary
* do a little more optimization at the end of asm2wasm processingAlon Zakai2016-09-076-136/+68
|
* sink a drop into a single if armAlon Zakai2016-09-074-34/+63
|
* autodrop must be run before we optimize in asm2wasm, as otherwise its input ↵Alon Zakai2016-09-074-76/+102
| | | | | | is not yet valid then after finalizeCalls, we must autodrop again to drop things that finalizeCalls changed