> There are two kinds of changes we do on the debug insns without immediate > rescanning: > 1) reset the debug insn > 2) replace a reg use with DEBUG_EXPR of the same mode or > subreg of a larger DEBUG_EXPR with the same outer mode as the reg > > In the attached testcase on arm a debug insn is reset, because a multi-reg > register has been used there and as the debug insn location was that > multi-reg register before, it is now VOIDmode after the reset - (clobber > (const_int 0)).
That can happen only in this case, right? Otherwise, for a single register, the debug insn would have been removed from debug->head already. If so, how simpler would it be to remove the other uses in dead_debug_reset instead? -- Eric Botcazou