On Fri, Apr 04, 2025 at 07:51:54PM +0200, Jakub Jelinek wrote:
> On Fri, Apr 04, 2025 at 03:06:52PM +0100, Richard Sandiford wrote:
> > > 2025-04-04  Jakub Jelinek  <ja...@redhat.com>
> > >
> > >   PR rtl-optimization/119594
> > >   * cse.cc (count_reg_usage): If INCR is 0, increment by 1 counts
> > >   of encountered REGs equal to dest rather than incrementing by INCR
> > >   counts of REGs not equal to dest.
> > >   (delete_trivially_dead_insns): For kept non-DEBUG instructions
> > >   call count_reg_usage with INCR 0.
> > >
> > >   * gcc.dg/pr119594.c: New test.
> 
> This bootstrapped/regtested successfully on x86_64-linux and i686-linux.
> 
> > ...this looks ok to me as well.  The reason for suggesting DF_INSN_USES
> > was that I thought it might be faster, and since it would be ok in that
> > context to err on the side of counting, without the precision needed
> > by count_reg_usage.
> > 
> > On the PARALLEL thing: maybe at this stage it would be better to do the
> > minimum.  Not a strong opinion though.
> > 
> > So OK from my POV, but please give others time to comment.
> 
> Though, Eric's version (slightly tweaked) seems to work on the testcase fine
> as well and is cheaper.  Shall we go with that (if it passes
> bootstrap/regtest)?
> 
> 2025-04-04  Eric Botcazou <botca...@adacore.com>
>           Jakub Jelinek  <ja...@redhat.com>
> 
>       PR rtl-optimization/119594
>       * cse.cc (count_reg_usage): Count even x == dest regs if they have
>       non-zero counts already and incr is positive.
> 
>       * gcc.dg/pr119594.c: New test.

That one passed bootstrap/regtest on x86_64-linux and i686-linux
successfully as well.

        Jakub

Reply via email to