[igt-dev] [PATCH 5/6] scripts/code_cov_parse_info: take gcc IPA optimizations into account
Mauro Carvalho Chehab
mauro.chehab at linux.intel.com
Thu Sep 22 08:46:17 UTC 2022
From: Mauro Carvalho Chehab <mchehab at kernel.org>
When -O2/-O3 is used with GCC, IPA will produce function variants
at the object code. So, for a function or macro foo(), it may
produce several actual functions at the object code, like:
foo.isra.3
foo.isra.4
For the purposes of code coverage, all of those are the same
function, so use a regex with "\w+", which will exclude the
.isra.<number>, considering all variants as the same function.
Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
---
To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover.
See [PATCH 0/6] at: https://lore.kernel.org/all/cover.1663836123.git.mchehab@kernel.org/
scripts/code_cov_parse_info | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/scripts/code_cov_parse_info b/scripts/code_cov_parse_info
index e8bac730e88b..7f3e1f9ef116 100755
--- a/scripts/code_cov_parse_info
+++ b/scripts/code_cov_parse_info
@@ -136,7 +136,9 @@ sub parse_info_data($)
# Function coverage
# FN:<line number of function start>,<function name>
- if (m/^FN:(-?\d+),(.*)/) {
+ # Note: /w+ intentionally removes IPA gcc-optimization names, as
+ # this is more related to branch coverage
+ if (m/^FN:(-?\d+),(\w+)/) {
my $ln = $1;
$func = $2;
@@ -156,7 +158,9 @@ sub parse_info_data($)
# Parse functions that were actually used
# FNDA:<execution count>,<function name>
- if (m/^FNDA:(-?\d+),(.*)/) {
+ # Note: /w+ intentionally removes IPA gcc-optimization names, as
+ # this is more related to branch coverage
+ if (m/^FNDA:(-?\d+),(\w+)/) {
my $count = $1;
# Negative gcov results are possible, as reported at:
--
2.37.2
More information about the igt-dev
mailing list