From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id ADE92385841A; Fri, 19 Jan 2024 10:04:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ADE92385841A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1705658641; bh=4oytYK6QrvT0zq6/K4tmtsBR5J6ZQQ7T+Mt5LIhxjz0=; h=From:To:Subject:Date:In-Reply-To:References:From; b=dAct5xxgUE4pch0EwcfYQgbc5DGa0KI6TUJ9h8EiDc5dGcCUES+L1aUif0DhXwadr pMqhN7AJpxzgFedtX+I/lVyGDjwrPau+T/583RQHQg2SQdoR9XjDblTVtz+suAcQsi 8CsB/hW9dM2fh0yuwGmhosgNxO3VU6cvP7JuNESA= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/113495] RISC-V: Time and memory awful consumption of SPEC2017 wrf benchmark Date: Fri, 19 Jan 2024 10:03:59 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: compile-time-hog, memory-hog X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D113495 --- Comment #24 from GCC Commits --- The master branch has been updated by Robin Dapp : https://gcc.gnu.org/g:01260a823073675e13dd1fc85cf2657a5396adf2 commit r14-8282-g01260a823073675e13dd1fc85cf2657a5396adf2 Author: Juzhe-Zhong Date: Fri Jan 19 16:34:25 2024 +0800 RISC-V: Fix RVV_VLMAX This patch fixes memory hog found in SPEC2017 wrf benchmark which cause= d by RVV_VLMAX since RVV_VLMAX generate brand new rtx by gen_rtx_REG (Pmode, X0_REGNUM) every time we call RVV_VLMAX, that is, we are always generating garbage= and redundant (reg:DI 0 zero) rtx. After this patch fix, the memory hog is gone. Time variable usr sys=20=20= =20=20=20=20=20=20=20 wall GGC machine dep reorg : 1.99 ( 9%) 0.35 ( 56%) 2.3= 3 ( 10%) 939M ( 80%) [Before this patch] machine dep reorg : 1.71 ( 6%) 0.16 ( 27%) 3.7= 7 (=20 6%) 659k ( 0%) [After this patch] Time variable usr sys=20=20= =20=20=20=20=20=20=20 wall GGC machine dep reorg : 75.93 ( 18%) 14.23 ( 88%) 90.1= 5 ( 21%) 33383M ( 95%) [Before this patch] machine dep reorg : 56.00 ( 14%) 7.92 ( 77%) 63.9= 3 ( 15%) 4361k ( 0%) [After this patch] Test is running. Ok for trunk if I passed the test with no regresion ? PR target/113495 gcc/ChangeLog: * config/riscv/riscv-protos.h (RVV_VLMAX): Change to regno_reg_rtx[X0_REGNUM]. (RVV_VUNDEF): Ditto. * config/riscv/riscv-vsetvl.cc: Add timevar.=