summary refs log tree commit diff stats
path: root/config
diff options
context:
space:
mode:
authorMamy Ratsimbazafy <mamy_github@numforge.co>2023-04-17 13:02:34 +0200
committerGitHub <noreply@github.com>2023-04-17 13:02:34 +0200
commit938f5c5e990cd09d934d1d489e23fc0300152407 (patch)
treed91092561c54c26ffca5d1e43b4094e7bf302326 /config
parenta0da74ed4c6a6db0dd209e98ea60d52705831587 (diff)
downloadNim-938f5c5e990cd09d934d1d489e23fc0300152407.tar.gz
LTO improvements - fix #15578 (#21679)
Diffstat (limited to 'config')
-rw-r--r--config/nim.cfg26
1 files changed, 16 insertions, 10 deletions
diff --git a/config/nim.cfg b/config/nim.cfg
index ad6129c6d..a1559e24a 100644
--- a/config/nim.cfg
+++ b/config/nim.cfg
@@ -330,24 +330,30 @@ tcc.options.always = "-w"
    vcc.cpp.options.always%= "${vcc.cpp.options.always} /GL /Gw /Gy"
    vcc.options.linker %= "${vcc.options.linker} /link /LTCG:incremental"
    vcc.cpp.options.linker %= "${vcc.cpp.options.linker} /link /LTCG:incremental"
+   clang_cl.options.always%= "${clang_cl.options.always} -flto=thin"
+   clang_cl.cpp.options.always%= "${clang.cpp.options.always} -flto=thin"
+   clang.options.always%= "${clang.options.always} -flto=thin"
+   clang.cpp.options.always%= "${clang.cpp.options.always} -flto=thin"
+   clang.options.linker %= "${clang.options.linker} -flto=thin"
+   clang.cpp.options.linker %= "${clang.cpp.options.linker} -flto=thin"
   @else:
    vcc.options.always%= "${vcc.options.always} /GL"
    vcc.cpp.options.always%= "${vcc.cpp.options.always} /GL"
    vcc.options.linker %= "${vcc.options.linker} /link /LTCG"
    vcc.cpp.options.linker %= "${vcc.cpp.options.linker} /link /LTCG"
+   clang_cl.options.always%= "${clang_cl.options.always} -flto"
+   clang_cl.cpp.options.always%= "${clang.cpp.options.always} -flto"
+   clang.options.always%= "${clang.options.always} -flto"
+   clang.cpp.options.always%= "${clang.cpp.options.always} -flto"
+   clang.options.linker %= "${clang.options.linker} -flto"
+   clang.cpp.options.linker %= "${clang.cpp.options.linker} -flto"
   @end
-  clang_cl.options.always%= "${clang_cl.options.always} -flto"
-  clang_cl.cpp.options.always%= "${clang.cpp.options.always} -flto"
-  clang.options.always%= "${clang.options.always} -flto"
-  clang.cpp.options.always%= "${clang.cpp.options.always} -flto"
   icl.options.always %= "${icl.options.always} /Qipo"
   icl.cpp.options.always %= "${icl.cpp.options.always} /Qipo"
-  gcc.options.always %= "${gcc.options.always} -flto"
-  gcc.cpp.options.always %= "${gcc.cpp.options.always} -flto"
-  clang.options.linker %= "${clang.options.linker} -fuse-ld=lld -flto"
-  clang.cpp.options.linker %= "${clang.cpp.options.linker} -fuse-ld=lld -flto"
-  gcc.options.linker %= "${gcc.options.linker} -flto"
-  gcc.cpp.options.linker %= "${gcc.cpp.options.linker} -flto"
+  gcc.options.always %= "${gcc.options.always} -flto=auto"
+  gcc.cpp.options.always %= "${gcc.cpp.options.always} -flto=auto"
+  gcc.options.linker %= "${gcc.options.linker} -flto=auto"
+  gcc.cpp.options.linker %= "${gcc.cpp.options.linker} -flto=auto"
 @end
 @if strip:
   gcc.options.linker %= "${gcc.options.linker} -s"