From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 0959C3857700; Thu, 10 Aug 2023 15:30:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0959C3857700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1691681428; bh=w+L/6Gpm73cEBAXD484+w64tdGGJSXVuZB957V7AHEs=; h=From:To:Subject:Date:In-Reply-To:References:From; b=sIemU7e0I4AwawLR7Jj3R+vNxurykQwO90lbcfxESVbHCpsdtR9y2kxXB4BJ8yuVK nDRqMrQMESPHgBFVrRdShFjjmImOvyQ1dGmC8/x/amFXSzTrBtb0m6dYThhV7CY5v8 lfJCJQSlVGdkJiExvOZumw3ccv8z8ICDH6k198KI= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c/102989] Implement C2x's n2763 (_BitInt) Date: Thu, 10 Aug 2023 15:30:26 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: jakub at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: 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=3D102989 --- Comment #94 from CVS Commits --- The master branch has been updated by Jakub Jelinek : https://gcc.gnu.org/g:8afe9d5d2fdd047cbd4e3531170af6b66d30e74a commit r14-3128-g8afe9d5d2fdd047cbd4e3531170af6b66d30e74a Author: Jakub Jelinek Date: Thu Aug 10 17:29:23 2023 +0200 phiopt: Fix phiopt ICE on vops [PR102989] I've ran into ICE on gcc.dg/torture/bitint-42.c with -O1 or -Os when enabling expensive tests, and unfortunately I can't reproduce with= out _BitInt. The IL before phiopt3 has: [local count: 203190070]: # .MEM_428 =3D VDEF <.MEM_367> bitint.159 =3D VIEW_CONVERT_EXPR(*.LC3); goto ; [100.00%] [local count: 203190070]: # .MEM_427 =3D VDEF <.MEM_367> bitint.159 =3D VIEW_CONVERT_EXPR(*.LC4); [local count: 406380139]: # .MEM_368 =3D PHI <.MEM_428(87), .MEM_427(88)> # VUSE <.MEM_368> _123 =3D VIEW_CONVERT_EXPR(r495[i_107].D.2780)[0]; and factor_out_conditional_operation is called on the vop PHI, it sees it has exactly two operands and defining statements of both PHI arguments are converts (VCEs in this case), so it thinks it is a good idea to try to optimize that and while doing that it constructs void type SSA_NAMEs and the like. 2023-08-10 Jakub Jelinek PR c/102989 * tree-ssa-phiopt.cc (single_non_singleton_phi_for_edges): Never return virtual phis and return NULL if there is a virtual phi where the arguments from E0 and E1 edges aren't equal.=