------- Comment #7 from jakub at gcc dot gnu dot org 2010-03-22 10:12 ------- I believe e.g. DSE, postreload (reload_cse_regs_1), cfgcleanup (thread_jump) wouldn't mind guarding cselib_process_insn call with if (!DEBUG_INSN_P (insn)) cselib_process_insn (insn); On the other side, e.g. ebb scheduling would care a lot, it uses cselib for MEMs both in normal insns and in debug insns to find out if a move is possible and in case of debug insns if the DEBUG insn doesn't need to be dropped. I believe gcse (local_cprop_pass) would also care. So we have 3 passes that wouldn't care, 2 that would and one (var-tracking) that must handle DEBUG_INSNs, but where it never can't create any -fcompare-debug failures, simply because var-tracking only affects var_location notes and not code and is only run in the -g case.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42977