From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 79F753858CDA; Fri, 28 Apr 2023 06:40:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 79F753858CDA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1682664004; bh=vzCgDyOuM+zMm/c61mlvz+ai+fdW/K04NYIokuWu0Lg=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Ccq8XNX4hIL1b+Db2YUUG1Vz7En+UdRO8icqqZRFFOSNidB+Q7HYxXc8iJ9f0CFDn cFLCyDL7KITxFDfiWvszCmwyrn0DJ09lWMdmGC54dhSlbYb/s4ZTHyhdyTp1RDtzsq XMWjwD2jKnjnodrYd0756dDDuxgqGkhlzcis5W6A= From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug ipa/109652] [14 Regression] ICE on valgrind-3.20.0: in modify_expression, at ipa-param-manipulation.cc:1866 since r14-295-gd89e23f27215fc Date: Fri, 28 Apr 2023 06:40:03 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: ipa X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: ice-on-valid-code, needs-bisection 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: 14.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status assigned_to 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=3D109652 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot = gnu.org --- Comment #4 from Richard Biener --- So we're replacing (in a call this time) the aggregate argument ri_3(D)->AR= Mri5 (it's a union) with a register (gdb) p debug_tree (repl) ,=20 alias_ptr_type =3D , unit_offset =3D 0,=20 base_index =3D 0, prev_clone_index =3D 0, op =3D IPA_PARAM_OP_SPLIT,=20 prev_clone_adjustment =3D 0, param_prefix_index =3D 1, reverse =3D 0,=20 user_flag =3D 0} so there doesn't seem to be something indicating there's an aggregate use? Of course in theory we can fix up in modify_expression by copying the register to a non-register for such case but that might not be the most efficient way to deal with this. The "easiest" fix is to let this case slip through. It isn't catched by my planned extra IL checking. We'll generate iregEnc (VIEW_CONVERT_EXPR(_7));=