From patchwork Mon Jan 9 23:20:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "juzhe.zhong@rivai.ai" X-Patchwork-Id: 62870 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F1D263858028 for ; Mon, 9 Jan 2023 23:21:24 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtpbgau2.qq.com (smtpbgau2.qq.com [54.206.34.216]) by sourceware.org (Postfix) with ESMTPS id D870B3858D38 for ; Mon, 9 Jan 2023 23:21:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D870B3858D38 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp62t1673306461tci3v6yd Received: from server1.localdomain ( [58.60.1.22]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 10 Jan 2023 07:21:00 +0800 (CST) X-QQ-SSF: 01400000002000E0L000B00A0000000 X-QQ-FEAT: jXjag1m6xl4WnyoIIuOwQamEXry3t/oV9k2jTM15k2sa+JgIOSMMSrPN7Bnxm tgh1//IABH0xCCKV0pDImyX78dIPxRSs0SQr08Ts0BDdDFivFwawcf78U0L/Pmwm9LvNPFL AEzWsClgCXLk0AeLuXrT1cFyCZw5ok4xFC3zsnahMK3BYcgg1TAhLttjnWhwdwN2fTb2TIa 7kWzgW3vE/eEXSNH4Sa44e4t770vPMzrGSuMNzJfxzGmQYm5vpK2J9Q4TP4NPlSkEPHX19V aM2fu4mmhaAtzdqAPlaWr8BG/gz5b5F4VGhqMAnE+vuyXdhDWwJJ0itDJp7eP+c1Jndr2Gu TZyCzrkq+0xFBtoT/BuPHlVwDN5LlW6Zi36tlVF53rFt2R/PH01YpQ4P1a0Jpat/Wk3Ppb/ X-QQ-GoodBg: 2 From: juzhe.zhong@rivai.ai To: gcc-patches@gcc.gnu.org Cc: kito.cheng@gmail.com, palmer@dabbelt.com, Ju-Zhe Zhong Subject: [PATCH] RISC-V: Call DCE to remove redundant instructions created by the PASS Date: Tue, 10 Jan 2023 07:20:57 +0800 Message-Id: <20230109232057.156867-1-juzhe.zhong@rivai.ai> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvr:qybglogicsvr7 X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, 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: , Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" From: Ju-Zhe Zhong gcc/ChangeLog: * config/riscv/riscv-vsetvl.cc (pass_vsetvl::done): Add DCE. * config/riscv/t-riscv: Add DCE. --- gcc/config/riscv/riscv-vsetvl.cc | 2 ++ gcc/config/riscv/t-riscv | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/config/riscv/riscv-vsetvl.cc b/gcc/config/riscv/riscv-vsetvl.cc index 7d8c3a32aaa..7aa2852b456 100644 --- a/gcc/config/riscv/riscv-vsetvl.cc +++ b/gcc/config/riscv/riscv-vsetvl.cc @@ -87,6 +87,7 @@ along with GCC; see the file COPYING3. If not see #include "predict.h" #include "profile-count.h" #include "riscv-vsetvl.h" +#include "dce.h" using namespace rtl_ssa; using namespace riscv_vector; @@ -2627,6 +2628,7 @@ pass_vsetvl::done (void) cleanup_cfg (0); delete crtl->ssa; crtl->ssa = nullptr; + run_fast_dce (); } m_vector_manager->release (); delete m_vector_manager; diff --git a/gcc/config/riscv/t-riscv b/gcc/config/riscv/t-riscv index d30e0235356..c95f4aff358 100644 --- a/gcc/config/riscv/t-riscv +++ b/gcc/config/riscv/t-riscv @@ -54,7 +54,7 @@ riscv-c.o: $(srcdir)/config/riscv/riscv-c.cc $(CONFIG_H) $(SYSTEM_H) \ riscv-vsetvl.o: $(srcdir)/config/riscv/riscv-vsetvl.cc \ $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \ $(TARGET_H) tree-pass.h df.h rtl-ssa.h cfgcleanup.h insn-config.h \ - insn-attr.h insn-opinit.h tm-constrs.h cfgrtl.h cfganal.h lcm.h \ + insn-attr.h insn-opinit.h tm-constrs.h cfgrtl.h cfganal.h lcm.h dce.h \ predict.h profile-count.h $(srcdir)/config/riscv/riscv-vsetvl.h $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(srcdir)/config/riscv/riscv-vsetvl.cc