diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-03-05 20:40:36 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-03-05 20:46:47 -0800 |
commit | 97407b218c6d816e964f1faa1420db46ea1fec3c (patch) | |
tree | 0d8f80bec7b58bb5f021ddf88227799d35314061 /emcc | |
parent | 3a2cf7e0b1e66dfdccbb49d0ef38b20d0369a533 (diff) |
make -Os like -O2 but also disable inlining
Diffstat (limited to 'emcc')
-rwxr-xr-x | emcc | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -706,19 +706,21 @@ try: absolute_warning_shown = False + settings_changes = [] + for i in range(len(newargs)): newargs[i] = newargs[i].strip() # On Windows Vista (and possibly others), excessive spaces in the command line leak into the items in this array, so trim e.g. 'foo.cpp ' -> 'foo.cpp' if newargs[i].startswith('-O'): # Let -O default to -O2, which is what gcc does. requested_level = newargs[i][2:] or '2' if requested_level == 's': - print >> sys.stderr, 'emcc: warning: -Os is ignored (use -O0, -O1, -O2)' - else: - try: - opt_level = int(requested_level) - assert 0 <= opt_level <= 3 - except: - raise Exception('Invalid optimization level: ' + newargs[i]) + requested_level = 2 + settings_changes.append('INLINING_LIMIT=50') + try: + opt_level = int(requested_level) + assert 0 <= opt_level <= 3 + except: + raise Exception('Invalid optimization level: ' + newargs[i]) newargs[i] = '' elif newargs[i].startswith('--llvm-opts'): check_bad_eq(newargs[i]) @@ -842,7 +844,6 @@ try: if closure: assert os.path.exists(shared.CLOSURE_COMPILER), 'emcc: fatal: Closure compiler (%s) does not exist' % shared.CLOSURE_COMPILER - settings_changes = [] for i in range(len(newargs)): if newargs[i] == '-s': if is_minus_s_for_emcc(newargs, i): |