diff options
Diffstat (limited to 'emcc')
-rwxr-xr-x | emcc | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -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 |