From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 5D50E3858C2D; Sun, 24 Dec 2023 01:16:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5D50E3858C2D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1703380584; bh=LaNam8yydEpRbnjHeS4QwUDG8EUKyvYGyNUGfSKrvR0=; h=From:To:Subject:Date:In-Reply-To:References:From; b=AMh8Xs+jTocgIjUKEEjHphvf8E1+2sEgoozOJVztbEF+Gsb1dfzpyKkCXG/cP3V6i bYICLD5SqQj3X/I51lW8zrjqAMB2tJiOSHLnKuxyaDGoBJEv9SyfA1plwI797E8iRH vtUSrrRzLQuAld/+CQ7I1auwLMg+KrNZpN346Yb4= From: "guojiufu at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/113109] [14 Regression] g++ EH tests fail at execution time for cris-elf after r14-6674-g4759383245ac97 Date: Sun, 24 Dec 2023 01:16:21 +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: EH, wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: guojiufu at gcc dot gnu.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Resolution: FIXED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned 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=3D113109 --- Comment #13 from Jiu Fu Guo --- (In reply to GCC Commits from comment #9) > The master branch has been updated by Hans-Peter Nilsson : >=20 > https://gcc.gnu.org/g:3d03630b123411340e52d05124cb0cacfa1fc8b0 >=20 > commit r14-6817-g3d03630b123411340e52d05124cb0cacfa1fc8b0 > Author: Hans-Peter Nilsson > Date: Sun Dec 24 00:10:32 2023 +0100 >=20 > CRIS: Fix PR middle-end/113109; "throw" failing >=20=20=20=20=20 > TL;DR: the "dse1" pass removed the eh-return-address store. The > PA also marks its EH_RETURN_HANDLER_RTX as volatile, for the same > reason, as does visum. See PR32769 - it's the same thing on PA. >=20=20=20=20=20 > Conceptually, it's logical that stores to incoming args are > optimized out on the return path or if no loads are seen - > at least before epilogue expansion, when the subsequent load > isn't seen in the RTL, as is the case for the "dse1" pass. The stores to the argp/frame can be eliminated only if they are not used. While for this case, the store may be used by EH handler, it should not be optimized out.=20 Thanks for catching and handling this quickly. Happy holidays.=