https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117467
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |law at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- - 32.11% (anonymous namespace)::pass_ext_dce::execute(function*) ▒ - ext_dce_execute() ▒ - 32.10% df_worklist_dataflow(dataflow*, bitmap_head*, int*, int) ▒ - 32.08% ext_dce_rd_transfer_n(int) ▒ + 14.75% ext_dce_process_uses(rtx_insn*, rtx_def*, bitmap_head*, bool) ▒ + 8.18% bitmap_ior_into(bitmap_head*, bitmap_head const*) ▒ + 4.49% ext_dce_process_sets(rtx_insn*, rtx_def*, bitmap_head*) ▒ 3.34% bitmap_copy(bitmap_head*, bitmap_head const*) ▒ 1.31% bitmap_equal_p(bitmap_head const*, bitmap_head const*) likely (unverified) also the source of 25GB memory use. The DF problem seems seriously unoptimized - it lacks a separate "local" compute step (the ext_dce_process_sets part that populates live_tmp _per insn_!).