https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108463
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Note, we already distinguish between n_useless_values and n_useless_debug_values: if (had_locs && cselib_useless_value_p (v)) { if (setting_insn && DEBUG_INSN_P (setting_insn)) n_useless_debug_values++; else n_useless_values++; values_became_useless = 1; } so the important thing is find out which value created only in the -g case didn't get marked with setting_insn && DEBUG_INSN_P (setting_insn).