[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