summaryrefslogtreecommitdiff
path: root/src/passes/SimplifyLocals.cpp
Commit message (Collapse)AuthorAgeFilesLines
* add drop and tee expressionsAlon Zakai2016-09-071-12/+30
|
* Add initialization functions for passes to avoid missing pass registration ↵Jukka Jylänki2016-06-211-1/+3
| | | | due to linker dead code elimination. Fixes #577.
* move function parallelism to pass and pass runner, which allows more ↵Alon Zakai2016-06-031-3/+5
| | | | efficient parallel execution (#564)
* refactor walk logic into walk* and doWalk* methods, for a more regular API ↵Alon Zakai2016-05-301-5/+5
| | | | that is clearer where it should be overridden (#551)
* vacuum away everything not tied downAlon Zakai2016-05-191-2/+1
|
* clear sinkables on unoptimizable blocks, as they have a control flow mergeAlon Zakai2016-05-051-6/+10
|
* note defaults of switches in SimplifyLocalsAlon Zakai2016-05-051-0/+1
|
* optimize block and if returns, by merging set_locals that flow out of themAlon Zakai2016-04-241-72/+300
|
* handle dead stores in SimplifyLocalsAlon Zakai2016-04-181-2/+3
|
* remove old comments in SimplifyLocalsAlon Zakai2016-04-181-2/+1
|
* create a UnifiedExpressionVisitor for passes that want a single visitor ↵Alon Zakai2016-04-181-3/+3
| | | | function, to avoid confusion with having both visit* and visitExpression in a single pass (#357)
* use a vector for get_local counts in SimplifyLocals (#356)Alon Zakai2016-04-181-1/+2
|
* index locals, so that get_local and set_local have just an index, and local ↵Alon Zakai2016-04-181-13/+13
| | | | names are kept on the Function object (#354)
* Function parallelism (#343)Alon Zakai2016-04-151-2/+5
| | | | * allow traversals to mark themselves as function-parallel, in which case we run them using a thread pool. also mark some thread-safety risks (interned strings, arena allocators) with assertions they modify only on the main thread
* drop completely unused locals in ReorderLocalsAlon Zakai2016-04-111-0/+4
|
* continue simplifying locals while opportunities present themselvesAlon Zakai2016-04-111-23/+37
|
* dyn_cast => dynCastAlon Zakai2016-04-111-1/+1
|
* remove set_locals with no remaining gets in SimplifyLocalsAlon Zakai2016-04-111-4/+51
|
* De-recurse traversals (#333)Alon Zakai2016-04-111-31/+41
| | | | | | | | | | | | * 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
* add missing checks on nested blocks in SimplifyExpressionsAlon Zakai2016-04-071-2/+7
|
* refactor checks in SimplifyLocalsAlon Zakai2016-04-071-8/+15
|
* handle loops in effect analyzerAlon Zakai2016-04-071-8/+19
|
* fix invalidation logic in SimplifyLocals, visit each node as we hit it, do ↵Alon Zakai2016-04-071-1/+3
| | | | not walk it to look for invalidating elements that are children, we already saw them
* derecurse blocks helper, and use it in SimplifyLocalsAlon Zakai2016-04-071-8/+6
|
* rewrite SimplifyLocals to use FastExecutionWalkerAlon Zakai2016-04-071-12/+71
|
* Some cleanup.Michael Bebenita2016-01-141-1/+1
|
* Use LLVM style static polymorphism for WasmVisitors.Michael Bebenita2016-01-131-2/+2
|
* A more generic compiler pass system.Michael Bebenita2016-01-131-1/+1
|
* use simplify-locals by defaultAlon Zakai2016-01-091-0/+1
|
* start work on SimplifyLocalsAlon Zakai2016-01-091-0/+43