On Tue, Jun 4, 2019 at 10:44 AM Martin Liska <mli...@suse.cz> wrote: > > 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 for working on this, I hope Honza can review and approve it. Does this solve the issue of profiledbootstrap results being not reproducible? (if you fix genchecksum to not generate different checksums) I suppose this would also apply to a GCC 9 tree? Thanks, Richard. > 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 >