Committed to gcc-13, thanks Juzhe and Kito.

Pan

From: juzhe.zh...@rivai.ai <juzhe.zh...@rivai.ai>
Sent: Friday, July 7, 2023 5:07 PM
To: kito.cheng <kito.ch...@gmail.com>
Cc: Li Xu <xu...@eswincomputing.com>; gcc-patches <gcc-patches@gcc.gnu.org>; 
palmer <pal...@dabbelt.com>; zhengyu <zhen...@eswincomputing.com>; Li, Pan2 
<pan2...@intel.com>
Subject: Re: Re: [PATCH] RISCV: Fix local_eliminate_vsetvl_insn bug in VSETVL 
PASS[PR110560]

CCing Li Pan to backport this patch.

Thanks.

________________________________
juzhe.zh...@rivai.ai<mailto:juzhe.zh...@rivai.ai>

From: Kito Cheng<mailto:kito.ch...@gmail.com>
Date: 2023-07-07 17:04
To: juzhe.zh...@rivai.ai<mailto:juzhe.zh...@rivai.ai>
CC: Li Xu<mailto:xu...@eswincomputing.com>; 
gcc-patches<mailto:gcc-patches@gcc.gnu.org>; palmer<mailto:pal...@dabbelt.com>; 
zhengyu<mailto:zhen...@eswincomputing.com>
Subject: Re: [PATCH] RISCV: Fix local_eliminate_vsetvl_insn bug in VSETVL 
PASS[PR110560]
LGTM

On Fri, Jul 7, 2023 at 4:26 PM juzhe.zh...@rivai.ai<mailto:juzhe.zh...@rivai.ai>
<juzhe.zh...@rivai.ai<mailto:juzhe.zh...@rivai.ai>> wrote:
>
> LGTM. Thanks.
>
>
>
> juzhe.zh...@rivai.ai<mailto:juzhe.zh...@rivai.ai>
>
> From: Li Xu
> Date: 2023-07-07 16:22
> To: gcc-patches
> CC: kito.cheng; palmer; juzhe.zhong; zhengyu; Li Xu
> Subject: [PATCH] RISCV: Fix local_eliminate_vsetvl_insn bug in VSETVL 
> PASS[PR110560]
> This patch fixes this issue happens on GCC-13.
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110560
>
> This patch should be backported to GCC-13.
> GCC-14 has rewritten this function, so there is no issue.
>
> PR target/110560
>
> gcc/ChangeLog:
>
>         * config/riscv/riscv-vsetvl.cc (local_eliminate_vsetvl_insn): Fix bug.
> ---
> gcc/config/riscv/riscv-vsetvl.cc | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/gcc/config/riscv/riscv-vsetvl.cc 
> b/gcc/config/riscv/riscv-vsetvl.cc
> index 35403b5679c..3355ca4e3fb 100644
> --- a/gcc/config/riscv/riscv-vsetvl.cc
> +++ b/gcc/config/riscv/riscv-vsetvl.cc
> @@ -1078,6 +1078,10 @@ local_eliminate_vsetvl_insn (const vector_insn_info 
> &dem)
>   if (has_vtype_op (i->rtl ()))
>     {
> +       if (!PREV_INSN (i->rtl ()))
> + return;
> +       if (!NONJUMP_INSN_P (PREV_INSN (i->rtl ())))
> + return;
>       if (!vsetvl_discard_result_insn_p (PREV_INSN (i->rtl ())))
> return;
>       rtx avl = get_avl (i->rtl ());
> --
> 2.17.1
>
>

Reply via email to