From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 1938E385842B; Thu, 30 Sep 2021 22:09:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1938E385842B From: "qinzhao at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/102285] New flag -ftrivial-auto-var-init=zero causes crash in pr82421.c Date: Thu, 30 Sep 2021 22:09:13 +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: 12.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: qinzhao at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: qinzhao at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- 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: Thu, 30 Sep 2021 22:09:14 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D102285 --- Comment #12 from qinzhao at gcc dot gnu.org --- with the following change, I can resolve the ICE: [opc@qinzhao-ol8u3-x86 gcc]$ git diff diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c index 70ce6a4d5b8d..b07026165075 100644 --- a/gcc/tree-ssa-ccp.c +++ b/gcc/tree-ssa-ccp.c @@ -2655,6 +2655,7 @@ fold_builtin_alloca_with_align (gimple *stmt) SET_DECL_PT_UID (var, uid); /* Fold alloca to the address of the array. */ + mark_addressable (var); return fold_convert (TREE_TYPE (lhs), build_fold_addr_expr (var)); } diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index 0fba404babe9..e06609861bf1 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -1657,7 +1657,7 @@ maybe_optimize_var (tree var, bitmap addresses_taken, bitmap not_reg_needs, bool maybe_reg =3D false; if (TREE_ADDRESSABLE (var)) { - TREE_ADDRESSABLE (var) =3D 0; + //TREE_ADDRESSABLE (var) =3D 0; maybe_reg =3D true; if (dump_file) { However, I am not very sure the change in tree-ssa.c. why TREE_ADDRESSABLE (var) is reverted in this routine?=