summaryrefslogtreecommitdiff
path: root/src/passes
Commit message (Collapse)AuthorAgeFilesLines
* globals printing fix, handle the case with no moduleAlon Zakai2016-09-071-1/+2
|
* check store value type, and validation printing improvementsAlon Zakai2016-09-071-0/+4
|
* print wasm types in full modeAlon Zakai2016-09-071-15/+16
|
* select values must be validAlon Zakai2016-09-071-1/+1
|
* move drop into blocks, dropping all the breaks as well, when possibleAlon Zakai2016-09-071-8/+58
|
* loops no longer have an out label and other upstream loop updatesAlon Zakai2016-09-074-41/+14
|
* call_indirect now has the target at the endAlon Zakai2016-09-072-17/+18
|
* it is not cool to return a nopAlon Zakai2016-09-071-1/+1
|
* add drop and tee expressionsAlon Zakai2016-09-076-22/+96
|
* remove lower-if-else, as it's no longer neededAlon Zakai2016-09-073-69/+0
|
* remove drop-return-values passAlon Zakai2016-09-074-86/+0
|
* debugging in printAlon Zakai2016-09-071-0/+2
|
* Replace std::unique<T>(new T()) with make_unique<T>().Logan Chien2016-08-262-2/+2
| | | | | | | | | | | | | | | | This commit modernize the code base by replacing: std::unique_ptr<T>(new T(...)) with: make_unique<T>(...) or: wasm::make_unique<T>(...) This is a step closer to adopt C++14 std::make_unique<T>(...).
* offset support in tableAlon Zakai2016-08-154-14/+23
|
* support function table initial and max sizes, and new printing formatAlon Zakai2016-08-121-1/+5
|
* support expressions in segment offsetsAlon Zakai2016-08-121-5/+6
|
* Fix trailing whitespace, single-character strings, checking map element ↵Dominic Chen2016-07-221-11/+11
| | | | presence, and eliminate explicit index counter (#633)
* support wasm globals (#650)Alon Zakai2016-07-212-0/+33
|
* more RemoveUnusedName opts: merge names when possible, and do block/loop ↵Alon Zakai2016-07-201-5/+42
| | | | merging based on their names
* remove unused labels from loops too, and general clean ups for RemoveUnusedNamesAlon Zakai2016-07-201-7/+28
|
* optimize updating of interference and copy table in CoalesceLocalsAlon Zakai2016-07-171-2/+3
|
* optimize types in CoalesceLocalsAlon Zakai2016-07-171-19/+20
|
* try natural and reverse order in coalese-localsAlon Zakai2016-07-171-2/+20
|
* optimize to remove as many copies as possible in coalesce-localsAlon Zakai2016-07-161-4/+32
|
* make sure to create instances of function-parallel functions, even in debug modeAlon Zakai2016-07-161-1/+8
|
* fix dce bug in non-parallel mode, which happens in debug mode, and add debug ↵Alon Zakai2016-07-161-1/+6
| | | | testing
* eq/ne are ok to optimize even if they are nans (#640)Alon Zakai2016-07-152-0/+32
|
* don't simplify using de-morgan's rules on floats, because of nans (#638)Alon Zakai2016-07-152-64/+0
|
* quote names in s-format that need itAlon Zakai2016-07-051-9/+27
|
* avoid exceptions in Precompute pass (#606)Alon Zakai2016-06-271-10/+12
|
* rewrite OptimizeInstructions to use a dsl of patternsAlon Zakai2016-06-263-50/+440
|
* Merge pull request #593 from WebAssembly/remove-div0Alon Zakai2016-06-2125-31/+170
|\ | | | | Explicit registering of passes
| * Add initialization functions for passes to avoid missing pass registration ↵Jukka Jylänki2016-06-2125-31/+170
| | | | | | | | due to linker dead code elimination. Fixes #577.
* | Build fixes/workarounds to support Visual Studio 2013 build, which has ↵juj2016-06-212-3/+3
|/ | | | trouble with some new C++11 constructs. (#581)
* run precompute after every optimize-instructionsAlon Zakai2016-06-181-0/+2
|
* add a precompute passAlon Zakai2016-06-183-0/+106
|
* run remove-unused-brs after simplify-localsAlon Zakai2016-06-111-0/+2
|
* fix br_if with value optimization in remove-unused-brsAlon Zakai2016-06-111-0/+7
|
* use WASM_UNUSED in some places to fix compiler warning/error on unused ↵Alon Zakai2016-06-081-2/+1
| | | | variables we only use in asserts (#579)
* add a pass to remove memory segments (#580)Alon Zakai2016-06-082-0/+35
|
* make call_indirect type a name, so that it is not a dependency on the ↵Alon Zakai2016-06-031-1/+1
| | | | module, which would break consistency and make some parallel passes tricky (#568)
* move function parallelism to pass and pass runner, which allows more ↵Alon Zakai2016-06-0314-71/+118
| | | | efficient parallel execution (#564)
* add nm pass, that prints function names and sizes (#562)Alon Zakai2016-06-032-0/+39
|
* add an option to run passes on individual functions, and to get default ↵Alon Zakai2016-06-021-0/+25
| | | | optimization passes suitable for that, or not. refactor visitFunction/Module for this.
* if we use the zero-init value of a local, we cannot coalesce it with a param ↵Alon Zakai2016-06-011-4/+10
| | | | (#556)
* refactor walk logic into walk* and doWalk* methods, for a more regular API ↵Alon Zakai2016-05-304-19/+18
| | | | that is clearer where it should be overridden (#551)
* add a pass that eliminates duplicate functionsAlon Zakai2016-05-283-0/+182
|
* canonicalize the order in reorder-locals, by using first-appearance to break ↵Alon Zakai2016-05-281-5/+14
| | | | ties
* note number of functions in metricsAlon Zakai2016-05-281-0/+4
|
* update functions map in RemoveUnusedFunctions (#545)Alon Zakai2016-05-261-0/+1
|