aboutsummaryrefslogtreecommitdiff
path: root/emcc
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2014-02-27 16:02:53 -0800
committerAlon Zakai <alonzakai@gmail.com>2014-02-27 16:02:53 -0800
commit8acb7867b362073e4c0d402b632aebd0de8be9e3 (patch)
tree56b18789644f42678dd28c2e51328d95470187c9 /emcc
parentb4605f200c14fefe6126d8e408edd00c15ac3280 (diff)
make NO_EXIT_RUNTIME work properly with llvm lto
Diffstat (limited to 'emcc')
-rwxr-xr-xemcc6
1 files changed, 4 insertions, 2 deletions
diff --git a/emcc b/emcc
index 2d45bd37..f7d1a939 100755
--- a/emcc
+++ b/emcc
@@ -1204,9 +1204,11 @@ try:
logging.warning('jcache is deprecated and not supported in fastcomp (you should not need it anyhow), disabling')
jcache = False
+ pre_fastcomp_opts = []
fastcomp_opts = []
if shared.Settings.NO_EXIT_RUNTIME:
- fastcomp_opts += ['-emscripten-no-exit-runtime', '-globalopt']
+ pre_fastcomp_opts += ['-emscripten-no-exit-runtime']
+ if not llvm_lto: fastcomp_opts += ['-globalopt', '-globaldce']
fastcomp_opts += ['-pnacl-abi-simplify-preopt', '-pnacl-abi-simplify-postopt']
if shared.Settings.DISABLE_EXCEPTION_CATCHING != 1:
fastcomp_opts += ['-enable-emscripten-cxx-exceptions']
@@ -1473,7 +1475,7 @@ try:
else:
if fastcomp and not save_bc:
# Simplify LLVM bitcode for fastcomp
- link_opts += fastcomp_opts
+ link_opts = pre_fastcomp_opts + link_opts + fastcomp_opts
shared.Building.llvm_opt(final, link_opts)
if DEBUG: save_intermediate('linktime', 'bc')
if save_bc: