[0/2] gcov: Split when edge locus differ from dest bb

Message ID 20221005120403.68935-1-jorgen.kvalsvik@woven-planet.global
Headers
Series gcov: Split when edge locus differ from dest bb |

Message

Jørgen Kvalsvik Oct. 5, 2022, 12:04 p.m. UTC
  Original discussion: https://gcc.gnu.org/pipermail/gcc/2022-October/239544.html

Some tiny test additions as well as more accurate check for when to
split edges for coverage. This patch preserves the edge splitting
heuristic except using a slightly more precise comparison, but makes a
huge difference for the condition profiling [1].

I compared the .gcov files for the gcc and g++ testsuites with and
without this patch and found no differences, and bootstrapped on
x86_64-linux.

[1] https://gcc.gnu.org/pipermail/gcc-patches/2022-July/598165.html

Jørgen Kvalsvik (2):
  gcov: test switch/break line counts
  Split edge when edge locus and dest don't match

 gcc/profile.cc                        | 18 +++++++++---------
 gcc/testsuite/g++.dg/gcov/gcov-1.C    |  8 ++++----
 gcc/testsuite/gcc.misc-tests/gcov-4.c |  4 ++--
 3 files changed, 15 insertions(+), 15 deletions(-)