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?

Reply via email to