https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116053
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2024-07-25 Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. (insn 59 17 61 2 (set (reg:DI 1 dx [ _7+8 ]) (mem:DI (plus:DI (reg/f:DI 0 ax [108]) (const_int 8 [0x8])) [1 MEM[(__int128 *)_1]+8 S8 A64])) "/app/example.cpp":5:7 discrim 1 88 {*movdi_internal} (expr_list:REG_UNUSED (reg:DI 1 dx [ _7+8 ]) (expr_list:REG_EH_REGION (const_int 1 [0x1]) (nil)))) (note 61 59 60 3 [bb 3] NOTE_INSN_BASIC_BLOCK) (insn 60 61 53 3 (set (reg:DI 0 ax [orig:100 _7 ] [100]) (mem:DI (reg/f:DI 0 ax [108]) [1 MEM[(__int128 *)_1]+0 S8 A128])) "/app/example.cpp":5:7 discrim 1 88 {*movdi_internal} (expr_list:REG_UNUSED (reg:DI 0 ax [orig:100 _7 ] [100]) (expr_list:REG_EH_REGION (const_int 1 [0x1]) (nil)))) insn 59: replaced reg 0 with 7 rescanning insn with uid = 59. ending the processing of deferred insns df_analyze called df_worklist_dataflow_doublequeue: n_basic_blocks 7 n_edges 7 count 7 ( 1) deferring rescan insn with uid = 15. deferring deletion of insn with uid = 59. But then we don't update the basic blocks correctly ...