>> ChangeLog should reference the bug number, like this: >> PR target/109535 >> Seems like this ought to be static. Though it's not clear why >> count_occurrences didn't do what you needed. Can you explain why >> count_occurrences was insufficient for your needs?
Address comment, I will resend a patch with referencing bug PR number and adding "static". The reason why count_occurrences can not work since we want to count the regno occurrences instead of rtx occurrences. The bug issue reported by google/highway project: (set(..........) (reg:QI s0) (reg:DI s0)) The "avl" operand rtx = (reg:DI s0) count_occurrences return 1 however the actual regno occurrences should be 2. Thanks juzhe.zh...@rivai.ai From: Jeff Law Date: 2023-04-19 03:00 To: juzhe.zhong; gcc-patches CC: kito.cheng; palmer Subject: Re: [PATCH] RISC-V: Fix PR109535 On 4/17/23 20:03, juzhe.zh...@rivai.ai wrote: > From: Ju-Zhe Zhong <juzhe.zh...@rivai.ai> > > gcc/ChangeLog: > > * config/riscv/riscv-vsetvl.cc (count_regno_occurrences): New > function. > (pass_vsetvl::cleanup_insns): Fix bug. ChangeLog should reference the bug number, like this: PR target/109535 > > --- > gcc/config/riscv/riscv-vsetvl.cc | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/gcc/config/riscv/riscv-vsetvl.cc > b/gcc/config/riscv/riscv-vsetvl.cc > index 1b66e3b9eeb..43e2cf08377 100644 > --- a/gcc/config/riscv/riscv-vsetvl.cc > +++ b/gcc/config/riscv/riscv-vsetvl.cc > @@ -1592,6 +1592,19 @@ backward_propagate_worthwhile_p (const basic_block > cfg_bb, > return true; > } > > +/* Count the number of REGNO in RINSN. */ > +int > +count_regno_occurrences (rtx_insn *rinsn, unsigned int regno) Seems like this ought to be static. Though it's not clear why count_occurrences didn't do what you needed. Can you explain why count_occurrences was insufficient for your needs? Jeff