From 147214e18fcb641d7fe6f4f7b2757b608bd578d4 Mon Sep 17 00:00:00 2001 From: Mamy Ratsimbazafy Date: Mon, 17 Apr 2023 13:02:34 +0200 Subject: [PATCH] LTO improvements - fix #15578 (#21679) (cherry picked from commit 938f5c5e990cd09d934d1d489e23fc0300152407) --- config/nim.cfg | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/config/nim.cfg b/config/nim.cfg index 335d84ddd4174..944aca67e2544 100644 --- a/config/nim.cfg +++ b/config/nim.cfg @@ -309,24 +309,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"