From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 3DFE73858414; Mon, 4 Mar 2024 12:27:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3DFE73858414 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1709555258; bh=hivCdZS+lpzwkL+UgCkMyPCDXxypovP+KXkXhoPfunQ=; h=From:To:Subject:Date:In-Reply-To:References:From; b=IvcR7xaWgOr6cHgQpRV6BBP8X3tYC1AjkS66HV0zvAnrhWc6miIqG3hrA+2xFyAx/ p8ytgVCaROeWlhmtI59uwqDstcE9APsOZxFW5S6inZxOsUP2pB+01HweZO/+BJm5IA FGN0atEhKGpazd8VSbLia/KSHIIJ1FQmnetsOIEc= From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/114197] [14 regression] ICE in verify_dominators Date: Mon, 04 Mar 2024 12:27:37 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 14.0 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=3D114197 --- Comment #5 from Richard Biener --- The issue is really unexpected if-conversion which ends up putting the vector copy of an innner loop outside of the enclosing loop of a scalar loop. Such mishap usually happens because of simplifications. In this case we see bitfield lowering touching a volatile access which it shouldn't do, even removing the volatile marking and then value-numbering concluding the lowered d.b is 5: Value numbering stmt =3D _ifc__21 =3D d.D.2770; RHS d.D.2770 simplified to 5 Setting value number of _ifc__21 to 5 (changed) Replaced d.D.2770 with 5 in all uses of _ifc__21 =3D d.D.2770; Value numbering stmt =3D _ifc__22 =3D BIT_FIELD_REF <_ifc__21, 8, 0>; Match-and-simplified BIT_FIELD_REF <_ifc__21, 8, 0> to 5 RHS BIT_FIELD_REF <_ifc__21, 8, 0> simplified to 5 Setting value number of _ifc__22 to 5 (changed) Replaced BIT_FIELD_REF <_ifc__21, 8, 0> with 5 in all uses of _ifc__22 =3D BIT_FIELD_REF <_ifc__21, 8, 0>; Value numbering stmt =3D _1 =3D _ifc__22; Setting value number of _1 to 5 (changed) Value numbering stmt =3D if (_1 =3D=3D 0) marking known outgoing edge 4 -> 5 executable gimple_simplified to if (0 !=3D 0)=