aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-12-30 14:59:57 -0800
committerAlon Zakai <alonzakai@gmail.com>2011-12-30 14:59:57 -0800
commitf31705d6bdafbcfa924c2a5843b27102aaf74929 (patch)
tree4f09e42d083c591c9be05de46761cbcb61aab2cd
parent2063a3112d90dd65a4764f2c0c29860a20b2fec1 (diff)
add optimizeShiftsConservative to emcc
-rwxr-xr-xemcc12
1 files changed, 9 insertions, 3 deletions
diff --git a/emcc b/emcc
index 594cb344..d4bbcebe 100755
--- a/emcc
+++ b/emcc
@@ -481,9 +481,9 @@ try:
shutil.copyfile(final, os.path.join(shared.EMSCRIPTEN_TEMP_DIR, 'emcc-%d%s.js' % (intermediate_counter, '' if name is None else '-' + name)))
intermediate_counter += 1
- save_intermediate()
+ save_intermediate('original')
final = shared.Building.js_optimizer(final, []) # Clean up the syntax a bit, so comparisons to later passes are simpler
- save_intermediate()
+ save_intermediate('pretty')
if opt_level >= 1:
# js optimizer
@@ -495,11 +495,17 @@ try:
# eliminator
final = shared.Building.eliminator(final)
- if DEBUG: save_intermediate()
+ if DEBUG: save_intermediate('eliminator')
# js optimizer pre-pass
final = shared.Building.js_optimizer(final, 'simplifyExpressionsPre')
if DEBUG: save_intermediate('simplifyExpressionsPre')
+ final = shared.Building.js_optimizer(final, 'optimizeShiftsConservative')
+ if DEBUG: save_intermediate('optimizeShiftsConservative')
+ #final = shared.Building.js_optimizer(final, 'optimizeShiftsAggressive')
+ #if DEBUG: save_intermediate('optimizeShiftsAggressive')
+ #final = shared.Building.eliminator(final) # aggressive shifts optimization introduces some new variables, remove ones that we can
+ #if DEBUG: save_intermediate('eliminator')
if closure:
if DEBUG: print >> sys.stderr, 'emcc: running closure'