aboutsummaryrefslogtreecommitdiff
path: root/tools/js-optimizer.js
AgeCommit message (Collapse)Author
2014-02-04do not apply de-morgan's laws on floats, nans break themAlon Zakai
2014-02-03proper fix for simplifying f32-int bitcastsAlon Zakai
2014-02-03handle fround in optimizing out of tempDoublePtrAlon Zakai
2014-01-23Add TODO about more permissive label handling in registerizeHarderRyan Kelly
2014-01-23Simplify handling of switch statements in registerizeHarder.Ryan Kelly
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.
2014-01-23Reduce memory usage when assigning registers in a block.Ryan Kelly
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.
2014-01-21assign to null to clear a local variable, avoid deleteAlon Zakai
2014-01-21fix typoAlon Zakai
2014-01-21avoid nonstandard use of spliceAlon Zakai
2014-01-21rename a variable to our conventionsAlon Zakai
2014-01-21Registerize based on full liveness analysis.Ryan Kelly
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
2014-01-21Minify loop labels while we're minifying local names.Ryan Kelly
2014-01-20Fix a param-handling bug in normalizeAsmRyan Kelly
2014-01-17handle unsigned reads in safe heapAlon Zakai
2014-01-17use double for float arguments to safe heapAlon Zakai
2014-01-16enable a form of safe heap in asm, using js optimizer pass to ensure full ↵Alon Zakai
coverage and support for fastcomp
2014-01-15add todoAlon Zakai
2014-01-15Merge pull request #2016 from rfk/rfk/minify-names-separatelyAlon Zakai
Split name-minification into a separate pass from registerization.
2014-01-16Address review comments.Ryan Kelly
2014-01-15do not track eliminable variables from one switch statement to another, if ↵Alon Zakai
they have any dependencies; fixes #2003
2014-01-16Split name-minification into a separate pass from registerization.Ryan Kelly
2014-01-14fix aggressiveVariableElimination bug and add testingAlon Zakai
2014-01-08do minified name generation in js-optimizer.js, so that we have no more ↵Alon Zakai
fixed limit on the # of minified names
2014-01-07handle variables that assign a value including themselves in ↵Alon Zakai
aggressiveVariableElimination
2014-01-07make aggressiveVariableElimination usable through a settingAlon Zakai
2013-12-27handle if-chains without an else in the outlinerAlon Zakai
2013-12-24remove outdated commentAlon Zakai
2013-12-23make eliminator not get confused by calls without a return but with a coercionAlon Zakai
2013-12-23don't get confused by temporary empty nodes when calculating assigns in the ↵Alon Zakai
loop variable optimizer
2013-12-23fix bug where close-together tempDoublePtr operations could cross each otherAlon Zakai
2013-12-22comment on how tempDoublePtr is optimizedAlon Zakai
2013-12-19Optimize away masks on stores to HEAP8 and HEAP16.Dan Gohman
Optimize HEAP8[i] = x & 255 to HEAP8[i] = x, and similar for HEAP16.
2013-11-11minify in asm arg coercions that denormalizeAsm generates, to handle ↵Alon Zakai
Math.fround calls
2013-11-11minify in asm var definitions that denormalizeAsm generates, to handle ↵Alon Zakai
Math.fround calls
2013-11-09Math.* have no side effectsAlon Zakai
2013-11-09consolidate side effect checking codeAlon Zakai
2013-11-09remove unneeded varAlon Zakai
2013-11-09optimize hasSideEffectsAlon Zakai
2013-11-08fix float/int bitcast optimization to recognize and preserve Math_froundAlon Zakai
2013-11-08fix registerize pass for float32Alon Zakai
2013-11-08initial work for float32 support in js optimizerAlon Zakai
2013-11-08invalidate calls on conditionals in js optimizer, to avoid eliminating into ↵Alon Zakai
a non-executing code path
2013-10-09avoid X-(-Y) in js optimizer; fixes #1685Alon Zakai
2013-10-06look for metadata in js optimizer starting at the endAlon Zakai
2013-10-03update js optimizer testsAlon Zakai
2013-10-03emit final missing returns in compiler itselfAlon Zakai
2013-10-02assert on vars being in front of functions straight out of the js compilerAlon Zakai
2013-10-02optimize Math.x to Math_xAlon Zakai
2013-10-02assert in normalizeAsmAlon Zakai
2013-09-11abort registerize at the proper early time when we need toAlon Zakai