From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-il1-x130.google.com (mail-il1-x130.google.com [IPv6:2607:f8b0:4864:20::130]) by sourceware.org (Postfix) with ESMTPS id 202293858D1E for ; Sun, 16 Apr 2023 16:40:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 202293858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-il1-x130.google.com with SMTP id e9e14a558f8ab-3294fd17f1cso4775495ab.1 for ; Sun, 16 Apr 2023 09:40:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681663220; x=1684255220; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=ZvJBtHpYrmsK3Ab6Q048yBwWRBf5hpLQOUGHpNHfPj4=; b=Y1X5XGzEmnvWEOrRfpQvU55VA2GNPQXQXT0DgaP+Tmv0mxpd4py8Rw/vMqBqx3HpzP e4nBBy5sUJdMv9Z+xhxsu3Yr9wJIXXdOXLxQYBAFc/tzCtq589cB6rA3fk8m9gAM1qRG s17EJZI3JzGk+rsSFtankzlYXX0iNkSL/M0VnDbH4s9n+AryWX5fWj9DUTo1la7HqkIM hDlyahDl2LVQkmtJd4Mz+zJXc5nUtWYaneXKvg0TaNpgkZ2t69eW+mFOxonDWtLFWSzs 7s13lVbsq/2y9IVE5PDdJLqkKa6E3K79tcBjr0GDWx0DBAV/7gM60Ez/61cyNyCNUk0G Xvew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681663220; x=1684255220; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ZvJBtHpYrmsK3Ab6Q048yBwWRBf5hpLQOUGHpNHfPj4=; b=Ey5gg+stJD1LgFst1vqDPhDpwyW2PBUeCaxJ3glCIyjiJzGI8YjK/GLeGmDaR3BoEf Bg29yxpilyoGb26n25B5yxtIOYH05/1spePTaGh7TaGDaa0j8sO5zCQb2+k2eQFtQ1Pz LCdp24KQ/s9d7DyLXEff81pmimVXzvF2dlbOrfZc+zPMbGtvGoK7t6cBTUzL9843tH0Z L8+tRaFfW6dXtaYNo6Hs5aoU6ItwIQjIIHA3wc8DpRJPq/kILV40gZdxQKXTd6la8q4o Q+uo7MnmEpChjvswCSxw3PU3K+4TcH3wQLWSqHLj6k4RzIYJ1Rowm4P7XfLm02FdFdlR sV8g== X-Gm-Message-State: AAQBX9diKXYvZDK8EFBqHoYUna+PZJGakZH0HXmtDJj484PKPG2MLOUT AsTQ0RgZBvNSlPTbQZbuTCU= X-Google-Smtp-Source: AKy350YofjmXuT8u5F6He7v5jhhOwEydO85uh9fDDSOZAiZHZYgOj3/YkgWQBWYKlALZPqO6m0nh5Q== X-Received: by 2002:a05:6e02:806:b0:328:bc51:282c with SMTP id u6-20020a056e02080600b00328bc51282cmr7385937ilm.25.1681663219998; Sun, 16 Apr 2023 09:40:19 -0700 (PDT) Received: from ?IPV6:2601:681:8600:13d0::f0a? ([2601:681:8600:13d0::f0a]) by smtp.gmail.com with ESMTPSA id i15-20020a05663815cf00b0040bcffadd91sm2723804jat.124.2023.04.16.09.40.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 16 Apr 2023 09:40:19 -0700 (PDT) Message-ID: <19d9683a-54a9-5a17-86d6-b88cbb68b37b@gmail.com> Date: Sun, 16 Apr 2023 10:40:18 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH 1/3] RISC-V: add a new parameter in riscv_first_stack_step. Content-Language: en-US To: Fei Gao , gcc-patches@gcc.gnu.org Cc: kito.cheng@gmail.com, palmer@dabbelt.com References: <20221201100332.22226-1-gaofei@eswincomputing.com> <20221201100332.22226-2-gaofei@eswincomputing.com> From: Jeff Law In-Reply-To: <20221201100332.22226-2-gaofei@eswincomputing.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 12/1/22 03:03, Fei Gao wrote: > frame->total_size to remaining_size conversion is done as an independent patch without > functionality change as per review comment. > > gcc/ChangeLog: > > * config/riscv/riscv.cc (riscv_first_stack_step): add a new function parameter remaining_size. > (riscv_compute_frame_info): adapt new riscv_first_stack_step interface. > (riscv_expand_prologue): likewise. > (riscv_expand_epilogue): likewise. > --- > gcc/config/riscv/riscv.cc | 48 +++++++++++++++++++-------------------- > 1 file changed, 24 insertions(+), 24 deletions(-) > > @@ -5037,7 +5037,7 @@ riscv_expand_prologue (void) > /* Save the registers. */ > if ((frame->mask | frame->fmask) != 0) > { > - HOST_WIDE_INT step1 = riscv_first_stack_step (frame); > + HOST_WIDE_INT step1 = riscv_first_stack_step (frame, frame->total_size); > if (size.is_constant ()) > step1 = MIN (size.to_constant(), step1); Hmm. I generally agree that this patch has no functional changes in behavior. But I wonder if there's a latent bug in the prologue code. It seems to me that if we are optimizing for size and need to save both GPRs and FPRs that we don't want to be using frame->total_size as the libcall path to save the GPRs will have done a partial allocation, thus reducing the amount of stack still to allocate. Or am I missing something here? Jeff