mbox series

[0/3] Prime path coverage in gcc/gcov

Message ID 20240808091606.3371196-1-j@lambda.is
Headers show
Series Prime path coverage in gcc/gcov | expand

Message

Jørgen Kvalsvik Aug. 8, 2024, 9:16 a.m. UTC
I think this patch is ready for review now. I'm resubmitting these
patches with a few tiny fixes so they build properly.

These are the main highlights since v3:

1. Atomics are issued under -fprofile-update=atomic
2. Giving up after exceeding path limit in more phases to not
   accidentally get stuck between checks.
3. Fixed some ICEs, mostly around setjmp.
4. Refactoring, comments.
5. Manual entries, --help.

Jørgen Kvalsvik (3):
  gcov: Cache source files
  gcov: Add branch, conds, calls in function summary
  Add prime path coverage to gcc/gcov

 gcc/Makefile.in                        |    6 +-
 gcc/builtins.cc                        |    2 +-
 gcc/collect2.cc                        |    5 +-
 gcc/common.opt                         |   14 +
 gcc/doc/gcov.texi                      |  155 ++
 gcc/doc/invoke.texi                    |   35 +
 gcc/gcc.cc                             |    4 +-
 gcc/gcov-counter.def                   |    3 +
 gcc/gcov-io.h                          |    3 +
 gcc/gcov.cc                            |  537 ++++++-
 gcc/ipa-inline.cc                      |    2 +-
 gcc/passes.cc                          |    4 +-
 gcc/path-coverage.cc                   |  778 +++++++++
 gcc/prime-paths.cc                     | 2006 ++++++++++++++++++++++++
 gcc/profile.cc                         |    6 +-
 gcc/selftest-run-tests.cc              |    1 +
 gcc/selftest.h                         |    1 +
 gcc/testsuite/g++.dg/gcov/gcov-22.C    |  170 ++
 gcc/testsuite/gcc.misc-tests/gcov-29.c |  869 ++++++++++
 gcc/testsuite/gcc.misc-tests/gcov-30.c |  869 ++++++++++
 gcc/testsuite/lib/gcov.exp             |   92 +-
 gcc/tree-profile.cc                    |   11 +-
 22 files changed, 5534 insertions(+), 39 deletions(-)
 create mode 100644 gcc/path-coverage.cc
 create mode 100644 gcc/prime-paths.cc
 create mode 100644 gcc/testsuite/g++.dg/gcov/gcov-22.C
 create mode 100644 gcc/testsuite/gcc.misc-tests/gcov-29.c
 create mode 100644 gcc/testsuite/gcc.misc-tests/gcov-30.c