From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 823C1385803F; Fri, 16 Apr 2021 00:06:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 823C1385803F From: "msebor at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/91470] [10/11 Regression] bogus uninitialized warning in trans-intrinsic.c Date: Fri, 16 Apr 2021 00:06:20 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 10.0 X-Bugzilla-Keywords: diagnostic X-Bugzilla-Severity: normal X-Bugzilla-Who: msebor at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: jeffreyalaw at gmail dot com X-Bugzilla-Target-Milestone: 11.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cf_known_to_fail cf_reconfirmed_on cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Apr 2021 00:06:20 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D91470 Martin Sebor changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |10.2.0, 11.0 Last reconfirmed|2019-08-27 00:00:00 |2021-4-15 CC| |msebor at gcc dot gnu.org --- Comment #5 from Martin Sebor --- Reconfirmed with GCC 11 and a reduced/corrected test case and slightly enha= nced output: $ cat pr91470.c && gcc -O2 -S -Wall pr91470.c int i1; int* f1 (int); void f2 (int, int); void g2 (int, void *); void f0 (void) { int *p; for (int i =3D 0; i < 2; i++) { f2 (0, 0); f2 (0, 0); f2 (0, 0); f2 (0, 0); g2 (i1, 0); if (i =3D=3D 0) p =3D f1 (0); } g2 (i1, p); } void f0 () { int i; int * p; int i1.0_1; int i1.1_2; int _6; [local count: 357878152]: [local count: 715863673]: # p_26 =3D PHI # i_27 =3D PHI <_6(6), 0(2)> # .MEM_28 =3D PHI <.MEM_25(6), .MEM_10(D)(2)> # .MEM_12 =3D VDEF <.MEM_28> f2 (0, 0); # .MEM_13 =3D VDEF <.MEM_12> f2 (0, 0); # .MEM_14 =3D VDEF <.MEM_13> f2 (0, 0); # .MEM_15 =3D VDEF <.MEM_14> f2 (0, 0); # VUSE <.MEM_15> i1.0_1 =3D i1; # .MEM_16 =3D VDEF <.MEM_15> g2 (i1.0_1, 0B); _6 =3D i_27 + 1; if (_6 =3D=3D 1) goto ; [21.69%] else goto ; [78.31%] [local count: 155270830]: # .MEM_17 =3D VDEF <.MEM_16> p_18 =3D f1 (0); goto ; [100.00%] [local count: 560592843]: if (_6 !=3D 2) goto ; [36.16%] else goto ; [63.84%] [local count: 202714689]: [local count: 357985519]: # p_4 =3D PHI # .MEM_25 =3D PHI <.MEM_16(8), .MEM_17(4)> goto ; [100.00%] [local count: 357878152]: # VUSE <.MEM_16> i1.1_2 =3D i1; # .MEM_11 =3D VDEF <.MEM_16> g2 (i1.1_2, p_26); [tail call] # VUSE <.MEM_11> return; } pr91470.c: In function =E2=80=98f0=E2=80=99: pr91470.c:23:3: warning: =E2=80=98p=E2=80=99 may be used uninitialized in t= his function [-Wmaybe-uninitialized] 23 | g2 (i1, p); | ^~~~~~~~~~ pr91470.c:9:8: note: used when =E2=80=98i + 1 !=3D 1 && i + 1 !=3D 2 || i += 1 !=3D 1 && i + 1 =3D=3D 2=E2=80=99 9 | int *p; | ^ pr91470.c:9:8: note: =E2=80=98p=E2=80=99 was declared here=