On Wed, Feb 16, 2022 at 04:44:58AM -0600, Segher Boessenkool wrote:
> > --- gcc/combine.cc.jj       2022-02-11 13:51:56.294928090 +0100
> > +++ gcc/combine.cc  2022-02-15 14:15:41.663012950 +0100
> > @@ -4223,10 +4223,12 @@ try_combine (rtx_insn *i3, rtx_insn *i2,
> >       for (rtx_insn *insn = NEXT_INSN (i3);
> >            !done
> >            && insn
> > -          && NONDEBUG_INSN_P (insn)
> > +          && INSN_P (insn)
> >            && BLOCK_FOR_INSN (insn) == this_basic_block;
> >            insn = NEXT_INSN (insn))
> >         {
> > +         if (DEBUG_INSN_P (insn))
> > +           continue;
> >           struct insn_link *link;
> >           FOR_EACH_LOG_LINK (link, insn)
> >             if (link->insn == i3 && link->regno == regno)
> 
> About half of the similar loops in combine.c are still broken this way,
> from a quick sampling :-(

Looking for just NONDEBUG_INSN_P, I don't see any other than this.

> Okay for trunk and all backports you may want.  Thanks!

Thanks.

        Jakub

Reply via email to