From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id DE2E938356AC; Fri, 22 Jul 2022 09:26:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DE2E938356AC From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/106397] [13 Regression] ICE in check_loop_closed_ssa_def, at tree-ssa-loop-manip.cc:645 since r13-1450-gd2a898666609452e Date: Fri, 22 Jul 2022 09:26: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: 13.0 X-Bugzilla-Keywords: 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: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 13.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 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jul 2022 09:26:59 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106397 --- Comment #4 from CVS Commits --- The master branch has been updated by Richard Biener : https://gcc.gnu.org/g:b2e99bb6900f33f46a0f4ca6ae94b8a39b0b9bb1 commit r13-1794-gb2e99bb6900f33f46a0f4ca6ae94b8a39b0b9bb1 Author: Richard Biener Date: Fri Jul 22 09:57:38 2022 +0200 tree-optimization/106397 - array prefetch and LC SSA The following fixes maintaining LC SSA when array prefetch inserts mfence instructions on loop exits that do not use memory. It also fixes the latent issue that it might split exit edges for this which will break LC SSA for non-virtuals as well. It should also make the process cheaper by accumulating the required (LC) SSA update until the end of the pass. PR tree-optimization/106397 * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do not update SSA form here. (mark_nontemporal_stores): Return whether we marked any non-temporal stores and inserted mfence. (loop_prefetch_arrays): Note when we need to update SSA. (tree_ssa_prefetch_arrays): Perform required (LC) SSA update at the end of the pass. * gcc.dg/pr106397.c: New testcase.=