Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | memory and table printing fixes | Alon Zakai | 2016-09-20 | 32 | -112/+64 |
| | |||||
* | globals mutability fixes | Alon Zakai | 2016-09-19 | 20 | -400/+500 |
| | |||||
* | parsing and validation fixes | Alon Zakai | 2016-09-17 | 4 | -7/+14 |
| | |||||
* | br_if returns its value | Alon Zakai | 2016-09-16 | 12 | -97/+139 |
| | |||||
* | block signatures | Alon Zakai | 2016-09-16 | 29 | -458/+458 |
| | |||||
* | call_import changes: no more call_import, shared index space with functions | Alon Zakai | 2016-09-16 | 56 | -1979/+1979 |
| | |||||
* | handle getTempRet0 having extra code, which can happen in emterpreter ↵ | Alon Zakai | 2016-09-15 | 5 | -1/+43 |
| | | | | assertions mode | ||||
* | fix remove-unused-brs bug when checking if it is safe to conditionalize code | Alon Zakai | 2016-09-15 | 2 | -0/+65 |
| | |||||
* | Update s2wasm for 0xc changes (#698) | Derek Schuff | 2016-09-15 | 93 | -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 Zakai | 2016-09-14 | 2 | -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 Zakai | 2016-09-14 | 2 | -2552/+2766 |
| | | | | to know if it is safe to do so | ||||
* | drop if-else arms as necessary | Alon Zakai | 2016-09-13 | 5 | -8/+133 |
| | |||||
* | update br type when turning it into a br_if in remove-unused-brs | Alon Zakai | 2016-09-13 | 5 | -0/+107 |
| | |||||
* | fix bug with turning if into br_if without checking for reordering dangers | Alon Zakai | 2016-09-12 | 4 | -20/+167 |
| | |||||
* | simple jump threading | Alon Zakai | 2016-09-12 | 6 | -6987/+7005 |
| | |||||
* | thread relooper jumps | Alon Zakai | 2016-09-12 | 7 | -17351/+16837 |
| | |||||
* | remove final elements in vacuum carefully: we must preserve a return value ↵ | Alon Zakai | 2016-09-11 | 2 | -0/+75 |
| | | | | if there is one | ||||
* | run another optimize-expressions at the end of asm2wasm | Alon Zakai | 2016-09-10 | 7 | -32/+209 |
| | |||||
* | optimize if-else to br_if when in a block | Alon Zakai | 2016-09-10 | 11 | -369/+375 |
| | |||||
* | optimize eqz^2 in select and br_if | Alon Zakai | 2016-09-10 | 4 | -42/+36 |
| | |||||
* | test name fix | Alon Zakai | 2016-09-10 | 2 | -2/+2 |
| | |||||
* | sort locals by number of total copies | Alon Zakai | 2016-09-10 | 12 | -12094/+12000 |
| | |||||
* | take into account removed copies even when number of locals is the same, in ↵ | Alon Zakai | 2016-09-09 | 9 | -6768/+6754 |
| | | | | coalesce-locals | ||||
* | optimize loop endings in RemoveUnusedBrs | Alon Zakai | 2016-09-09 | 10 | -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 asm2wasm | Alon Zakai | 2016-09-08 | 4 | -4403/+144 |
| | |||||
* | autodrop if body if no else | Alon Zakai | 2016-09-07 | 19 | -283/+438 |
| | |||||
* | properly handle blocks with return values in vacuum - we cannot remove their ↵ | Alon Zakai | 2016-09-07 | 4 | -8/+17 |
| | | | | final value directly, we can only do that if it is dropped, from the drop | ||||
* | vacuum drops better | Alon Zakai | 2016-09-07 | 6 | -114/+117 |
| | |||||
* | do a first pass in SimplifyLocals that focuses on single-use locals | Alon Zakai | 2016-09-07 | 2 | -5082/+4776 |
| | |||||
* | add a test | Alon Zakai | 2016-09-07 | 5 | -1/+37 |
| | |||||
* | flip select-eqz when possible | Alon Zakai | 2016-09-07 | 8 | -262/+220 |
| | |||||
* | optimize out a set of a get of a global | Alon Zakai | 2016-09-07 | 4 | -18/+0 |
| | |||||
* | track globals in EffectAnalyzer | Alon Zakai | 2016-09-07 | 7 | -304/+433 |
| | |||||
* | optimize loads+shifts into signed loads | Alon Zakai | 2016-09-07 | 7 | -428/+464 |
| | |||||
* | optimize out eqz^2 | Alon Zakai | 2016-09-07 | 4 | -588/+304 |
| | |||||
* | use eqz as an optimization | Alon Zakai | 2016-09-07 | 10 | -4357/+3682 |
| | |||||
* | new validation checks for upcoming spec tests | Alon Zakai | 2016-09-07 | 5 | -51/+51 |
| | |||||
* | new export syntax in spec repo | Alon Zakai | 2016-09-07 | 40 | -283/+283 |
| | |||||
* | new import syntax in spec repo | Alon Zakai | 2016-09-07 | 43 | -475/+475 |
| | |||||
* | re-enable spec tests | Alon Zakai | 2016-09-07 | 1 | -0/+0 |
| | |||||
* | Add a ReFinalize helper, and use that to properly handle asm.js imports ↵ | Alon Zakai | 2016-09-07 | 5 | -56/+210 |
| | | | | whose return value is polymorphic | ||||
* | support HEAP8[x | 0| notation in asm2wasm | Alon Zakai | 2016-09-07 | 5 | -0/+29 |
| | |||||
* | import memoryBase and tableBase | Alon Zakai | 2016-09-07 | 32 | -16/+72 |
| | |||||
* | import table | Alon Zakai | 2016-09-07 | 32 | -0/+32 |
| | |||||
* | import memory #684 | Alon Zakai | 2016-09-07 | 32 | -32/+32 |
| | |||||
* | update empty.fromast test output | Alon Zakai | 2016-09-07 | 1 | -0/+2 |
| | |||||
* | add asm2wasm option to import a mem init file | Alon Zakai | 2016-09-07 | 7 | -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 processing | Alon Zakai | 2016-09-07 | 6 | -136/+68 |
| | |||||
* | sink a drop into a single if arm | Alon Zakai | 2016-09-07 | 4 | -34/+63 |
| | |||||
* | autodrop must be run before we optimize in asm2wasm, as otherwise its input ↵ | Alon Zakai | 2016-09-07 | 4 | -76/+102 |
| | | | | | | is not yet valid then after finalizeCalls, we must autodrop again to drop things that finalizeCalls changed |