https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91580
--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> --- OK, so /* Generate copies for out-of-chain uses of defs. */ for (df_ref ref = DF_INSN_DEFS (insn); ref; ref = DF_REF_NEXT_LOC (ref)) if (bitmap_bit_p (defs_conv, DF_REF_REGNO (ref))) { df_link *use; for (use = DF_REF_CHAIN (ref); use; use = use->next) if (DF_REF_REG_MEM_P (use->ref) || !bitmap_bit_p (insns, DF_REF_INSN_UID (use->ref))) break; if (use) convert_reg (insn, DF_REF_REG (ref), *defs_map.get (regno_reg_rtx [DF_REF_REGNO (ref)])); } also seems to visit debug uses. Learning more about DF... (and testing patch).