aboutsummaryrefslogtreecommitdiff
path: root/emcc
diff options
context:
space:
mode:
Diffstat (limited to 'emcc')
-rwxr-xr-xemcc12
1 files changed, 10 insertions, 2 deletions
diff --git a/emcc b/emcc
index 8c528a46..d368a4e5 100755
--- a/emcc
+++ b/emcc
@@ -163,10 +163,14 @@ Options that are modified or new in %s include:
EMCC_OPTIMIZE_NORMALLY=1 (not recommended
unless you know what you are doing!)
-O2 As -O1, plus the relooper (loop recreation),
- plus LLVM -O2 optimizations
+ LLVM -O2 optimizations, and
+
+ -s ALIASING_FUNCTION_POINTERS=1
+
-O3 As -O2, plus dangerous optimizations that may
break the generated code! This adds
+ -s FORCE_ALIGNED_MEMORY=1
-s DOUBLE_MODE=0
-s PRECISE_I64_MATH=0
--closure 1
@@ -174,7 +178,8 @@ Options that are modified or new in %s include:
This is not recommended at all. A better idea
is to try each of these separately on top of
- -O2 to see what works. See the wiki for more
+ -O2 to see what works. See the wiki and
+ src/settings.js (for the -s options) for more
information.
-s OPTION=VALUE JavaScript code generation option passed
@@ -1030,6 +1035,9 @@ try:
shared.Settings.CORRECT_OVERFLOWS = 1
assert not shared.Settings.PGO, 'cannot run PGO in ASM_JS mode'
+ if shared.Settings.ASSERTIONS and shared.Settings.ALIASING_FUNCTION_POINTERS:
+ logging.warning('ALIASING_FUNCTION_POINTERS is on, function pointer comparisons may be invalid across types')
+
if shared.Settings.CORRECT_SIGNS >= 2 or shared.Settings.CORRECT_OVERFLOWS >= 2 or shared.Settings.CORRECT_ROUNDINGS >= 2:
keep_llvm_debug = True # must keep debug info to do line-by-line operations