https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113089
--- Comment #10 from Alex Coplan <acoplan at gcc dot gnu.org> --- So we have this RTL going into ldp_fusion2: 103: x16:DI=[x15:DI--] REG_INC x15:DI 104: x16:SI=zero_extend([x16:DI]) 105: x16:SI=x11:SI-x16:SI 106: x16:SI=x8:SI*x16:SI+x16:SI 1117: {x26:DI=unspec[[x10:DI-0x30]] 39;x27:DI=unspec[[x10:DI-0x30]] 40;} 1118: x27:SI=zero_extend([x27:DI]) 1119: x27:SI=x11:SI-x27:SI 1048: x20:DI=[x10:DI-0x10] REG_EQUIV [x10:DI-0x10] 1049: x20:SI=zero_extend([x20:DI]) 1050: x20:SI=x11:SI-x20:SI 1367: debug D#22 => x15:DI 1025: x15:DI=[x15:DI] and we try to fuse (103,1025): fusing pair [L=1] (103,1025), base=15, hazards: (104,103), move_range: (103,103) ldp: i103 has wb but subsequent i1025 has non-wb update of base (r15), dropping wb but we fail to update the debug insn 1367 which has a use of the def of x15 in i103 that we're deleting.