This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/44440] New: ira_initialization and buitins construction taking too much of startup time
- From: "hubicka at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Jun 2010 08:55:42 -0000
- Subject: [Bug middle-end/44440] New: ira_initialization and buitins construction taking too much of startup time
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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