Added support for link-time-optimizations.
This commit is contained in:
parent
0fbc7f1fb9
commit
e105feb651
5
Makefile
5
Makefile
@ -5,6 +5,7 @@
|
|||||||
DEBUG ?= 0
|
DEBUG ?= 0
|
||||||
ASAN ?= 0
|
ASAN ?= 0
|
||||||
STATIC ?= 0
|
STATIC ?= 0
|
||||||
|
FLTO ?= 0
|
||||||
FPGO ?= 0
|
FPGO ?= 0
|
||||||
STRIP ?= 0
|
STRIP ?= 0
|
||||||
MARCH ?= native
|
MARCH ?= native
|
||||||
@ -33,11 +34,13 @@ else ifeq ($(ASAN),1)
|
|||||||
else
|
else
|
||||||
CONFIG :=
|
CONFIG :=
|
||||||
CFLAGS += -O3 -DNDEBUG
|
CFLAGS += -O3 -DNDEBUG
|
||||||
|
ifneq ($(FLTO),0)
|
||||||
|
CFLAGS += -flto -fuse-linker-plugin
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(FPGO),0)
|
ifneq ($(FPGO),0)
|
||||||
CFLAGS += -fprofile-$(FPGO)
|
CFLAGS += -fprofile-$(FPGO)
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
MACHINE := $(shell $(CC) -dumpmachine)
|
MACHINE := $(shell $(CC) -dumpmachine)
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
readonly USE_LTO=1
|
||||||
|
|
||||||
PLATFORM="$(uname -a)"
|
PLATFORM="$(uname -a)"
|
||||||
unset SUFFIX
|
unset SUFFIX
|
||||||
@ -23,7 +24,7 @@ printf "\033[1;36m\n------------------------------------------------------------
|
|||||||
printf "\033[1;36mInstrument\n"
|
printf "\033[1;36mInstrument\n"
|
||||||
printf "\033[1;36m------------------------------------------------------------------------------\033[0m\n\n"
|
printf "\033[1;36m------------------------------------------------------------------------------\033[0m\n\n"
|
||||||
|
|
||||||
make FPGO="generate=/tmp/${PGO_PATH}" -B "$@"
|
make FLTO=${USE_LTO} FPGO="generate=/tmp/${PGO_PATH}" -B "$@"
|
||||||
|
|
||||||
printf "\033[1;36m\n------------------------------------------------------------------------------\033[0m\n"
|
printf "\033[1;36m\n------------------------------------------------------------------------------\033[0m\n"
|
||||||
printf "\033[1;36mProfiling\n"
|
printf "\033[1;36mProfiling\n"
|
||||||
@ -39,6 +40,6 @@ printf "\033[1;36m\n------------------------------------------------------------
|
|||||||
printf "\033[1;36mRe-compile\n"
|
printf "\033[1;36mRe-compile\n"
|
||||||
printf "\033[1;36m------------------------------------------------------------------------------\033[0m\n\n"
|
printf "\033[1;36m------------------------------------------------------------------------------\033[0m\n\n"
|
||||||
|
|
||||||
make FPGO="use=/tmp/${PGO_PATH}" STRIP=1 -B "$@"
|
make FLTO=${USE_LTO} FPGO="use=/tmp/${PGO_PATH}" STRIP=1 -B "$@"
|
||||||
|
|
||||||
printf "\033[1;32m\nBuild completed successfully.\033[0m\n\n"
|
printf "\033[1;32m\nBuild completed successfully.\033[0m\n\n"
|
||||||
|
Loading…
Reference in New Issue
Block a user