Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | more RemoveUnusedName opts: merge names when possible, and do block/loop ↵ | Alon Zakai | 2016-07-20 | 8 | -5407/+5403 |
| | | | | merging based on their names | ||||
* | remove unused labels from loops too, and general clean ups for RemoveUnusedNames | Alon Zakai | 2016-07-20 | 10 | -5520/+5560 |
| | |||||
* | avoid label variable usage in relooper for forward branches, just use a ↵ | Alon Zakai | 2016-07-20 | 4 | -977/+841 |
| | | | | stack of blocks for them. after this change, only irreducible control flow should cause label variable usage | ||||
* | add more relooper testing and improve existing | Alon Zakai | 2016-07-20 | 7 | -342/+2562 |
| | |||||
* | try natural and reverse order in coalese-locals | Alon Zakai | 2016-07-17 | 2 | -2868/+2938 |
| | |||||
* | optimize to remove as many copies as possible in coalesce-locals | Alon Zakai | 2016-07-16 | 8 | -6960/+6086 |
| | |||||
* | fix dce bug in non-parallel mode, which happens in debug mode, and add debug ↵ | Alon Zakai | 2016-07-16 | 2 | -0/+13 |
| | | | | testing | ||||
* | eq/ne are ok to optimize even if they are nans (#640) | Alon Zakai | 2016-07-15 | 4 | -34/+47 |
| | |||||
* | don't simplify using de-morgan's rules on floats, because of nans (#638) | Alon Zakai | 2016-07-15 | 4 | -26/+91 |
| | |||||
* | emit safe calls for i32 div/rem when in precise mode in asm2wasm, as they ↵ | Alon Zakai | 2016-07-14 | 8 | -53/+84 |
| | | | | can trap (#637) | ||||
* | Fix waterfall submodule (#634) | Dominic Chen | 2016-07-14 | 1 | -0/+0 |
| | | | This brings in the updates for the renaming of the binaries from 5936f05 | ||||
* | Merge pull request #632 from WebAssembly/too | Alon Zakai | 2016-07-13 | 1 | -0/+0 |
|\ | | | | | Tool renaming and refactoring | ||||
| * | separate wasm-opt out from wasm-shell: opt optimizes, shell runs wast shell ↵ | Alon Zakai | 2016-07-13 | 1 | -0/+0 |
| | | | | | | | | tests | ||||
* | | Don't emit empty array literals in trace output (#631) | Alon Zakai | 2016-07-13 | 1 | -39/+39 |
|/ | | | | * don't emit empty array literals in trace output | ||||
* | Handle aliases without size (e.g. weak symbol), add redefinition warnings (#630) | Dominic Chen | 2016-07-13 | 1 | -6/+10 |
| | |||||
* | handle param overloading in asm2wasm ffis (#629) | Alon Zakai | 2016-07-12 | 5 | -16/+62 |
| | |||||
* | relooper tracing + fixes | Alon Zakai | 2016-07-12 | 3 | -236/+1369 |
| | |||||
* | allow multiple traces | Alon Zakai | 2016-07-12 | 2 | -9/+6 |
| | |||||
* | add a tracing option to the c api, which logs out a runnable program from c ↵ | Alon Zakai | 2016-07-12 | 4 | -0/+1070 |
| | | | | api calls | ||||
* | add support for symbol assignments, closes #4422 (#615) | Dominic Chen | 2016-07-11 | 2 | -9/+36 |
| | | | Adds support for aliases to objects, to go along with the existing support for aliases to functions. | ||||
* | add a relooper test for duff's device, showing irreducible control flow and ↵ | Alon Zakai | 2016-07-07 | 2 | -0/+106 |
| | | | | helper var use | ||||
* | update spec tests, and handle some flux in call_indirect in upstream | Alon Zakai | 2016-07-06 | 1 | -0/+0 |
| | |||||
* | validate set_local types against the function #618 (#620) | Alon Zakai | 2016-07-06 | 2 | -1/+33 |
| | |||||
* | quote names in s-format that need it | Alon Zakai | 2016-07-05 | 2 | -7/+7 |
| | |||||
* | Relooper switch support (#617) | Alon Zakai | 2016-07-02 | 2 | -2/+52 |
| | | | | | | * support switches in relooper and c api * update relooper fuzzer for switches | ||||
* | update emscripten submodule | Alon Zakai | 2016-06-29 | 1 | -0/+0 |
| | |||||
* | add c api method to interpret a module, calling its start method (#601) | Alon Zakai | 2016-06-25 | 2 | -0/+34 |
| | |||||
* | finalize blocks properly in relooper (#600) | Alon Zakai | 2016-06-24 | 2 | -0/+25 |
| | |||||
* | add BinaryenExpressionPrint to c api (#599) | Alon Zakai | 2016-06-24 | 2 | -0/+5 |
| | |||||
* | test only c api examples; c++ api is internal and unstable, it is tested by ↵ | Alon Zakai | 2016-06-21 | 2 | -67/+0 |
| | | | | our own codebase | ||||
* | run precompute after every optimize-instructions | Alon Zakai | 2016-06-18 | 2 | -264/+48 |
| | |||||
* | add a precompute pass | Alon Zakai | 2016-06-18 | 12 | -296/+117 |
| | |||||
* | Do not create dyncall thunks for functions with i64 results or params (#586) | Derek Schuff | 2016-06-14 | 4 | -68/+30 |
| | | | | | | Dyncall thunks are meant to be used with emscripten on the web; however on the web, functions with i64 results or params are not allowed to be exported. | ||||
* | Add mode to wasm validator to check for web-environment constraints (#584) | Derek Schuff | 2016-06-14 | 3 | -0/+4 |
| | | | | | | | In the web embedding, modules are not allowed to import or export functions which have i64 params or return values. Add a mode to the validator to check for this, and add flags to s2wasm and wasm-as to enable or disable this check. Also add tests. | ||||
* | Merge pull request #583 from WebAssembly/br-more | Alon Zakai | 2016-06-11 | 13 | -96/+238 |
|\ | | | | | Fix and improve br optimizations | ||||
| * | run remove-unused-brs after simplify-locals | Alon Zakai | 2016-06-11 | 8 | -104/+80 |
| | | |||||
| * | fix br_if with value optimization in remove-unused-brs | Alon Zakai | 2016-06-11 | 7 | -0/+166 |
| | | |||||
* | | s2wasm: Validate the result module (#574) | Derek Schuff | 2016-06-10 | 1 | -0/+3 |
|/ | | | | Add an s2wasm option `--no-validate` to disable validation for debugging purposes. Also fix several validation errors by adding calls to `finalize()` after creating expressions, and ensuring that an import is created earlier in `Linker::getImportThunk`. | ||||
* | add a pass to remove memory segments (#580) | Alon Zakai | 2016-06-08 | 2 | -0/+9 |
| | |||||
* | Fixed missing type assignment of host operations in s2wasm (#572) | Alexander Meißner | 2016-06-06 | 2 | -0/+22 |
| | |||||
* | make call_indirect type a name, so that it is not a dependency on the ↵ | Alon Zakai | 2016-06-03 | 1 | -1/+1 |
| | | | | module, which would break consistency and make some parallel passes tricky (#568) | ||||
* | Do not generate duplicate import thunks at link time. (#569) | Derek Schuff | 2016-06-03 | 3 | -2/+22 |
| | | | | | Previously every address-take of an import would cause a new thunk to be generated. Now check in getImportThunk if the thunk exists already and just return it if so. | ||||
* | Update waterfall to 7268 (#566) | Derek Schuff | 2016-06-03 | 999 | -2503/+4051 |
| | | | | | Also update torture-s tests. This brings in the .functype directives and causes 2 more tests to pass. | ||||
* | add nm pass, that prints function names and sizes (#562) | Alon Zakai | 2016-06-03 | 2 | -0/+61 |
| | |||||
* | Fix leak of FunctionType from parseFuncType when not already in the module ↵ | Derek Schuff | 2016-06-03 | 1 | -3/+3 |
| | | | | | (#563) Pass ownership into the wasm module. | ||||
* | add OptimizingIncrementalModuleBuilder for faster incremental module ↵ | Alon Zakai | 2016-06-02 | 2 | -4/+4 |
| | | | | building + optimizing | ||||
* | Update waterfall to 7426 (#559) | Derek Schuff | 2016-06-02 | 1045 | -48289/+48823 |
| | | | | | Also update torture tests. This brings in a clang with the compiler-rt libraries, for https://github.com/WebAssembly/binaryen/pull/557 | ||||
* | Generate thunks for address-taken imports (#554) | Derek Schuff | 2016-06-02 | 3 | -0/+229 |
| | | | | | | | | | | | Under emscripten, C code can take the address of a function implemented in Javascript (which is exposed via an import in wasm). Because imports do not have linear memory address in wasm, we need to generate a thunk to be the target of the indirect call; it call the import directly. This is facilited by a new .s directive (.functype) which declares the types of functions which are declared but not defined. Fixes https://github.com/WebAssembly/binaryen/issues/392 | ||||
* | missing test file | Alon Zakai | 2016-06-01 | 1 | -0/+2 |
| | |||||
* | if we use the zero-init value of a local, we cannot coalesce it with a param ↵ | Alon Zakai | 2016-06-01 | 7 | -2/+129 |
| | | | | (#556) |