Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | optimize block and if returns, by merging set_locals that flow out of them | Alon Zakai | 2016-04-24 | 8 | -19203/+18369 |
| | |||||
* | run multiple cycles of RemoveUnusedBrs | Alon Zakai | 2016-04-24 | 3 | -6/+4 |
| | |||||
* | run optimize-instructions a second time at the end | Alon Zakai | 2016-04-24 | 2 | -1100/+820 |
| | |||||
* | get rid of nops in ifs | Alon Zakai | 2016-04-24 | 2 | -0/+26 |
| | |||||
* | handle general control flow in RemoveUnusedBrs | Alon Zakai | 2016-04-24 | 10 | -3197/+2995 |
| | |||||
* | vacuum dead code after br_table | Alon Zakai | 2016-04-24 | 2 | -0/+11 |
| | |||||
* | vacuum dead code after unconditional brs | Alon Zakai | 2016-04-24 | 6 | -48/+17 |
| | |||||
* | Simplify statics, segments, and relocations (#380) | Derek Schuff | 2016-04-22 | 1 | -1/+1 |
| | | | | Also defer address assignment until layout time in preparation for separating linker objects out from Linker | ||||
* | ifs in the binary format always have a break scope | Alon Zakai | 2016-04-21 | 1 | -12/+24 |
| | |||||
* | optimize --vacuum a little | Alon Zakai | 2016-04-20 | 2 | -0/+2 |
| | |||||
* | run merge-blocks later, so it can optiize simplify-locals output | Alon Zakai | 2016-04-20 | 2 | -20/+16 |
| | |||||
* | Merge pull request #371 from yurydelendik/initarray-mutilple | Yury Delendik | 2016-04-20 | 2 | -3/+14 |
|\ | | | | | Parses more than one entry in the .init_array section. | ||||
| * | Parses more than one entry in the .init_array section. | Yury Delendik | 2016-04-20 | 2 | -3/+14 |
| | | |||||
* | | update emscripten | Alon Zakai | 2016-04-20 | 1 | -0/+0 |
| | | |||||
* | | update tests | Alon Zakai | 2016-04-20 | 2 | -74/+2144 |
|/ | |||||
* | update tests | Alon Zakai | 2016-04-18 | 3 | -2/+2 |
| | |||||
* | handle dead stores in SimplifyLocals | Alon Zakai | 2016-04-18 | 4 | -35/+13 |
| | |||||
* | create a UnifiedExpressionVisitor for passes that want a single visitor ↵ | Alon Zakai | 2016-04-18 | 1 | -1/+1 |
| | | | | function, to avoid confusion with having both visit* and visitExpression in a single pass (#357) | ||||
* | remove the AllocatingModule class, and just make Module have allocations. ↵ | Alon Zakai | 2016-04-18 | 1 | -1/+1 |
| | | | | the distinction is not really that useful, and passes do need to allocate, so we would need to pass around AllocatingModules all around anyhow. (#361) | ||||
* | index locals, so that get_local and set_local have just an index, and local ↵ | Alon Zakai | 2016-04-18 | 8 | -2754/+2754 |
| | | | | names are kept on the Function object (#354) | ||||
* | Fixes typo in hex number parsing in asm2wasm. (#362) | Yury Delendik | 2016-04-18 | 5 | -0/+40 |
| | | | Fixes #352 | ||||
* | Update waterfall, get rlimit bump | JF Bastien | 2016-04-15 | 1 | -0/+0 |
| | |||||
* | remove excessive wasm-s-parser debug logging (#345) | Alon Zakai | 2016-04-14 | 1 | -1/+1 |
| | |||||
* | Generate emscripten dynCall thunks in s2wasm (#342) | Derek Schuff | 2016-04-13 | 7 | -0/+244 |
| | | | | | | | | | | | * Generate emscripten dynCall thunks in s2wasm Part of the usual emscripten glue for asm.js is thunks for calling functions on the module given a function pointer; aka a dynCall. This is implemented via thunks generated on the Module called 'dynCall_<signature>'. This gives support to s2wasm to generate these thunks in the wasm module along with other emscripten glue. It also introduces a flag to s2wasm to make generation of emscripten glue optional. | ||||
* | drop completely unused locals in ReorderLocals | Alon Zakai | 2016-04-11 | 11 | -4142/+0 |
| | |||||
* | add reorder-locals testcase | Alon Zakai | 2016-04-11 | 2 | -0/+22 |
| | |||||
* | continue simplifying locals while opportunities present themselves | Alon Zakai | 2016-04-11 | 7 | -3761/+3361 |
| | |||||
* | add simplify-locals testcase | Alon Zakai | 2016-04-11 | 2 | -0/+394 |
| | |||||
* | dyn_cast => dynCast | Alon Zakai | 2016-04-11 | 1 | -1/+1 |
| | |||||
* | remove set_locals with no remaining gets in SimplifyLocals | Alon Zakai | 2016-04-11 | 12 | -21484/+11614 |
| | |||||
* | add more simplify-locals tests | Alon Zakai | 2016-04-11 | 2 | -2/+46 |
| | |||||
* | track individual locals in EffectAnalyzer | Alon Zakai | 2016-04-11 | 9 | -19160/+17294 |
| | |||||
* | De-recurse traversals (#333) | Alon Zakai | 2016-04-11 | 3 | -2/+20 |
| | | | | | | | | | | | | * refactor core walking to not recurse * add a simplify-locals test * reuse parent's non-branchey scan logic in SimpleExecutionWalker, reduce code duplication * update wasm.js * rename things following comments | ||||
* | Update to revision 5147 (#332) | JF Bastien | 2016-04-10 | 127 | -9418/+10179 |
| | |||||
* | add tests for eqz-comparison folding | Alon Zakai | 2016-04-09 | 2 | -0/+40 |
| | |||||
* | fold eqz+comparisons | Alon Zakai | 2016-04-09 | 8 | -160/+96 |
| | |||||
* | optimize asm2wasm loop branches using eqz | Alon Zakai | 2016-04-09 | 8 | -228/+228 |
| | |||||
* | AST Builder class, and use it to optimzie umoddi4 in asm2wasm | Alon Zakai | 2016-04-08 | 3 | -2367/+71 |
| | |||||
* | optimize llvm.cttz.i32 into i32.ctz | Alon Zakai | 2016-04-08 | 6 | -203/+23 |
| | |||||
* | add missing checks on nested blocks in SimplifyExpressions | Alon Zakai | 2016-04-07 | 2 | -0/+26 |
| | |||||
* | handle loops in effect analyzer | Alon Zakai | 2016-04-07 | 2 | -0/+20 |
| | |||||
* | blocks must mark as branching in effects analyzer, as control flow can join ↵ | Alon Zakai | 2016-04-07 | 4 | -18/+44 |
| | | | | there if the end of the block was branched to | ||||
* | fix invalidation logic in SimplifyLocals, visit each node as we hit it, do ↵ | Alon Zakai | 2016-04-07 | 2 | -20/+18 |
| | | | | not walk it to look for invalidating elements that are children, we already saw them | ||||
* | update tests | Alon Zakai | 2016-04-07 | 12 | -38342/+32828 |
| | |||||
* | fix effect invalidation logic | Alon Zakai | 2016-04-07 | 1 | -21/+21 |
| | |||||
* | add more simplify-locals testing | Alon Zakai | 2016-04-07 | 2 | -4/+299 |
| | |||||
* | add vacuum pass | Alon Zakai | 2016-04-07 | 2 | -0/+20 |
| | |||||
* | optimize if-eqz | Alon Zakai | 2016-04-06 | 8 | -2880/+2461 |
| | |||||
* | Fix output of initializer list metadata | Derek Schuff | 2016-04-06 | 1 | -1/+1 |
| | | | | | | * Fix output of initializer list metadata Turns out trailing commas aren't valid JSON | ||||
* | Fix s2wasm handling of aliased functions | Derek Schuff | 2016-04-06 | 2 | -4/+10 |
| | | | | | | This fixes 2 bugs in s2wasm: * Handle address-taken aliases (i.e. when they appear in relocations), by looking up and subsituting the address of the aliasee. * Skip whitespace at the top of the scan() loop instead of requiring it to match. When there are multiple alias declarations in a row, the match("FUNCTION") at the end of an alias delcaration consumes the whitespace at the beginning of the next line, causing it to fail to match the tab character specified in the match pattern at the top of the loop. |