From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) by sourceware.org (Postfix) with ESMTPS id 268CE3857716 for ; Sun, 25 Jun 2023 13:36:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 268CE3857716 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-pf1-x435.google.com with SMTP id d2e1a72fcca58-66c729f5618so1040012b3a.1 for ; Sun, 25 Jun 2023 06:36:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687700196; x=1690292196; 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=CcTDq8/2RmmADhugdRbEIQbSdHI0vZ0A2FUQMQEXerw=; b=hodCJq56TvLByFI+P/79PZArVkYBvT4pHqXYnTQI61VhnBH2DUShqU6aemjbn38Wfg GweaHpSPS5ebvLBob6ziecIUwuc3HVvxHXU9T7ivyBASIIYCkxkVHLiZcfBjKMATcuwX STAQU19GX00TUNUM6dHXD4Bp/8M9/FnrwjJ2mXW/DmTUDgIwYEqEMUpXlZYq1Gpu7uTg DKtoJJ/pAUs4UpaQnLwQQElD0SFEP29sNyJrwTITuopO2iaintOc/0VC997k7a/tmE0i 7KXgGKsZEdmQNlz9H8KqFf7cvOsuhjhEJuYx4BTp8t6d+3YOeWOrPppqfrIavENnhnwe jryw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687700196; x=1690292196; 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=CcTDq8/2RmmADhugdRbEIQbSdHI0vZ0A2FUQMQEXerw=; b=OqWYO8IlMROIWwI+RhvgouIGDEKUC09FOI9yHr69y3MqEtQNojCIPtq5RheX2kS1f9 urZS25kgbUu3WvWgRvlngDG41ENxK9DDnXh/l1nyoe07Gqs3zQgW4TymXgkppKhxW8AO +y8F49q5U/mekMbmQQmeMx5+HZoaykbUQwBnnK5YvGKvwFcpE7VmWOUy1Q1Co1QmREoX WfXtHVHgTemQh03qqcQ8mo1DdAzBLf6nVCjUoIsQXCFMxmWur202qgjFvdAy8HI8mo/H 6/7fmiiVeZoKJ57q/0m2G9wpIBSD3pN8r07Vyo4asZSfROeM9xRoMOd/ufEWPwB7k544 I+Uw== X-Gm-Message-State: AC+VfDxJxM9jXxWkg0e6ACmZ8C6fN9Q5Ba+qDVMqyBQ9wSL7YKlDdIG3 6CHuFpJHXeP//VENvzRFJ+U= X-Google-Smtp-Source: ACHHUZ5qDgYiojtB0NJ3h/4kZxEpRcf3G+Wbp/OVFKcS8sPirZsgS0jLdeF993CiS3PJvFr1dO46qQ== X-Received: by 2002:a05:6a20:3d87:b0:127:aaf:59a2 with SMTP id s7-20020a056a203d8700b001270aaf59a2mr1344322pzi.35.1687700195539; Sun, 25 Jun 2023 06:36:35 -0700 (PDT) Received: from [172.31.0.109] ([136.36.130.248]) by smtp.gmail.com with ESMTPSA id r19-20020a634413000000b005579f12a238sm1418497pga.86.2023.06.25.06.36.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 25 Jun 2023 06:36:35 -0700 (PDT) Message-ID: Date: Sun, 25 Jun 2023 07:36:33 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [PATCH 1/2] allow target to check shrink-wrap-separate enabled or not Content-Language: en-US To: Fei Gao , gcc-patches@gcc.gnu.org Cc: kito.cheng@gmail.com, palmer@dabbelt.com, sinan.lin@linux.alibaba.com, jiawei@iscas.ac.cn References: <20230620094052.35993-1-gaofei@eswincomputing.com> <20230620094052.35993-2-gaofei@eswincomputing.com> From: Jeff Law In-Reply-To: <20230620094052.35993-2-gaofei@eswincomputing.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.4 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 6/20/23 03:40, Fei Gao wrote: > gcc/ChangeLog: > > * shrink-wrap.cc (try_shrink_wrapping_separate):call > use_shrink_wrapping_separate. > (use_shrink_wrapping_separate): wrap the condition > check in use_shrink_wrapping_separate. > * shrink-wrap.h (use_shrink_wrapping_separate): add to extern I'm still missing somethign here. Why doesn't the RISC-V target simply disable separate shrink wrapping by indicating no components are eligible in the relevant cases. ie, I do not think we need another knob here. To be more concrete: > /* Implement TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS. */ > > static sbitmap > riscv_get_separate_components (void) > { > HOST_WIDE_INT offset; > sbitmap components = sbitmap_alloc (FIRST_PSEUDO_REGISTER); > bitmap_clear (components); > > if (riscv_use_save_libcall (&cfun->machine->frame) > || cfun->machine->interrupt_handler_p > || !cfun->machine->frame.gp_sp_offset.is_constant ()) > return components; Don't we get the behavior we want if we change this code to return an zero'd sbitmap? jeff