This is the mail archive of the
mailing list for the GCC project.
Re: [patch] reorg.c janitor patch 2: handle DEBUG_INSN
On Sun, Nov 25, 2012 at 11:09 PM, Jakub Jelinek <email@example.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