On Mon, Sep 26, 2022 at 05:23:45PM -0600, Jeff Law via Gcc-patches wrote:
> 
> On 9/26/22 13:52, H.J. Lu wrote:
> > On Sat, Sep 24, 2022 at 1:37 PM Jeff Law <jeffreya...@gmail.com> wrote:
> > > 
> > > On 9/21/22 16:11, H.J. Lu wrote:
> > > > On Wed, Sep 7, 2022 at 10:03 AM Jeff Law via Gcc-patches
> > > > <gcc-patches@gcc.gnu.org> wrote:
> > > > > 
> > > > > On 9/2/2022 8:36 AM, H.J. Lu via Gcc-patches wrote:
> > > > > > CONCAT and CONCATN never appear in the insn chain.  They are only 
> > > > > > used
> > > > > > in debug insn.  Ignore debug insns with CONCAT and CONCATN for insn
> > > > > > scheduling to avoid different insn orders with and without debug 
> > > > > > insn.
> > > > > > 
> > > > > > gcc/
> > > > > > 
> > > > > >         PR rtl-optimization/106746
> > > > > >         * sched-deps.cc (sched_analyze_2): Ignore debug insns with 
> > > > > > CONCAT
> > > > > >         and CONCATN.
> > > > > Shouldn't we be ignoring everything in a debug insn?   I don't see why
> > > > > CONCAT/CONCATN are special here.
> > > > Debug insns are processed by insn scheduling.   I think it is to 
> > > > improve debug
> > > > experiences.  It is just that there are no matching usages of 
> > > > CONCAT/CONCATN
> > > > in non-debug insns.
> > > But from a dependency standpoint ISTM all debug insn can be ignored.  I
> > > still don't see why concat/concatn should be special here.
> > > 
> > I tried to ignore everything in a debug insn.  It caused many regressions in
> > the GCC testsuite.
> Not terribly useful -- what failed and why?

I think the design for debug insns in the scheduler is that they do affect
scheduling decisions, but what is in debug insns should only affect actual
scheduling of the debug insns and not the rest.
So it wouldn't surprise me if ignoring everything in a debug insn broke a
lot.  But I admit I never fully understood how it works, hopefully Alex or
Vlad do.

        Jakub

Reply via email to