On Sun, Nov 25, 2012 at 11:09 PM, Jakub Jelinek <ja...@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