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.

Changes from V1:

1. Pass -ffat-lto-objects together with -flto=jobserver.
2. Pass -i to make to ignore "make check" errors in PGO training runs.

H.J. Lu (3):
  GCC: Pass --plugin to AR and RANLIB
  Binutils: Pass --plugin to AR and RANLIB
  Support the PGO build for binutils+gdb

 Makefile.in            |  67 +++++++++++++-
 Makefile.tpl           |  63 ++++++++++++-
 bfd/configure          |  27 +++++-
 binutils/configure     |  27 +++++-
 config/gcc-plugin.m4   |  28 ++++++
 configure              | 139 ++++++++++++++++++++++++++-
 configure.ac           |  80 ++++++++++++++++
 gas/configure          |  27 +++++-
 gprof/configure        |  27 +++++-
 ld/configure           |  27 +++++-
 libctf/configure       |  27 +++++-
 libiberty/Makefile.in  |   5 +-
 libiberty/aclocal.m4   |   1 +
 libiberty/configure    |  37 ++++++++
 libiberty/configure.ac |  12 +++
 libtool.m4             |  25 ++++-
 opcodes/configure      |  27 +++++-
 zlib/configure         | 206 ++++++++++++++++++++++++++++++++++++++++-
 18 files changed, 822 insertions(+), 30 deletions(-)

-- 
2.29.2

Reply via email to