aboutsummaryrefslogtreecommitdiff
path: root/emcc
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2014-02-03 23:38:50 -0500
committerAlon Zakai <alonzakai@gmail.com>2014-02-03 23:38:50 -0500
commit3136112a0000d94024851347b3fc03e178481add (patch)
treeaf57b417ab8435f4fe73c5b983756ec0249b4663 /emcc
parentb6782ad900f6f4487aba973fbd04e8e232a33e79 (diff)
proper fix for simplifying f32-int bitcasts
Diffstat (limited to 'emcc')
-rwxr-xr-xemcc13
1 files changed, 10 insertions, 3 deletions
diff --git a/emcc b/emcc
index 3c427677..490e6408 100755
--- a/emcc
+++ b/emcc
@@ -1967,16 +1967,23 @@ try:
if len(js_optimizer_extra_info) == 0:
js_optimizer_extra_info = None
if len(js_optimizer_queue) > 0 and not(not shared.Settings.ASM_JS and len(js_optimizer_queue) == 1 and js_optimizer_queue[0] == 'last'):
- if DEBUG != '2':
+
+ def add_opt_args(args):
if shared.Settings.ASM_JS:
- js_optimizer_queue = ['asm'] + js_optimizer_queue
+ args = ['asm'] + args
+ if shared.Settings.PRECISE_F32:
+ args = ['asmPreciseF32'] + args
+ return args
+
+ if DEBUG != '2':
+ js_optimizer_queue = add_opt_args(js_optimizer_queue)
logging.debug('applying js optimization passes: %s', js_optimizer_queue)
final = shared.Building.js_optimizer(final, js_optimizer_queue, jcache, debug_level >= 4, js_optimizer_extra_info)
js_transform_tempfiles.append(final)
if DEBUG: save_intermediate('js_opts')
else:
for name in js_optimizer_queue:
- passes = [name]
+ passes = add_opt_args([name])
if shared.Settings.ASM_JS:
passes = ['asm'] + passes
logging.debug('applying js optimization pass: %s', passes)