From: "Martin Liška" <mliska@suse.cz>
To: "Jørgen Kvalsvik" <jorgen.kvalsvik@woven-planet.global>,
gcc-patches@gcc.gnu.org
Subject: Re: [PATCH] Add condition coverage profiling
Date: Thu, 7 Apr 2022 14:04:10 +0200 [thread overview]
Message-ID: <cc593c25-47c8-5551-4a11-42a5cf6bf27b@suse.cz> (raw)
In-Reply-To: <8ea26b0e-40e2-9e7c-4470-5add7a02a074@woven-planet.global>
On 3/28/22 16:40, Jørgen Kvalsvik via Gcc-patches wrote:
> ... And with another tiny change that fixes Martin's while (1); case.
Hello.
Back to this ;) Thank you for the updated version of the patch. I have a couple of comments/requests:
1) I noticed the following cannot be linked:
$ cat errors.C
char trim_filename_name;
int r;
void trim_filename() {
if (trim_filename_name)
r = 123;
while (trim_filename_name)
;
}
int
main() {}
$ g++ errors.C -fprofile-conditions -O2
mold: error: undefined symbol: /tmp/ccmZANB5.o: __gcov8._Z13trim_filenamev
collect2: error: ld returned 1 exit status
Btw. how much have you tested the patch set so far? Have you tried building something bigger
with -fprofile-conditions enabled?
2) As noticed by Sebastian, please support the new tag in gcov-dump:
$ gcov-dump -l a.gcno
...
a.gcno: 01450000: 28:LINES
a.gcno: block 7:`a.c':11
a.gcno: 01470000: 8:UNKNOWN
3) Then I have some top-level formatting comments:
a) please re-run check_GNU_style.py, I still see:
=== ERROR type #1: blocks of 8 spaces should be replaced with tabs (35 error(s)) ===
...
b) write comments for each newly added function (and separate it by one empty line from
the function definition)
c) do not create visual alignment, we don't use it:
+ cond->set ("count", new json::integer_number (count));
+ cond->set ("covered", new json::integer_number (covered));
and similar examples
d) finish multiple comments after a dot on the same line:
+ /* Number of expressions found - this value is the number of entries in the
+ gcov output and the parameter to gcov_counter_alloc ().
+ */
should be ... gcov_counter_alloc (). */
e) for long lines with a function call like:
+ const int n = find_conditions_masked_by
+ (block, expr, flags + k, path, CONDITIONS_MAX_TERMS);
do rather
const int n
= find_conditions_masked_by (block, expr,
next_arg, ...);
f) for function params:
+int
+collect_reachable_conditionals (
+ basic_block pre,
+ basic_block post,
+ basic_block *out,
+ int maxsize,
+ sbitmap expr)
use rather:
int
collect_reachable_conditionals (basic_block pre,
second_arg,...
In the next round, I'm going to take a look at the CFG algorithm that identifies
and instruments the sub-expressions.
Thanks.
Cheers,
Martin
next prev parent reply other threads:[~2022-04-07 12:04 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-21 11:55 Jørgen Kvalsvik
2022-03-24 16:08 ` Martin Liška
2022-03-25 19:44 ` Jørgen Kvalsvik
2022-03-28 13:39 ` Martin Liška
2022-03-28 13:52 ` Jørgen Kvalsvik
2022-03-28 14:40 ` Jørgen Kvalsvik
2022-04-07 12:04 ` Martin Liška [this message]
2022-04-19 14:22 ` Jørgen Kvalsvik
2022-04-07 16:53 ` Sebastian Huber
2022-04-08 7:28 ` Jørgen Kvalsvik
2022-04-08 7:33 ` Jørgen Kvalsvik
2022-04-08 8:50 ` Sebastian Huber
2022-04-04 8:14 ` Sebastian Huber
2022-04-05 7:04 ` Sebastian Huber
2022-04-05 20:07 ` Jørgen Kvalsvik
2022-04-06 7:35 ` Sebastian Huber
2022-04-17 11:27 ` Jørgen Kvalsvik
2022-04-22 5:37 ` Sebastian Huber
2022-04-22 10:13 ` Jørgen Kvalsvik
2022-07-08 13:45 ` Sebastian Huber
2022-07-11 7:26 ` Jørgen Kvalsvik
2022-07-11 10:02 Jørgen Kvalsvik
2022-07-12 14:05 ` Sebastian Huber
2022-07-13 2:04 ` Jørgen Kvalsvik
2022-07-15 11:39 Jørgen Kvalsvik
2022-07-15 11:47 ` Jørgen Kvalsvik
2022-07-15 13:31 ` Sebastian Huber
2022-07-15 13:47 ` Jørgen Kvalsvik
2022-08-02 7:58 ` Jørgen Kvalsvik
2022-08-04 7:43 ` Sebastian Huber
2022-08-04 9:13 ` Jørgen Kvalsvik
2022-10-12 10:16 Jørgen Kvalsvik
2022-10-18 0:17 ` Hans-Peter Nilsson
2022-10-18 10:13 ` Jørgen Kvalsvik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cc593c25-47c8-5551-4a11-42a5cf6bf27b@suse.cz \
--to=mliska@suse.cz \
--cc=gcc-patches@gcc.gnu.org \
--cc=jorgen.kvalsvik@woven-planet.global \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).