This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/44440] New: ira_initialization and buitins construction taking too much of startup time


Hi,
oprofiling compilation of empty file I get:
48319    59.8126  no-vmlinux               /no-vmlinux
3057      3.7842  ld-2.11.1.so             do_lookup_x
2935      3.6331  libc-2.11.1.so           memset
2921      3.6158  ld-2.11.1.so             _dl_relocate_object
1589      1.9670  as                       /usr/bin/as
1270      1.5721  ld-2.11.1.so             _dl_lookup_symbol_x
953       1.1797  cc1                      ggc_alloc_stat
671       0.8306  libc-2.11.1.so           _int_malloc
610       0.7551  ld-2.11.1.so             strcmp
595       0.7365  cc1                      ira_init
594       0.7353  libc-2.11.1.so           strlen
493       0.6103  cc1                      add_builtin_function_common.147729
491       0.6078  cc1                      decl_attributes
483       0.5979  libc-2.11.1.so           memcpy
452       0.5595  libc-2.11.1.so           strcmp
446       0.5521  cc1                      init_reg_sets_1.190433
400       0.4951  cc1                      pop_scope

It is a lot of dynamic linking. Porifling cc1 binary only it is:
953       8.2525  ggc_alloc_stat
595       5.1524  ira_init
493       4.2691  add_builtin_function_common.147729
491       4.2518  decl_attributes
446       3.8621  init_reg_sets_1.190433
400       3.4638  pop_scope
387       3.3512  ix86_hard_regno_mode_ok
362       3.1347  c_write_global_declarations_1.9246.5242
357       3.0914  do_multiply.182320
328       2.8403  do_add.182279
302       2.6152  rtx_cost
293       2.5372  make_node_stat
258       2.2342  ix86_memory_move_cost.386116.7474
256       2.2168  do_divide.182325
255       2.2082  ht_lookup_with_hash
236       2.0436  ix86_rtx_costs.386572.6577
231       2.0003  bind.9267
223       1.9311  normalize.182203
212       1.8358  iterative_hash
194       1.6799  recog
176       1.5241  htab_find_with_hash
168       1.4548  tree_code_size
167       1.4461  def_builtin_1.17388.constprop.16.4002
132       1.1431  copy_node_stat
125       1.0824  is_attribute_with_length_p._part.7.371469
94        0.8140  debug_nothing_tree
90        0.7794  main
88        0.7620  build_int_cst_wide
80        0.6928  c_builtin_function

I guess especially ira initialization can be esially done lazilly on demand
like we I for regclass some time ago? The may_move_*_costs can be computed when
needed for given mode first time.
Note that this is LTO build, so ira_init gets cross module inlining of
functions called once into it.

Honza


-- 
           Summary: ira_initialization and buitins construction taking too
                    much of startup time
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hubicka at gcc dot gnu dot org
  GCC host triplet: x86_64-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44440


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]