[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO

hubicka at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri May 20 15:48:00 GMT 2011


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

--- Comment #94 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-05-20 15:30:38 UTC ---
Callgrinding htab_find_slot_with_hash leads to:

 2,535,276,742  < /libiberty/hashtab.c:htab_find_slot'2 (27545437x) [//lto1]
84,947,655,239  < /libiberty/hashtab.c:htab_find_slot (52919141x) [//lto1]
 7,097,218,396  *  /libiberty/hashtab.c:htab_find_slot_with_hash [//lto1]

   172,769,366  < /gcc/gimple.c:iterative_hash_gimple_type'2 (1062343x)
[//lto1]
   172,240,553  < /gcc/gimple.c:iterative_hash_canonical_type'2 (1385651x)
[//lto1]
   577,192,890  < /gcc/gimple.c:iterative_hash_gimple_type (3503598x) [//lto1]
   272,475,796  < /gcc/gimple.c:visit'2 (2487924x) [//lto1]
 5,719,882,429  < /gcc/gimple.c:gimple_type_hash (54720792x) [//lto1]
   220,431,173  < /gcc/gimple.c:iterative_hash_canonical_type (1878732x)
[//lto1]
 1,049,746,336  < /gcc/gimple.c:visit (10902158x) [//lto1]
 1,366,941,564  *  /libiberty/hashtab.c:htab_find_slot'2 [//lto1]


 1,663,235,593  < /gcc/gimple.c:gimple_register_canonical_type (1841890x)
[//lto1]
 9,524,617,674  < /gcc/lto-streamer-in.c:lto_input_location (11940149x)
[//lto1]

88,359,773,304  < /gcc/gimple.c:gimple_register_type_1 (6184225x) [//lto1]
   919,314,384  < /gcc/tree.c:build_int_cst_wide (2665535x) [//lto1]
   337,283,088  < /gcc/cgraph.c:cgraph_get_node_or_alias (2410404x) [//lto1]
 1,856,067,526  < /gcc/lto/lto.c:remember_with_vars (10704387x) [//lto1]
   265,696,672  < /gcc/lto-symtab.c:lto_symtab_register_decl (2471602x)
[//lto1]
 1,020,331,990  < /gcc/lto-symtab.c:lto_symtab_get (10402341x) [//lto1]
   952,544,538  *  /libiberty/hashtab.c:htab_find_slot [//lto1]

So gimple_type_hash (54 million), input_locaiton and remember_with_vars (with
about 10 million) seems to be major (ab)users of hashing now.

For malloc abuse, the major source is pointer_map_create (66 million calls),
and vec_heap_o_reserve_1 (23 million) and obstack_begin (22 million) that leads
to...


30,424,353,893  < /gcc/gimple.c:gimple_type_eq (18852945x) [//lto1]
 5,578,574,652  < /gcc/gimple.c:gimple_type_hash (3452343x) [//lto1]
   401,735,124  *  /gcc/pointer-set.c:pointer_map_create [//lto1]



More information about the Gcc-bugs mailing list