From patchwork Sat Feb 18 04:54:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Takayuki 'January June' Suwa X-Patchwork-Id: 58882 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp219974wrn; Fri, 17 Feb 2023 20:55:07 -0800 (PST) X-Google-Smtp-Source: AK7set8AHywUBf93rdBaLf4fj9QthckBCRBXVrgRBzejUpd3FGJAldZ/zUM23daTzBbtn0LzIwLN X-Received: by 2002:a17:906:2516:b0:8b0:f58d:2da9 with SMTP id i22-20020a170906251600b008b0f58d2da9mr1225074ejb.64.1676696107053; Fri, 17 Feb 2023 20:55:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676696107; cv=none; d=google.com; s=arc-20160816; b=bCOWD5IBb5donJLrrz8744krUoCp7DstPAf3aaDYl30A02U+NW1KZ/PqX1HgNzE3Bk tRTb/xX+58zNwWUwM1tba9J1UrD+axcKILI5zLtke00Zz6BMGA/+llb+/dcC6gbSImx5 Vc+nQjiOJubh7AYfTVi0Fposm9bHHonxJ0/AVZbY7srxFn/qfV47HFNQVoArWxsQu3i+ CndFH60kLg4vBCx4f58nA+vyMYKqZo2HIxF2tCAIrY5K/pmRMkHyu1VfKTYqQQ0YYOKA i7oeCZebOWo5VYQH/MhCmmOuQx4uZ5hxMmBpfbBeBX+5iRCBeoNB7hCpirkhjGrVbpWY U90Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:references :content-transfer-encoding:subject:cc:to:user-agent:mime-version :date:message-id:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=RAzD6U7q9K9hbA3RhmJmHxvf5ZoUIfO0kPXQDwpTq0s=; b=tWtZlHqAT1yaRR+HbnKFAbck16zqFUxBuhDtQTrQc2UOoCdfbR8SEzD6KZzgK1P6tm aj4/8oVbg6bBrxncYD0N15Q7oyeZITDGPMbi98Iru7BJRRgxTa7OC+YnUdqCDvFnSpxW NU7bvQ70aG4nL6y/8zSDhmrhzTDGt9s19tmH3gcWw3DkqVj6jiVWdKNSO1SdNIRUE/5+ f6ksHeAQSEmgE5gtFDMBV7hKeiDZLZI6BGiQ7tWH2PAQE6nFmNjaf6I2ZCMRQvJgrSmf zoB6F9sFnf/GW3ZyDVBOPXgcVOHi1QxP8sdOf+9m/xFeXERgcKJD41+wR8T8PBkjubAt Kzrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=R8UTbmYY; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id 24-20020a170906009800b008b77606ec70si2825971ejc.326.2023.02.17.20.55.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Feb 2023 20:55:07 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=R8UTbmYY; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D48AB385E004 for ; Sat, 18 Feb 2023 04:55:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D48AB385E004 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1676696105; bh=RAzD6U7q9K9hbA3RhmJmHxvf5ZoUIfO0kPXQDwpTq0s=; h=Date:To:Cc:Subject:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=R8UTbmYYzsO2H/iYjtth9YAGFYg/ERNQbbVTKBlYEQtpyxSSQnPV0QqyygO35CX3x QeHBLwsCiADXwsTrBACcZVEZH68YW3ez5bjJJ5xV9uWLadWmXhuFN48SBPKdZFEDRb 4nEuxvlIaCVsfXzocd+YNfCw1JbGojOSMeEvmj3U= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from sonicconh6003-vm2.mail.ssk.yahoo.co.jp (sonicconh6003-vm2.mail.ssk.yahoo.co.jp [182.22.37.43]) by sourceware.org (Postfix) with ESMTPS id 2804B3858D38 for ; Sat, 18 Feb 2023 04:54:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2804B3858D38 X-YMail-OSG: trtIY.QVM1kAE4iWy.TsPMr1tapvefXqmSY6DynLwZEh50wDYuTqNXX739UW2YF HdIlr8_As0Fwg58CupwVzO8Ri3DlyPtyARRJG93gZjV_soIHcGVsXS2TBRD8HF7VZ3hzLQ6ae8l5 L2.0hGSanEvgP62aYzaug6wRu7vIO5fBnXGrc.izDaRzhxQPSCBQVCNrdLA0hl8oH5TgKH1sKTxz YSfhd0X2jTg7.rrlDgCmbXTXO4au1qbN1aDdD.fbhX_KBHlKZqj2BZ0nGyEKgaLRakpOkGzTWr5X Ei3uLXgD0lYGmyYVdaiMu1n6YobvgmpvEasCuDH0AGd0Ju453iYSDVZBIKYhQv6zPsHvBMwkc4wP 6IAOfRGyXK9E5uvDnjmvp1gphnruwyT1Hxc50IHBqwRtSasC1Xoz9qXnqa98Yq5jfCD5RozCkzHv KaYlECbWnGxGUFBUZwUm61bGrrVn657Ckzeev43pYde2G7ZXI4R7sc5a45x16pxEVHvVESDOPMWD kBGQ9u5sUYCoEEfzvptxrI2FDs5.yu2xvey2YQLZeB9cM2jD0ISklouZmAP7pzoprL7KDwHFl9Pp hYxFn6YyeZurpoad8UAxp5YqzXsmbBQ6ykEbJ5eSv2c2Lo4xBKPzjDZOQJLL3.Rq0Nrv958wJo6q wWw90z.RbfQDmseyFJpzMnOZL.IsNbj54zkLygmRzHT_RJMD6F0qGOYetcWFFMv_cOOu4dD7iCmG 82mlOxoBT3yS060eVRlr9SUhdVxoc4nFjADqkuv2ry9sI80rwxpEioK4B5hkZzfsa5Ej6yK2qqzf .qllyeCCn9iZ779Sqtd.oGcPvzThQ7P6.eiXxHrRBBcxGZqEh9JHqT_LcJ5Dpw0xKE1aX112B5OK g8KX6B5p4ZuQEvNi_9yTBXQ9HbRhCm5rsC4PYIt.kgI5BWs9bjR2bHhsq3sPiEK5Q0eQaGMrO5tA Xnck- Received: from sonicgw.mail.yahoo.co.jp by sonicconh6003.mail.ssk.yahoo.co.jp with HTTP; Sat, 18 Feb 2023 04:54:17 +0000 Received: by smtphe6005.mail.ssk.ynwp.yahoo.co.jp (YJ Hermes SMTP Server) with ESMTPA ID bc47658f9b980c9e98c21692a1a13691; Sat, 18 Feb 2023 13:54:13 +0900 (JST) Message-ID: Date: Sat, 18 Feb 2023 13:54:10 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 To: GCC Patches Cc: Max Filippov Subject: [PATCH] xtensa: Enforce return address saving when -Og is specified References: X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, 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.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Takayuki 'January June' Suwa via Gcc-patches From: Takayuki 'January June' Suwa Reply-To: Takayuki 'January June' Suwa Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1758143297136791141?= X-GMAIL-MSGID: =?utf-8?q?1758143297136791141?= Leaf function often omits saving its return address to the stack slot, and this feature often makes debugging very confusing, especially for stack dump analysis. gcc/ChangeLog: * config/xtensa/xtensa.cc (xtensa_call_save_reg): Change to return true if register A0 (return address register) when -Og is specified. --- gcc/config/xtensa/xtensa.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc index d987f1dfede..1d9e4d1561a 100644 --- a/gcc/config/xtensa/xtensa.cc +++ b/gcc/config/xtensa/xtensa.cc @@ -3224,8 +3224,11 @@ xtensa_call_save_reg (int regno) return false; if (regno == A0_REG) - return crtl->profile || !crtl->is_leaf || crtl->calls_eh_return || - df_regs_ever_live_p (regno); + /* Ensure the return address to be saved to the stack slot in order + to assist stack dump analysis when -Og is specified. */ + return optimize_debug + || crtl->profile || !crtl->is_leaf || crtl->calls_eh_return + || df_regs_ever_live_p (regno); if (crtl->calls_eh_return && IN_RANGE (regno, 2, 3)) return true;