From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1851) id C5AB238618A5; Wed, 18 May 2022 13:09:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C5AB238618A5 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Martin Liska To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/marxin/heads/PR105600-ipa-icf-removed-nodes)] ipa-icf: skip variables with body_removed X-Act-Checkin: gcc X-Git-Author: Martin Liska X-Git-Refname: refs/users/marxin/heads/PR105600-ipa-icf-removed-nodes X-Git-Oldrev: 9f068ad0f2f1d65349ac564178cddbe9aec39f3a X-Git-Newrev: 0a6c68712d20bfe5bb7e29380a1efa404ae7e314 Message-Id: <20220518130905.C5AB238618A5@sourceware.org> Date: Wed, 18 May 2022 13:09:05 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 May 2022 13:09:05 -0000 https://gcc.gnu.org/g:0a6c68712d20bfe5bb7e29380a1efa404ae7e314 commit 0a6c68712d20bfe5bb7e29380a1efa404ae7e314 Author: Martin Liska Date: Wed May 18 15:07:53 2022 +0200 ipa-icf: skip variables with body_removed Similarly to cgraph_nodes, it may happen that body_removed is set during merging of symbols. PR ipa/105600 gcc/ChangeLog: * ipa-icf.cc (sem_item_optimizer::filter_removed_items): Skip variables with body_removed. Diff: --- gcc/ipa-icf.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gcc/ipa-icf.cc b/gcc/ipa-icf.cc index 765ae746745..6528a7a10b2 100644 --- a/gcc/ipa-icf.cc +++ b/gcc/ipa-icf.cc @@ -2411,10 +2411,11 @@ sem_item_optimizer::filter_removed_items (void) { /* Filter out non-readonly variables. */ tree decl = item->decl; - if (TREE_READONLY (decl)) - filtered.safe_push (item); - else + varpool_node *vnode = static_cast (item)->get_node (); + if (!TREE_READONLY (decl) || vnode->body_removed) remove_item (item); + else + filtered.safe_push (item); } } }