[PATCH 0/4] Store multiple values for single value profilers
Richard Biener
richard.guenther@gmail.com
Wed Jun 5 13:49:00 GMT 2019
On Tue, Jun 4, 2019 at 10:44 AM Martin Liska <mliska@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
>
More information about the Gcc-patches
mailing list