From af019bfde9b13d628202fe58054ec7ff08d92a0f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sat, 9 Jan 2021 06:51:15 -0800 Subject: Support the PGO build for binutils+gdb Add the --enable-pgo-build[=lto] configure option. When binutils+gdb is not built together with GCC, --enable-pgo-build enables the PGO build: 1. First build with -fprofile-generate. 2. Use "make maybe-check-*" to generate profiling data and pass -i to make to ignore errors when generating profiling data. 3. Use "make clean" to remove the previous build. 4. Rebuild with -fprofile-use. With --enable-pgo-build=lto, -flto=jobserver -ffat-lto-objects are used together with -fprofile-generate and -fprofile-use. Add '+' to the command line for recursive make to support -flto=jobserver -ffat-lto-objects. NB: --enable-pgo-build=lto enables the PGO build with LTO while --enable-lto enables LTO support in toolchain. PR binutils/26766 * Makefile.tpl (BUILD_CFLAGS): New. (CFLAGS): Append $(BUILD_CFLAGS). (CXXFLAGS): Likewise. (PGO_BUILD_GEN_FLAGS_TO_PASS): New. (PGO_BUILD_TRAINING_CFLAGS): Likewise. (PGO_BUILD_TRAINING_CXXFLAGS): Likewise. (PGO_BUILD_TRAINING_FLAGS_TO_PASS): Likewise. (PGO_BUILD_TRAINING_MFLAGS): Likewise. (PGO_BUILD_USE_FLAGS_TO_PASS): Likewise. (PGO-TRAINING-TARGETS): Likewise. (PGO_BUILD_TRAINING): Likewise. (all): Add '+' to the command line for recursive make. Support the PGO build. * configure.ac: Add --enable-pgo-build[=lto]. AC_SUBST PGO_BUILD_GEN_CFLAGS, PGO_BUILD_USE_CFLAGS and PGO_BUILD_LTO_CFLAGS. Enable the PGO build in Makefile. * Makefile.in: Regenerated. * configure: Likewise. --- ChangeLog | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 6d3d9a4..6894f13 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,27 @@ 2021-01-09 H.J. Lu + PR binutils/26766 + * Makefile.tpl (BUILD_CFLAGS): New. + (CFLAGS): Append $(BUILD_CFLAGS). + (CXXFLAGS): Likewise. + (PGO_BUILD_GEN_FLAGS_TO_PASS): New. + (PGO_BUILD_TRAINING_CFLAGS): Likewise. + (PGO_BUILD_TRAINING_CXXFLAGS): Likewise. + (PGO_BUILD_TRAINING_FLAGS_TO_PASS): Likewise. + (PGO_BUILD_TRAINING_MFLAGS): Likewise. + (PGO_BUILD_USE_FLAGS_TO_PASS): Likewise. + (PGO-TRAINING-TARGETS): Likewise. + (PGO_BUILD_TRAINING): Likewise. + (all): Add '+' to the command line for recursive make. Support + the PGO build. + * configure.ac: Add --enable-pgo-build[=lto]. + AC_SUBST PGO_BUILD_GEN_CFLAGS, PGO_BUILD_USE_CFLAGS and + PGO_BUILD_LTO_CFLAGS. Enable the PGO build in Makefile. + * Makefile.in: Regenerated. + * configure: Likewise. + +2021-01-09 H.J. Lu + * Makefile.tpl (AR): Add @AR_PLUGIN_OPTION@ (RANLIB): Add @RANLIB_PLUGIN_OPTION@. * configure.ac: Include config/gcc-plugin.m4. -- cgit v1.1