From patchwork Mon Jul 15 09:04:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: LIU Hao X-Patchwork-Id: 1960528 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=126.com header.i=@126.com header.a=rsa-sha256 header.s=s110527 header.b=SY+PvSsN; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4WMxB10gBSz1xr4 for ; Mon, 15 Jul 2024 19:05:25 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 48FD03865479 for ; Mon, 15 Jul 2024 09:05:23 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from m16.mail.126.com (m16.mail.126.com [117.135.210.8]) by sourceware.org (Postfix) with ESMTP id 4D6FA385B508 for ; Mon, 15 Jul 2024 09:05:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4D6FA385B508 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=126.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=126.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 4D6FA385B508 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=117.135.210.8 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1721034303; cv=none; b=UCTHR88b5cwuoVWlzQQXA1XQLhRHrR05UPWKBqfWM8speHKtHjbLUXgHRticNtQIYcXGzind22BnnrsfzSSUJsG9Rbt1laO4WdFcwrZRkus13ewggq1rsFHfxTz9L28cM60TfmjUoMTrMMxrSAoNXfLLlF2ueezDJS6NFzTnWVY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1721034303; c=relaxed/simple; bh=RMBBj6zVvndGLidOwVApl+xLq6khPbAOwU6F2K9SMnY=; h=DKIM-Signature:Message-ID:Date:MIME-Version:To:From:Subject; b=bYnvt9HjFDwLKbP5NBGYBku49xayK4Lm/jHRkJ8GGfGO8YCN70Ajf6rGVn3an8dBAwRVHi9UpFd2UH+meLKrrn8FdNW6DXD7d4TlS9BnQEFK+xEuegVXYxfVRo3OpE6HbG1SKFbJrvBdcMD7sWZIHR6HiNZzfmBdsxUgK13vZYc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=Message-ID:Date:MIME-Version:From:Subject: Content-Type; bh=RMBBj6zVvndGLidOwVApl+xLq6khPbAOwU6F2K9SMnY=; b=SY+PvSsNkmpl7OSbkeUPDEgTgrzmRRtZm/2gAKfyGMWpMS0xEx0sWjFdu+uWM1 24JPfr5u/FIVSaDX6nAigg+uXo8y0nybsFhGKExrcQqGfQRYf8TSKMYigkXNBpd1 TSgIVA8HbtlV/zRAQ6VnZJC13T1dTtFXaOIvAZqUsip+0= Received: from [192.168.48.39] (unknown [116.236.172.42]) by gzga-smtp-mta-g1-1 (Coremail) with SMTP id _____wD3nxs05pRmpMlsAA--.53770S2; Mon, 15 Jul 2024 17:04:53 +0800 (CST) Message-ID: <895ae57e-36be-416e-844b-f5e6b2c5488c@126.com> Date: Mon, 15 Jul 2024 17:04:52 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: gcc-patches@gcc.gnu.org, Jonathan Yong <10walls@gmail.com> From: LIU Hao Subject: [PATCH] Do not use caller-saved registers for COMDAT functions Autocrypt: addr=lh_mouse@126.com; keydata= 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 X-CM-TRANSID: _____wD3nxs05pRmpMlsAA--.53770S2 X-Coremail-Antispam: 1Uf129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73 VFW2AGmfu7bjvjm3AaLaJ3UbIYCTnIWIevJa73UjIFyTuYvjxUxPrcDUUUU X-Originating-IP: [116.236.172.42] X-CM-SenderInfo: 5okbz0xxvhqiyswou0bp/1tbiFxUdRmW-QJ0wfQABsS X-Spam-Status: No, score=-3132.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org From 6a2f0d3fbd443487bb6dd7bc95ed5403cd572ac1 Mon Sep 17 00:00:00 2001 From: LIU Hao Date: Mon, 15 Jul 2024 16:55:52 +0800 Subject: [PATCH] Do not use caller-saved registers for COMDAT functions A reference to a COMDAT function may be resolved to another definition outside the current translation unit, so it's not eligible for `-fipa-ra`. In `decl_binds_to_current_def_p()` there is already a check for weak symbols. This commit checks for COMDAT functions that are not implemented as weak symbols, for example, on *-*-mingw32. gcc/ChangeLog: PR rtl-optimization/115049 * varasm.cc (decl_binds_to_current_def_p): Add a check for COMDAT declarations too, like weak ones. --- gcc/varasm.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/varasm.cc b/gcc/varasm.cc index 747f74ba1c0..b67a0b524db 100644 --- a/gcc/varasm.cc +++ b/gcc/varasm.cc @@ -7805,6 +7805,8 @@ decl_binds_to_current_def_p (const_tree decl) for all other declaration types. */ if (DECL_WEAK (decl)) return false; + if (DECL_COMDAT_GROUP (decl)) + return false; if (DECL_COMMON (decl) && (DECL_INITIAL (decl) == NULL || (!in_lto_p && DECL_INITIAL (decl) == error_mark_node))) -- 2.34.1