Clang: Add Thin LTO in addition to Full LTO
Change-Id: I6502f3ff31c16faebd9b931b99b77a273971f611 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
322b052dd7
commit
36827faa18
@ -19,7 +19,8 @@ QMAKE_PCH_OUTPUT_EXT = .pch
|
||||
QMAKE_CFLAGS_ISYSTEM = -isystem
|
||||
QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
|
||||
QMAKE_CFLAGS_USE_PRECOMPILE = -Xclang -include-pch -Xclang ${QMAKE_PCH_OUTPUT}
|
||||
QMAKE_CFLAGS_LTCG = -flto
|
||||
QMAKE_CFLAGS_LTCG = -flto=thin
|
||||
QMAKE_CFLAGS_LTCG_FATOBJECTS = -flto
|
||||
QMAKE_CFLAGS_DISABLE_LTCG = -fno-lto
|
||||
QMAKE_CFLAGS_GNUC99 = -std=gnu99
|
||||
QMAKE_CFLAGS_GNUC11 = -std=gnu11
|
||||
@ -27,6 +28,7 @@ QMAKE_CFLAGS_GNUC11 = -std=gnu11
|
||||
QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
|
||||
QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
|
||||
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
||||
QMAKE_CXXFLAGS_LTCG_FATOBJECTS = $$QMAKE_CFLAGS_LTCG_FATOBJECTS
|
||||
QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG
|
||||
QMAKE_CXXFLAGS_CXX11 = -std=c++11
|
||||
QMAKE_CXXFLAGS_CXX14 = -std=c++1y
|
||||
|
@ -2,7 +2,7 @@ CONFIG(release, debug|release) {
|
||||
# We need fat object files when creating static libraries on some platforms
|
||||
# so the linker will know to load a particular object from the library
|
||||
# in the first place. On others, we have special ar and nm to create the symbol
|
||||
# tables so the linker will know better. For other compilers, we disable LTCG
|
||||
# tables so the linker will know better. For other compilers, we disable LTCG
|
||||
# for static libraries.
|
||||
msvc {
|
||||
# Nothing to do
|
||||
|
@ -24,4 +24,10 @@ QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
|
||||
QMAKE_LINK = $${CROSS_COMPILE}clang++
|
||||
QMAKE_LINK_C = $${CROSS_COMPILE}clang
|
||||
|
||||
QMAKE_CFLAGS_LTCG = -flto=thin
|
||||
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
||||
QMAKE_CFLAGS_LTCG_FATOBJECTS = -flto
|
||||
QMAKE_CXXFLAGS_LTCG_FATOBJECTS = $$QMAKE_CFLAGS_LTCG_FATOBJECTS
|
||||
QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
||||
|
||||
load(qt_config)
|
||||
|
@ -39,8 +39,10 @@ QMAKE_CXXFLAGS += -Wno-microsoft-enum-value
|
||||
QMAKE_LINK = lld-link
|
||||
QMAKE_LIB = llvm-lib /NOLOGO
|
||||
|
||||
QMAKE_CFLAGS_LTCG = -flto
|
||||
QMAKE_CFLAGS_LTCG = -flto=thin
|
||||
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
||||
QMAKE_CFLAGS_LTCG_FATOBJECTS = -flto
|
||||
QMAKE_CXXFLAGS_LTCG_FATOBJECTS = $$QMAKE_CFLAGS_LTCG_FATOBJECTS
|
||||
# Leave QMAKE_LFLAGS_LTCG empty because lld-link doesn't need any additional parameters
|
||||
QMAKE_LFLAGS_LTCG =
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user