https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89975
Bug ID: 89975
Summary: Compile-time hog w/ large values of --param
uninlined-function-insns
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Keywords: compile-time-hog
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
9.0.0-alpha20190331 snapshot (r270048) takes inordinate, though finite, time to
compile gcc/testsuite/g++.dg/warn/Wzero-as-null-pointer-constant-2.C w/ -O1
--param uninlined-function-insns=200000.
perf top:
60.53% cc1plus [.] estimate_calls_size_and_time
10.24% cc1plus [.] estimate_size_after_inlining
5.80% cc1plus [.] sreal::operator/
4.95% cc1plus [.] predicate::evaluate
4.63% cc1plus [.] profile_count::to_sreal_scale
3.49% cc1plus [.] cgraph_edge::sreal_frequency
3.27% cc1plus [.] update_callee_keys
2.50% cc1plus [.] can_inline_edge_by_limits_p
1.52% cc1plus [.] sreal::operator*
0.69% cc1plus [.] sreal::operator+
0.60% cc1plus [.] cgraph_node::get_availability
0.35% cc1plus [.] want_inline_small_function_p
0.27% cc1plus [.] sreal::shift_right
0.18% cc1plus [.] cgraph_edge::maybe_hot_p
0.18% cc1plus [.] edge_badness
0.17% cc1plus [.] symtab_node::ultimate_alias_target_1
and much later:
68.20% cc1plus [.] df_live_bb_local_compute
10.12% cc1plus [.] df_live_set_all_dirty
7.83% libc-2.29.so [.] memset
7.46% cc1plus [.] bitmap_set_bit
2.07% cc1plus [.] df_live_alloc
1.51% cc1plus [.] df_rd_transfer_function
1.06% cc1plus [.] df_count_refs
0.62% cc1plus [.] bitmap_elt_clear_from
0.40% cc1plus [.] bitmap_clear
0.20% cc1plus [.] df_live_local_compute
0.15% cc1plus [.] df_reorganize_refs_by_reg
0.12% cc1plus [.] move_loop_invariants
0.10% cc1plus [.] df_worklist_dataflow
0.05% cc1plus [.] bitmap_bit_p
0.03% cc1plus [.] may_trap_p_1
0.03% cc1plus [.] et_splay
0.02% cc1plus [.] df_rd_simulate_one_insn
0.02% cc1plus [.] bitmap_copy
Is this something to expect w/ large values of --param
uninlined-function-insns?