https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69030
--- Comment #4 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #3) > Note, before *.ira the pseudo 93 set by the movsicc is actually used by > another insn, but that is removed early in the ira pass during > delete_trivially_dead_insns. But for some reason the if_then_else is not > removed as trivially dead, and even if it would, nothing recomputes the lr > problem (or is that live) that would adjust or reset the debug insns that > are refering the pseudos that are not live anymore. Jakub, you gave the right analysis. Thanks. We have the following code situation (see below). Although fixing delete_trivially_dead_insns will not fix the problem, as the troubled debug insn 24 from block different from one of insn 121 still will stay. I am working on the problem and hope to have a fix by Monday. BB3: 17: {r138:SI=r138:SI^r91:SI;clobber flags:CC;} REG_UNUSED flags:CC Inserting insn reload before: 145: r138:SI=r90:SI Inserting insn reload after: 146: r93:SI=r138:SI 18: debug_insn h=> 93 Creating newreg=139 from oldreg=114, assigning class AREG to r139 20: {r139:SI=udiv(r139:SI,r91:SI);r115:SI=umod(r139:SI,r91:SI);clobber flags:CC;} REG_UNUSED r115:SI REG_UNUSED flags:CC Inserting insn reload before: 147: r139:SI=r93:SI Inserting insn reload after: 148: r114:SI=r139:SI 24: debug_insn h=> ...93 BB6: Creating newreg=142 from oldreg=135, assigning class GENERAL_REGS to r142 Creating newreg=143 from oldreg=93, assigning class GENERAL_REGS to r143 Making reload reg 143 for reg 93 optional 121: r142:SI={(flags:CCZ==0)?r143:SI:r142:SI} REG_DEAD r135:SI REG_DEAD flags:CCZ REG_UNUSED r93:SI REG_EQUAL {(flags:CCZ==0)?r93:SI:0} Inserting insn reload before: 152: r142:SI=r135:SI 153: r143:SI=r93:SI --- BB6: Insn 153: point = 25 Deleting dead insn 153 r93 is removed as live at bb6 start --- BB3: Creating newreg=147 from oldreg=93, assigning class GENERAL_REGS to inheritance r147 Original reg change 93->147 (bb3): 146: r147:SI=r138:SI REG_DEAD r138:SI Add original<-inheritance after: 157: r93:SI=r147:SI Inheritance reuse change 93->147 (bb3): 18: debug h => r147:SI Inheritance reuse change 93->147 (bb3): 147: r139:SI=r147:SI REG_DEAD r147:SI Removing dead insn: 157: r93:SI=r147:SI