From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com [IPv6:2a00:1450:4864:20::12c]) by sourceware.org (Postfix) with ESMTPS id 7E3E23853560 for ; Fri, 14 Oct 2022 10:09:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7E3E23853560 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=woven-planet.global Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=woven-planet.global Received: by mail-lf1-x12c.google.com with SMTP id g7so1613940lfv.5 for ; Fri, 14 Oct 2022 03:09:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=woven-planet.global; s=google; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=ZmxIlbmY+c64fXg2Yj5snT8HL00qUUXgNbIMrxpZ4/8=; b=jf0y7Dop1H0+S/7jSyRRrjhqbLiyRF5axEP/EMYwbJs6vpikYLRExphJaFfEgfbpGR 4ZPV0jfz4+9HFAxXQeA3VUbz3lcuiqcDZW+/D6ugD8kTmHTFy3MqXG9xQmydCxifeQgx 9BtPaJWnFCNHZKaPaJu+6zbJ8/qleFI5bWn7M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ZmxIlbmY+c64fXg2Yj5snT8HL00qUUXgNbIMrxpZ4/8=; b=4Ac4lNfJnQ/Li0kltSLAL3Ffi3sDG97oaAkA4JuLSHIyRfjTlMqwHHDON/RhIBW+z6 fTucOsHzOtG90s6ZyFN+AqQucVNzXWGCST+rxxQcGbG1z+laOu/hAXWeHR41A99ciks6 D8swGTmnCHDHRk4lWgSLkuLg7w1OfElLIco+nn1sZp9OydE2itN//vBsJz3ph1GdRiA8 QvDnJlJ+NtBkJgXELsb+lHUnuIIP14+dRVKBu8NfsGCE0fDwNiTm7W8TDngfG5WB2l24 ZGUtjG88vC83eDlBr/nwOuoOc0jNLvWQd/3PwSf+QHh3uCF1VeApXzd/Y4mVomeRMu0L /PmQ== X-Gm-Message-State: ACrzQf2hXA48UXNaQxYnWRhCj0yDjky86TG7f1euQrRBSPwDwvDEhsT7 Nlx4bWYaicXXn46RjHDitGnPeg== X-Google-Smtp-Source: AMsMyM4BhKn7BSbfWhXOFF1NNpgUbV8/8jE29AA8xnCtaSxFau+NFGR2WQZRNmVumMv0329A+HoHuA== X-Received: by 2002:a05:6512:3056:b0:4a2:5304:570c with SMTP id b22-20020a056512305600b004a25304570cmr1350197lfb.267.1665742189918; Fri, 14 Oct 2022 03:09:49 -0700 (PDT) Received: from [192.168.10.110] (173.80-203-8.customer.lyse.net. [80.203.8.173]) by smtp.gmail.com with ESMTPSA id e6-20020a05651236c600b00492e5d31201sm298667lfs.7.2022.10.14.03.09.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 14 Oct 2022 03:09:49 -0700 (PDT) Message-ID: <720968f9-80f1-7135-a60d-3c57dd0ab91c@woven-planet.global> Date: Fri, 14 Oct 2022 12:09:48 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.3.2 Subject: Re: [PATCH 1/2] gcov: test switch/break line counts Content-Language: en-US To: Richard Biener Cc: gcc-patches@gcc.gnu.org, mliska@suse.cz References: <20221011124303.99673-1-jorgen.kvalsvik@woven-planet.global> From: =?UTF-8?Q?J=c3=b8rgen_Kvalsvik?= In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-13.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,TXREP,T_SPF_PERMERROR autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 13/10/2022 13:39, Richard Biener wrote: > On Tue, Oct 11, 2022 at 2:43 PM Jørgen Kvalsvik > wrote: >> >> The coverage support will under some conditions decide to split edges to >> accurately report coverage. By running the test suite with/without this >> edge splitting a small diff shows up, addressed by this patch, which >> should catch future regressions. >> >> Removing the edge splitting: >> >> $ diff --git a/gcc/profile.cc b/gcc/profile.cc >> --- a/gcc/profile.cc >> +++ b/gcc/profile.cc >> @@ -1244,19 +1244,7 @@ branch_prob (bool thunk) >> Don't do that when the locuses match, so >> if (blah) goto something; >> is not computed twice. */ >> - if (last >> - && gimple_has_location (last) >> - && !RESERVED_LOCATION_P (e->goto_locus) >> - && !single_succ_p (bb) >> - && (LOCATION_FILE (e->goto_locus) >> - != LOCATION_FILE (gimple_location (last)) >> - || (LOCATION_LINE (e->goto_locus) >> - != LOCATION_LINE (gimple_location (last))))) >> - { >> - basic_block new_bb = split_edge (e); >> - edge ne = single_succ_edge (new_bb); >> - ne->goto_locus = e->goto_locus; >> - } >> + >> if ((e->flags & (EDGE_ABNORMAL | EDGE_ABNORMAL_CALL)) >> && e->dest != EXIT_BLOCK_PTR_FOR_FN (cfun)) >> need_exit_edge = 1; >> >> Assuming the .gcov files from make chec-gcc RUNTESTFLAGS=gcov.exp are >> kept: >> >> $ diff -r no-split-edge with-split-edge | grep -C 2 -E "^[<>]\s\s" >> diff -r sans-split-edge/gcc/gcov-4.c.gcov with-split-edge/gcc/gcov-4.c.gcov >> 228c228 >> < -: 224: break; >> --- >> > 1: 224: break; >> 231c231 >> < -: 227: break; >> --- >> > #####: 227: break; >> 237c237 >> < -: 233: break; >> --- >> > 2: 233: break; >> >> gcc/testsuite/ChangeLog: > > OK. > > Thanks, > Richard. > >> >> * g++.dg/gcov/gcov-1.C: Add line count check. >> * gcc.misc-tests/gcov-4.c: Likewise. >> --- >> gcc/testsuite/g++.dg/gcov/gcov-1.C | 8 ++++---- >> gcc/testsuite/gcc.misc-tests/gcov-4.c | 4 ++-- >> 2 files changed, 6 insertions(+), 6 deletions(-) >> >> diff --git a/gcc/testsuite/g++.dg/gcov/gcov-1.C b/gcc/testsuite/g++.dg/gcov/gcov-1.C >> index 9018b9a3a73..ee383b480a8 100644 >> --- a/gcc/testsuite/g++.dg/gcov/gcov-1.C >> +++ b/gcc/testsuite/g++.dg/gcov/gcov-1.C >> @@ -257,20 +257,20 @@ test_switch (int i, int j) >> switch (i) /* count(5) */ >> /* branch(end) */ >> { >> - case 1: >> + case 1: /* count(1) */ >> result = do_something (2); /* count(1) */ >> - break; >> + break; /* count(1) */ >> case 2: >> result = do_something (1024); >> break; >> - case 3: >> + case 3: /* count(3) */ >> case 4: >> /* branch(67) */ >> if (j == 2) /* count(3) */ >> /* branch(end) */ >> return do_something (4); /* count(1) */ >> result = do_something (8); /* count(2) */ >> - break; >> + break; /* count(2) */ >> default: >> result = do_something (32); /* count(1) */ >> switch_m++; /* count(1) */ >> diff --git a/gcc/testsuite/gcc.misc-tests/gcov-4.c b/gcc/testsuite/gcc.misc-tests/gcov-4.c >> index 9d8ab1c1097..498d299b66b 100644 >> --- a/gcc/testsuite/gcc.misc-tests/gcov-4.c >> +++ b/gcc/testsuite/gcc.misc-tests/gcov-4.c >> @@ -221,7 +221,7 @@ test_switch (int i, int j) >> { >> case 1: >> result = do_something (2); /* count(1) */ >> - break; >> + break; /* count(1) */ >> case 2: >> result = do_something (1024); >> break; >> @@ -230,7 +230,7 @@ test_switch (int i, int j) >> if (j == 2) /* count(3) */ >> return do_something (4); /* count(1) */ >> result = do_something (8); /* count(2) */ >> - break; >> + break; /* count(2) */ >> default: >> result = do_something (32); /* count(1) */ >> switch_m++; /* count(1) */ >> -- >> 2.34.0 >> Thank you, I've installed the patches. I noticed that the inclusion of diffs in the message works fine with git generally, but could be picked up on by git format-patch && git am < patch. I hope that does not end up causing too many problems (last time, promise!) Thanks, Jørgen