https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116564

Alex Coplan <acoplan at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |acoplan at gcc dot gnu.org

--- Comment #1 from Alex Coplan <acoplan at gcc dot gnu.org> ---
Looks like it's spinning running some DCE right at the start of combine:

#10 0x0000000003068ab0 in mark_insn (insn=0xfffff4fd3880, fast=true) at
/home/alecop01/toolchain/src/gcc/gcc/dce.cc:227
#11 0x000000000306b034 in dce_process_block (bb=0xfffff50220c0, redo_out=false,
au=0x4774cd8, global_debug=0xffffffffea08) at
/home/alecop01/toolchain/src/gcc/gcc/dce.cc:1035
#12 0x000000000306b41c in fast_dce (word_level=false) at
/home/alecop01/toolchain/src/gcc/gcc/dce.cc:1128
#13 0x000000000306b618 in rest_of_handle_fast_dce () at
/home/alecop01/toolchain/src/gcc/gcc/dce.cc:1197
#14 0x000000000306b6d4 in run_fast_df_dce () at
/home/alecop01/toolchain/src/gcc/gcc/dce.cc:1245
#15 0x0000000001158380 in df_lr_dce_finalize (all_blocks=0x466c6c0) at
/home/alecop01/toolchain/src/gcc/gcc/df-problems.cc:1252
#16 0x0000000001151bd8 in df_analyze_problem (dflow=0x4519c00,
blocks_to_consider=0x466c6c0, postorder=0x446f9a0, n_blocks=5) at
/home/alecop01/toolchain/src/gcc/gcc/df-core.cc:1191
#17 0x0000000001151d2c in df_analyze_1 () at
/home/alecop01/toolchain/src/gcc/gcc/df-core.cc:1236
#18 0x0000000001152180 in df_analyze () at
/home/alecop01/toolchain/src/gcc/gcc/df-core.cc:1306
#19 0x00000000030479b0 in rest_of_handle_combine () at
/home/alecop01/toolchain/src/gcc/gcc/combine.cc:15127
#20 0x0000000003047ac4 in (anonymous namespace)::pass_combine::execute
(this=0x43b35a0) at /home/alecop01/toolchain/src/gcc/gcc/combine.cc:15177

the dump file shows the following:

Finding needed instructions:
  Adding insn 17 to worklist
  Adding insn 10 to worklist
  Adding insn 8 to worklist
Finished finding needed instructions:
processing block 4 lr out =  29 [x29] 31 [sp] 64 [sfp] 65 [ap]
processing block 3 lr out =  29 [x29] 31 [sp] 64 [sfp] 65 [ap] 101 104
  Adding insn 16 to worklist
  Adding insn 14 to worklist
  Adding insn 13 to worklist
processing block 2 lr out =  29 [x29] 31 [sp] 64 [sfp] 65 [ap] 101
  Adding insn 3 to worklist
DCE: Deleting insn 42
deleting insn with uid = 42.
DCE: Deleting insn 40
deleting insn with uid = 40.
DCE: Deleting insn 39
deleting insn with uid = 39.
DCE: Deleting insn 37
deleting insn with uid = 37.
df_worklist_dataflow_doublequeue: n_basic_blocks 5 n_edges 5 count 5 (    1)
Finding needed instructions:
  Adding insn 17 to worklist
  Adding insn 10 to worklist
  Adding insn 8 to worklist
Finished finding needed instructions:
processing block 4 lr out =  29 [x29] 31 [sp] 64 [sfp] 65 [ap]
processing block 3 lr out =  29 [x29] 31 [sp] 64 [sfp] 65 [ap] 101 104
  Adding insn 16 to worklist
  Adding insn 14 to worklist
  Adding insn 13 to worklist
processing block 2 lr out =  29 [x29] 31 [sp] 64 [sfp] 65 [ap] 101
  Adding insn 3 to worklist
df_worklist_dataflow_doublequeue: n_basic_blocks 5 n_edges 5 count 5 (    1)
Finding needed instructions:
  Adding insn 17 to worklist
  Adding insn 10 to worklist
  Adding insn 8 to worklist
Finished finding needed instructions:
processing block 4 lr out =  29 [x29] 31 [sp] 64 [sfp] 65 [ap]
processing block 3 lr out =  29 [x29] 31 [sp] 64 [sfp] 65 [ap] 101 104
  Adding insn 16 to worklist
  Adding insn 14 to worklist
  Adding insn 13 to worklist

and it just seems to repeat adding insns {17,10,8}, then {16,14,13}, then 3.

Reply via email to