https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113921
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vmakarov at gcc dot gnu.org --- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- insn 49 above is inserted in #1 0x0000000000d419db in emit_insn (x=0x7fffe6e921f8) at ../../gcc/emit-rtl.c:5106 #2 0x0000000001895ab7 in ix86_expand_move (mode=E_DImode, operands=0x7fffffffd600) at ../../gcc/config/i386/i386-expand.c:368 #3 0x0000000001de4226 in gen_movdi (operand0=0x7fffe6ec8108, operand1=0x7fffe6ec80f0) at ../../gcc/config/i386/i386.md:1935 #4 0x0000000000db804f in insn_gen_fn::operator()<rtx_def*, rtx_def*> (this=0x2c6cd48 <insn_data+242536>) at ../../gcc/recog.h:407 #5 0x0000000000d8f394 in emit_move_insn_1 (x=0x7fffe6ec8108, y=0x7fffe6ec80f0) at ../../gcc/expr.c:3766 #6 0x0000000000d8fe7a in emit_move_insn (x=0x7fffe6ec8108, y=0x7fffe6ec80f0) at ../../gcc/expr.c:3936 #7 0x00000000013b8a75 in emit_partition_copy (dest=0x7fffe6ec8108, src=0x7fffe6ec80f0, unsignedsrcp=1, sizeexp=<ssa_name 0x7fffe9cfc6c0 240>) at ../../gcc/tree-outof-ssa.c:259 #8 0x00000000013b8c5b in insert_partition_copy_on_edge (e=<edge 0x7fffe7314000 (138 -> 145)>, dest=72, src=71, locus=2147592841) at ../../gcc/tree-outof-ssa.c:293 #9 0x00000000013b9f0b in elim_create (g=0x7fffffffd8e0, T=72) at ../../gcc/tree-outof-ssa.c:729 #10 0x00000000013ba0ab in eliminate_phi (e=<edge 0x7fffe7314000 (138 -> 145)>, g=0x7fffffffd8e0) at ../../gcc/tree-outof-ssa.c:771 #11 0x00000000013baaa5 in expand_phi_nodes (sa=0x3169360 <SA>) at ../../gcc/tree-outof-ssa.c:1024 later on insert_partition_copy_on_edge will insert_insn_on_edge on the 138 -> 145 edge, but the insertion remains uncommitted. Later on the asm goto expansion copies after_rtl_seq which contains (set (reg:DI 151) (reg:DI 385)) and calls insert_insn_on_edge on it too. But insert_insn_on_edge appends to the e->insns.r rather than prepends it which presumably is what we'd want for the asm goto case.