From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 4EC2C38582A4; Tue, 27 Jun 2023 16:02:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4EC2C38582A4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1687881748; bh=tvK0FIxGPp8Wyky8mqCa/ySU3BMZ9EkMDWe5hJGfRKg=; h=From:To:Subject:Date:In-Reply-To:References:From; b=yqrnl3v0Iz5+G4Sg3zGoHyflWrAs7/57MI+Iy3bWPEzcfTPoaNxQVq5TvKTZF+ZVH p40GMqCO410F8pd6v0OudrgSM8fdKl7xTdt3D0hOeW5ELRP5x3YkTQ3SMF81BtzE8K z9K5asrAp5f77n7yTC1eQ8mk2nHA6+Bn1zxo5jyA= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug ipa/110276] [13/14 Regression] ICE building efibootguard on x86_64-linux-gnu Date: Tue, 27 Jun 2023 16:02:27 +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: 13.1.1 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: P2 X-Bugzilla-Assigned-To: jamborm at gcc dot gnu.org X-Bugzilla-Target-Milestone: 13.2 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=3D110276 --- Comment #5 from CVS Commits --- The releases/gcc-13 branch has been updated by Martin Jambor : https://gcc.gnu.org/g:7085905d7842e71af7a59c7d20d050716dd22e9b commit r13-7483-g7085905d7842e71af7a59c7d20d050716dd22e9b Author: Martin Jambor Date: Tue Jun 27 18:01:13 2023 +0200 ipa-sra: Disable candidates with no known callers (PR 110276) In IPA-SRA we use can_be_local_p () predicate rather than just plain local call graph flag in order to figure out whether the node is a part of an external API that we cannot change. Although there are cases where this can allow more transformations, it also means we can analyze functions which have no callers at all, which is pointless. Moreover, it makes an assert of hint propagation trigger, which checks that we have looked at callers before processing hints that come from them. This has been reported as PR 110276. This patch simply adds a check that a node has at least one caller into the early checks and makes the node a non-candidate for any transformation if it does not. gcc/ChangeLog: 2023-06-16 Martin Jambor PR ipa/110276 * ipa-sra.cc (struct caller_issues): New field there_is_one. (check_for_caller_issues): Set it. (check_all_callers_for_issues): Check it. gcc/testsuite/ChangeLog: 2023-06-16 Martin Jambor PR ipa/110276 * gcc.dg/ipa/pr110276.c: New test. (cherry picked from commit 8a665a8d3b45c947d5793e2c9c3df8a1c0302f03)=