From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id A507A3858426; Wed, 7 Feb 2024 10:59:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A507A3858426 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1707303599; bh=dB0T2gfVyhhJIKfMLMLy/igIEUAed/gpJEu/aygHqC4=; h=From:To:Subject:Date:In-Reply-To:References:From; b=m/OJS6dzHw+xuH5F8PzOb3C4F79ZcJUofkKaCpyWS0FcfK0gQB+CipVLoWNPOIPrt Urt+3J0z79+j99suf9NmHEJM8wNMG4a7+ihcIGzTDPrtKnsoC5FjmEZJjVzqqkPhui 2CShAodXBwv7liveIn9xA1e4vlDdbx8NmeEt5dxk= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/113750] [14 Regression] ICE in vect building gcc/m2/gm2-libs/NumberIO.mod since r14-8769-g64b0130bb6702c Date: Wed, 07 Feb 2024 10:59:58 +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: build, ice-on-valid-code X-Bugzilla-Severity: normal 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: tnfchris 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=3D113750 --- Comment #7 from GCC Commits --- The master branch has been updated by Tamar Christina : https://gcc.gnu.org/g:5c3ba60024fedc6b3d374ebb071bcf5b3e27cd62 commit r14-8840-g5c3ba60024fedc6b3d374ebb071bcf5b3e27cd62 Author: Tamar Christina Date: Wed Feb 7 10:59:32 2024 +0000 middle-end: fix ICE when destination BB for stores starts with a label [PR113750] The report shows that if the FE leaves a label as the first thing in the dest BB then we ICE because we move the stores before the label. This is easy to fix if we know that there's still only one way into the= BB. We would have already rejected the loop if there was multiple paths into the BB however I added an additional check just for early break in case the ot= her constraints are relaxed later with an explanation. After that we fix the issue just by getting the GSI after the labels an= d I add a bunch of testcases for different positions the label can be added. O= nly the vect-early-break_112-pr113750.c one results in the label being kept. gcc/ChangeLog: PR tree-optimization/113750 * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): Check for single predecessor when doing early break vect. * tree-vect-loop.cc (move_early_exit_stmts): Get gsi at the sta= rt but after labels. gcc/testsuite/ChangeLog: PR tree-optimization/113750 * gcc.dg/vect/vect-early-break_112-pr113750.c: New test. * gcc.dg/vect/vect-early-break_113-pr113750.c: New test. * gcc.dg/vect/vect-early-break_114-pr113750.c: New test. * gcc.dg/vect/vect-early-break_115-pr113750.c: New test. * gcc.dg/vect/vect-early-break_116-pr113750.c: New test.=