From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 34338385C32E; Tue, 13 Sep 2022 06:59:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 34338385C32E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1663052368; bh=OzJciNw+gKoDhbgg3Danx3SKwscn4skIRpsgpJEr4wI=; h=From:To:Subject:Date:In-Reply-To:References:From; b=VqXWo8PemFB7vJECOEJOsiZN0ke0x2oz4Pv2433b6nWCgGhvhuj586o6iObxVaqxu i2fcgwJBff9rn+n/iok1OXKUtv2I1JRw8IqRRDPtcvk6rTrqGETiti6pjjIbSKzFCT A0PhkpHLYAv+t5MiYU72jvTQ3cKyBu80c4Svd4G4= From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/106909] [13 Regression] error: control flow in the middle of basic block since r13-2541-g78ef801b7263606d Date: Tue, 13 Sep 2022 06:59:28 +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: 13.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: 13.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: assigned_to bug_status 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=3D106909 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot = gnu.org Status|NEW |ASSIGNED --- Comment #5 from Richard Biener --- [local count: 1073741824]: _80 =3D SR.96_116(D); # DEBUG this =3D> SR.96_116(D) # DEBUG firstElement =3D> ptrCopy_79(D) # DEBUG elementCount =3D> sizeCopy_83(D) # DEBUG capacity =3D> sizeCopy_83(D) # DEBUG INLINE_ENTRY dispose # DEBUG firstElement =3D> ptrCopy_79(D) # DEBUG elementCount =3D> sizeCopy_83(D) # DEBUG capacity =3D> sizeCopy_83(D) # DEBUG disposer =3D> SR.96_116(D) # DEBUG INLINE_ENTRY dispose _81 =3D MEM[(const struct ArrayDisposer *)SR.96_116(D)]._vptr.ArrayDisposer; _82 =3D *_81; __builtin_unreachable (); # DEBUG firstElement =3D> NULL # DEBUG elementCount =3D> NULL # DEBUG capacity =3D> NULL # DEBUG disposer =3D> NULL # DEBUG this =3D> NULL # DEBUG firstElement =3D> NULL # DEBUG elementCount =3D> NULL # DEBUG capacity =3D> NULL after some folding. I fear this is the general gimple_build_builtin_unreachable which is now generally used but esp. folding should _not_ mark the call as control altering but leave that to CFG fixup (CFG cleanup doesn't catch this since it only looks at the last stmt of BBs). I'm fixing up in the use.=