Hi.

It's becoming more common that a training run happens in parallel environment.
That can lead to a not reproducible builds caused by different order of merging
of .gcda files. So that I'm suggesting to store up to 4 values for 
HIST_TYPE_SINGLE_VALUE
and HIST_TYPE_INDIR_CALL on disk. If the capacity is exceeded the whole counter 
is
marked as unstable (not reproducible).

Patch can bootstrap on x86_64-linux-gnu and survives regression tests.

Ready to be installed?
Thanks,
Martin

marxin (4):
  Remove indirect call top N counter type.
  Implement N disk counters for single value and indirect call counters.
  Dump histograms only if present.
  Update a bit dump format.

 gcc/doc/invoke.texi       |   3 -
 gcc/gcov-counter.def      |   3 -
 gcc/gcov-io.h             |   9 +-
 gcc/ipa-profile.c         |  13 ++-
 gcc/params.def            |   8 --
 gcc/profile.c             |   1 -
 gcc/tree-profile.c        |  23 +---
 gcc/value-prof.c          | 224 ++++++++++++++++----------------------
 gcc/value-prof.h          |   4 +-
 libgcc/Makefile.in        |  10 +-
 libgcc/libgcov-driver.c   |  80 --------------
 libgcc/libgcov-merge.c    | 139 +++++++++--------------
 libgcc/libgcov-profiler.c | 176 ++----------------------------
 libgcc/libgcov-util.c     |  19 ----
 libgcc/libgcov.h          |  12 +-
 15 files changed, 179 insertions(+), 545 deletions(-)

-- 
2.21.0

Reply via email to