From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vs1-xe35.google.com (mail-vs1-xe35.google.com [IPv6:2607:f8b0:4864:20::e35]) by sourceware.org (Postfix) with ESMTPS id 9C94E38930F0 for ; Thu, 26 Jan 2023 19:14:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9C94E38930F0 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-vs1-xe35.google.com with SMTP id j7so2935823vsl.11 for ; Thu, 26 Jan 2023 11:14:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=1+GmWja1QfgJImXXq5GfFgp3CZif2ZRji689KcBhlKQ=; b=lBQO8/heXdbnNuirg7gwiMBxqSEE1DR0ZfkubjtB6TUD93+C13x4ccrzMvpC/h00kc eMc3uQeoqOG29TvNQCy9Wy/kxLPncbtKtTatrt1jlcjcJYne/ddVtUOVAjgVtZhUisIQ RXsHDNS/xvDxPwtZkPg2MLW/tKS8E+kPjGXPJYGTDob8cfqzs7fTsrHbNFO/+a6JJt7j U529ci4V39gMRrzUdlTVsjWRdTrd324MCDMoyojOmBJ/b++6PIo3aKBYiJNLY08mJ8Xv V4w1n78AFS9ygEBc4RMIIIGtuxcC37UBbAdMWb0FGTM/uNys6f5vHg44UWdl/yui5+yX jefw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1+GmWja1QfgJImXXq5GfFgp3CZif2ZRji689KcBhlKQ=; b=jq1fUXEZCYblKwXYzGqH2IL9/hp/Axyy0ynD+f/eNGzzqPYg59UdD9LjBl9Msc/x2h yiU64lztiWkcq8+qn0v5B2eI8bpG36zfjIzZJJN7sy7p9N+yTRdfFvwXMMLQSnwSMr5u X4KK9QnDrV5xIwjK3b8rrd1f0tiA1h87txi4Bf5onQcSIkkiqClnOWtMP+ouDHkcIG7M MdS5RcN5nyPz3c3b6TUYrKzNwm+rpEH7HOmawbf/9ekuKSZglccWVaLtVFonpAeGFcpc rXfw2JXdQBgzsSN9BDaks+UFEvdqDbAl6yj8BvHNOIF6E08e0mMBe99AC9iUska+1zle 550g== X-Gm-Message-State: AO0yUKXtrJEylklq3JBEu43GBSWI4bf5vouObo4pqHUTOMsOF75crJfP Gn6/PCZcMfS2LyzQtcDW2g1iCTOHcUGN/NEdJhA= X-Google-Smtp-Source: AK7set9oxH7Cyii/bJ+1AkC19oS21Z3HTaS7zP9N5i5aP+i+zkzVnjf+/KUyTXsqc4YcvyCxmQ1c3TG7oedYMnKVmWc= X-Received: by 2002:a67:fe13:0:b0:3e9:a641:7acb with SMTP id l19-20020a67fe13000000b003e9a6417acbmr934839vsr.30.1674760472893; Thu, 26 Jan 2023 11:14:32 -0800 (PST) MIME-Version: 1.0 References: <20230109224007.146325-1-juzhe.zhong@rivai.ai> In-Reply-To: <20230109224007.146325-1-juzhe.zhong@rivai.ai> From: Kito Cheng Date: Fri, 27 Jan 2023 03:14:21 +0800 Message-ID: Subject: Re: [PATCH] RISC-V: Avoid redundant flow in forward fusion To: juzhe.zhong@rivai.ai Cc: gcc-patches@gcc.gnu.org, palmer@dabbelt.com Content-Type: multipart/alternative; boundary="000000000000121ed005f32f8f15" X-Spam-Status: No, score=-8.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,HTML_MESSAGE,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 List-Id: --000000000000121ed005f32f8f15 Content-Type: text/plain; charset="UTF-8" committed, thanks. On Tue, Jan 10, 2023 at 6:40 AM wrote: > From: Ju-Zhe Zhong > > gcc/ChangeLog: > > * config/riscv/riscv-vsetvl.cc > (pass_vsetvl::forward_demand_fusion): Add pre-check for redundant flow. > > --- > gcc/config/riscv/riscv-vsetvl.cc | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/gcc/config/riscv/riscv-vsetvl.cc > b/gcc/config/riscv/riscv-vsetvl.cc > index 7800c2ee509..18c6f437db6 100644 > --- a/gcc/config/riscv/riscv-vsetvl.cc > +++ b/gcc/config/riscv/riscv-vsetvl.cc > @@ -2140,6 +2140,9 @@ pass_vsetvl::forward_demand_fusion (void) > if (!prop.valid_or_dirty_p ()) > continue; > > + if (cfg_bb == ENTRY_BLOCK_PTR_FOR_FN (cfun)) > + continue; > + > edge e; > edge_iterator ei; > /* Forward propagate to each successor. */ > @@ -2153,6 +2156,11 @@ pass_vsetvl::forward_demand_fusion (void) > /* It's quite obvious, we don't need to propagate itself. */ > if (e->dest->index == cfg_bb->index) > continue; > + /* We don't propagate through critical edges. */ > + if (e->flags & EDGE_COMPLEX) > + continue; > + if (e->dest->index == EXIT_BLOCK_PTR_FOR_FN (cfun)->index) > + continue; > > /* If there is nothing to propagate, just skip it. */ > if (!local_dem.valid_or_dirty_p ()) > -- > 2.36.1 > > --000000000000121ed005f32f8f15--