Age | Commit message (Collapse) | Author |
|
not needed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
simplified ifs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(x=x)
|
|
|
|
|
|
When a while statement body is empty, it contains an empty block with no
statement list.
|
|
Fix asm3.test_longjmp_throw
|
|
|
|
|
|
|
|
|
|
These don't actually flow through to the next case, but we have to
make sure they're properly closed in order to keep our invariants
in order.
|
|
It can treat calls to these functions like a jump to function exit,
allowing for more accurate tracking of dead junctions.
|
|
|
|
|
|
|
|
|
|
It now assumes they're of the very restricted for that's actually
produced by emscripten, which both simplified the code and uncovered
opportunities for further register reduction in a testcase.
|
|
Rather than pre-calculating liveness states and then processing nodes
in execution order, we process nodes in reverse execution order and
use the liveness info implicit in this traversal. Names are assigned
a register when they're used for the first time, and the register is
freed when we reach an assignment.
|
|
|
|
|
|
|
|
|
|
This does a much-more-expensive but much-more-thorough registerization
pass based a live-variable analysis for each function.
azakai: perform this on -O3 and above
|
|
|
|
|
|
|
|
|
|
coverage and support for fastcomp
|
|
|
|
Split name-minification into a separate pass from registerization.
|