This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] reorg.c janitor patch 2: handle DEBUG_INSN


On Sun, Nov 25, 2012 at 11:09 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Sun, Nov 25, 2012 at 12:59:48PM +0100, Steven Bosscher wrote:
>> stop_search_p will reach the default case on DEBUG_INSN, and the
>> default case is "gcc_unreachable()". I suppose this means nobody is
>> using DWARF3+ on a dbr_sched target, it can't possibly ever have
>> worked. Eric?
>
> Isn't dbr scheduling after var-tracking, which removes DEBUG_INSNs (and
> instead adds NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes)?
> So, your patch is unnecessary.

If that is true, then why are there so many post var-tracking passes
using NONDEBUG_INSN_P and/or looking for the DEBUG_INSN code? See e.g.
shorten_branches, reorg.c, various machine reorgs, etc.

For example from reorg.c:redundant_insn() in the loop "/* Scan
backwards looking for a match.  */":

151731      nemet       if (!NONDEBUG_INSN_P (trial))
    99     kenner       continue;
151731      nemet       --insns_to_search;

This was introduced to fix PR41349. Apparently DEBUG_INSN live on
beyond var-tracking...?

Ciao!
Steven


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]