From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id C25C23865C21; Fri, 22 Dec 2023 11:30:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C25C23865C21 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1703244635; bh=mzlA91TgW4yYab8WZfxnDrgO/kjzThTcYc3hKXm+d8c=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Dg+4ORWNfXeJWq68vCAuN4mszjSkHw+nmuVBtLUW0/gLSzFTzJg6lOlSmhAo+qpQS yCYGRK9rxtoSsc0LQl3zs8hoXnRT1ExXjNK7r6IMOmz90a7vZT7/+sa8uxET+AsYnR zywxnTYpGrdnnAfu+rQtb2BY7XW4jzkH9ULR+Bis= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/112941] during GIMPLE pass: bitintlower ICE: in handle_operand_addr, at gimple-lower-bitint.cc:2126 (gimple-lower-bitint.cc:2134) at -O with _BitInt() Date: Fri, 22 Dec 2023 11:30:34 +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: 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: jakub 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D112941 --- Comment #12 from GCC Commits --- The master branch has been updated by Jakub Jelinek : https://gcc.gnu.org/g:0a6aa1927597d821a85bc3d1fd7682256c25b548 commit r14-6805-g0a6aa1927597d821a85bc3d1fd7682256c25b548 Author: Jakub Jelinek Date: Fri Dec 22 12:28:54 2023 +0100 symtab-thunks: Use aggregate_value_p even on is_gimple_reg_type returns [PR112941] Large/huge _BitInt types are returned in memory and the bitint lowering pass right now relies on that. The gimplification etc. use aggregate_value_p to see if it should be returned in memory or not and use =3D _123; return ; rather than return _123; But expand_thunk used e.g. by IPA-ICF was performing an optimization, assuming is_gimple_reg_type is always passed in registers and not calli= ng aggregate_value_p in that case. The following patch changes it to match what the gimplification etc. are doing. 2023-12-22 Jakub Jelinek PR tree-optimization/112941 * symtab-thunks.cc (expand_thunk): Check aggregate_value_p regardless of whether is_gimple_reg_type (restype) or not. * gcc.dg/bitint-60.c: New test.=