From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vs1-xe2e.google.com (mail-vs1-xe2e.google.com [IPv6:2607:f8b0:4864:20::e2e]) by sourceware.org (Postfix) with ESMTPS id 453F13850408 for ; Thu, 26 Jan 2023 19:13:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 453F13850408 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-xe2e.google.com with SMTP id v26so2338400vsm.5 for ; Thu, 26 Jan 2023 11:13:42 -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=sIqKXq3tuf7raEgJRk+DEJWyGteVQQIV2xufcuSsT0Y=; b=Y5N7gB/5LmAC94KDSlrR836AEKWK2VB06DX0eHB8Rd4EbPX4qlpyO13OnqAJge21CT z76h8Yi0ULLnwDqLq/sNf+Sqs4fu6VV36+sEJKUvq8ENFMij1YI4wcXUPQYfan5iRfez X3aonsl46lhzN9TCVngxMLFOQlQorrwy51Z4Itu1nZK3Z+G1lQo3sjtVdfmN24Lc17b4 i49POki/ElF0od7UgpKw7dZD8lLSXyf8VhA25hgWmu1oeEtxmlD5anVONQQ0R3QOOz8j r56Pc/ohf7BHgt0tyN5O0P1Swgp0OLsjCQCPVzxSnBLTjJSo6pwsnKwpdEcRuMYoc3vN xPlA== 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=sIqKXq3tuf7raEgJRk+DEJWyGteVQQIV2xufcuSsT0Y=; b=eKbW+pGgr8r4ZTz6u7aFSH9+j73fcQH/BhISUm+USwG4OZrjdHeRrcHpSrMmiFPw0o CB06LifvkNuOshrXxesgSigGTyL5IAjynYFUcZn51lLp3xcrWHb1aJIxRNF0GUqx3d2o R8OpUvY865lucQ8TiqhwS+9x9+k7kDgQ3cjpX8AlVQw4iW3qa6JP2wptb3NhTaaIHl2w bcHHWLEKDyA78GQV7F5k/8Dd6qYus4MJRZzsRUDP9laaNOl8i4nTo+ivY2cLpFDqTu5g gybNkvpE+sJDO2zVReNaRP078MAgI9YmAwKlyr6BT4Jt6jWLdWAI6FMmHiiBbfDCTex3 c8OQ== X-Gm-Message-State: AFqh2kopc7sSA2OHDMBuM5DftZPbXVV3Rev8gbdbAuQdaL4HHrbx7DzH FY5J0deowHDlH5cIXTg8uFwp47nWwGgDB5w9ErU= X-Google-Smtp-Source: AMrXdXsYlaUlxuqp/+d5it3mS+/Wy0uQbIrWsR1Wh+Ku/+3rCZSKJYfTfOyNzC+s1VWqR2s9Lz3UZhcPRxcj5LWp3cw= X-Received: by 2002:a05:6102:e95:b0:3c9:4a5f:c9db with SMTP id l21-20020a0561020e9500b003c94a5fc9dbmr5141841vst.77.1674760421419; Thu, 26 Jan 2023 11:13:41 -0800 (PST) MIME-Version: 1.0 References: <20230103072436.157051-1-juzhe.zhong@rivai.ai> In-Reply-To: <20230103072436.157051-1-juzhe.zhong@rivai.ai> From: Kito Cheng Date: Fri, 27 Jan 2023 03:13:30 +0800 Message-ID: Subject: Re: [PATCH] RISC-V: Simplify codes of changing vsetvl instruction To: juzhe.zhong@rivai.ai Cc: gcc-patches@gcc.gnu.org, palmer@dabbelt.com Content-Type: multipart/alternative; boundary="00000000000000b0c305f32f8ca3" X-Spam-Status: No, score=-8.4 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: --00000000000000b0c305f32f8ca3 Content-Type: text/plain; charset="UTF-8" committed, thanks. On Tue, Jan 3, 2023 at 3:25 PM wrote: > From: Ju-Zhe Zhong > > This patch is NFC patch. I move these code as a function since we will > reuse it in the following patch (Refine phase 3 of VSETVL PASS) > > gcc/ChangeLog: > > * config/riscv/riscv-vsetvl.cc (change_vsetvl_insn): New function. > (pass_vsetvl::compute_global_backward_infos): Simplify codes. > > --- > gcc/config/riscv/riscv-vsetvl.cc | 36 ++++++++++++++++++-------------- > 1 file changed, 20 insertions(+), 16 deletions(-) > > diff --git a/gcc/config/riscv/riscv-vsetvl.cc > b/gcc/config/riscv/riscv-vsetvl.cc > index fe76bea297e..6dbaea32b03 100644 > --- a/gcc/config/riscv/riscv-vsetvl.cc > +++ b/gcc/config/riscv/riscv-vsetvl.cc > @@ -880,6 +880,25 @@ change_insn (function_info *ssa, insn_change change, > insn_info *insn, > return true; > } > > +static void > +change_vsetvl_insn (const insn_info *insn, const vector_insn_info &info) > +{ > + rtx_insn *rinsn; > + if (vector_config_insn_p (insn->rtl ())) > + { > + rinsn = insn->rtl (); > + gcc_assert (vsetvl_insn_p (rinsn) && "Can't handle X0, rs1 vsetvli > yet"); > + } > + else > + { > + gcc_assert (has_vtype_op (insn->rtl ())); > + rinsn = PREV_INSN (insn->rtl ()); > + gcc_assert (vector_config_insn_p (rinsn)); > + } > + rtx new_pat = gen_vsetvl_pat (rinsn, info); > + change_insn (rinsn, new_pat); > +} > + > avl_info::avl_info (const avl_info &other) > { > m_value = other.get_value (); > @@ -1941,7 +1960,6 @@ pass_vsetvl::compute_global_backward_infos (void) > /* Backward propagate to each predecessor. */ > FOR_EACH_EDGE (e, ei, cfg_bb->preds) > { > - rtx new_pat; > auto &block_info > = m_vector_manager->vector_block_infos[e->src->index]; > > @@ -2011,21 +2029,7 @@ pass_vsetvl::compute_global_backward_infos (void) > be_merged = block_info.local_dem; > vector_insn_info new_info = be_merged.merge (prop, true); > > - rtx_insn *rinsn; > - if (vector_config_insn_p (new_info.get_insn ()->rtl ())) > - { > - rinsn = new_info.get_insn ()->rtl (); > - gcc_assert (vsetvl_insn_p (rinsn) > - && "Can't handle X0, rs1 vsetvli yet"); > - } > - else > - { > - gcc_assert (has_vtype_op (new_info.get_insn ()->rtl ())); > - rinsn = PREV_INSN (new_info.get_insn ()->rtl ()); > - gcc_assert (vector_config_insn_p (rinsn)); > - } > - new_pat = gen_vsetvl_pat (rinsn, new_info); > - change_insn (rinsn, new_pat); > + change_vsetvl_insn (new_info.get_insn (), new_info); > if (block_info.local_dem == block_info.reaching_out) > block_info.local_dem = new_info; > block_info.reaching_out = new_info; > -- > 2.36.3 > > --00000000000000b0c305f32f8ca3--