From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 635FD385841A; Mon, 25 Sep 2023 07:46:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 635FD385841A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1695627966; bh=pp/uyleM8BFXMHvPTMZzIfCdZ12SSyoWxgsJkRD0OA0=; h=From:To:Subject:Date:In-Reply-To:References:From; b=QkUA3TIbyUNEJna7BxbAMCjJM/72EY4NchLJRU8/ArDPHBV6oyioyPbR2G8D5WBrU oSDAgY62QfQWnwgWaW2d1xIUHIw99HIz2h0B+4+bewyiaO5/h5yoYmwW/z+2AmorQ1 Mdbufl+MDiUYO7dendu1jurirBLnm44lT80Cbi+Q= From: "pinskia at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/111583] [13/14 Regression] Wrong code at -Os on x86_64-linux-gnu since r13-3281-g6cc3394507 Date: Mon, 25 Sep 2023 07:46:05 +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: 14.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: pinskia at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 13.3 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status everconfirmed cf_reconfirmed_on 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D111583 Andrew Pinski changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Last reconfirmed| |2023-09-25 --- Comment #1 from Andrew Pinski --- Confirmed. The problem is a latent bug in ldist. It turns: ``` [local count: 955630224]: a_5 =3D a_4 + 1; a.4_6 =3D (char *) a_4; *a.4_6 =3D 0; [local count: 1073741824]: # a_4 =3D PHI # j_7 =3D PHI j_8 =3D j_7 + 18446744073709551615; if (j_7 !=3D 0) goto ; [89.00%] else goto ; [11.00%] ``` Into: ``` a_2 =3D (long int) k_1(D); j_3 =3D (long unsigned int) k_1(D); _23 =3D (sizetype) k_1(D); _25 =3D (char *) a_2; __builtin_memset (_25, 0, _23); ``` Which then basically says k!=3D0 as _25 can't be a null pointer.=