This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO
- From: "hubicka at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 10 Jan 2013 15:04:10 +0000
- Subject: [Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO
- Auto-submitted: auto-generated
- References: <bug-45375-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375
--- Comment #170 from Jan Hubicka <hubicka at gcc dot gnu.org> 2013-01-10 15:04:10 UTC ---
OK, here is updated memory use:
cgraph.c:863 (cgraph_allocate_init_indirect_info 5905200: 0.1% 0:
0.0% 6020160: 0.1% 0: 0.0% 298134
tree.c:1237 (build_int_cst_wide) 15554272: 0.4% 0:
0.0% 782528: 0.0% 0: 0.0% 510525
tree.c:1559 (build_string) 10685931: 0.2% 0:
0.0% 16715642: 0.4% 2193469: 1.7% 563828
stringpool.c:75 (alloc_node) 0: 0.0% 0:
0.0% 30574880: 0.7% 0: 0.0% 764372
lto/lto.c:2286 (create_subid_section_table) 1522184: 0.0% 0:
0.0% 39117064: 0.8% 8051472: 6.4% 3978
stringpool.c:58 (stringpool_ggc_alloc) 0: 0.0% 0:
0.0% 41092405: 0.9% 2954893: 2.4% 764372
gimple.c:3167 (iterative_hash_canonical_type) 45040752: 1.0% 0:
0.0% 0: 0.0% 0: 0.0% 2815047
lto/lto.c:1222 (iterative_hash_gimple_type) 68276864: 1.6% 0:
0.0% 0: 0.0% 0: 0.0% 4267304
ggc-common.c:249 (ggc_cleared_alloc_ptr_array_tw 91784: 0.0%
487289424:48.8% 71432600: 1.5% 248976: 0.2% 10974
lto/lto.c:1266 (iterative_hash_gimple_type) 75288576: 1.8% 0:
0.0% 0: 0.0% 0: 0.0% 4705536
lto-section-in.c:362 (lto_new_in_decl_state) 694320: 0.0% 0:
0.0% 94861800: 2.0% 0: 0.0% 796301
tree.c:1263 (build_int_cst_wide) 76232736: 1.8% 0:
0.0% 19358880: 0.4% 0: 0.0% 2987238
cgraph.c:794 (cgraph_create_edge_1) 0: 0.0% 0:
0.0% 125510632: 2.7% 0: 0.0% 1206833
vec.h:565 ((null)) 66034564: 1.5% 98716:
0.0% 68500548: 1.5% 3484420: 2.8% 597783
vec.h:695 ((null)) 124654648: 2.9%
122044288:12.2% 63749232: 1.4% 2614800: 2.1% 1590429
tree-streamer-in.c:562 (streamer_alloc_tree) 125829312: 2.9% 0:
0.0% 74222904: 1.6% 7072: 0.0% 2005091
lto/lto.c:267 (lto_read_in_decl_state) 1478720: 0.0% 0:
0.0% 216390688: 4.7% 38247784:30.5% 5574107
vec.h:747 ((null)) 173791988: 4.0% 19565412:
2.0% 68225644: 1.5% 2680332: 2.1% 1396070
vec.h:707 ((null)) 133872480: 3.1% 0:
0.0% 285212728: 6.1% 800360: 0.6% 1059913
cgraph.c:500 (cgraph_allocate_node) 0: 0.0% 0:
0.0% 472831880:10.2% 0: 0.0% 1597405
tree.c:1223 (build_int_cst_wide) 607138944:14.1% 0:
0.0% 10427664: 0.2% 4719336: 3.8% 315034
toplev.c:959 (realloc_for_line_map) 0: 0.0%
358037664:35.8% 1073872920:23.1% 184: 0.0% 16
tree-streamer-in.c:573 (streamer_alloc_tree) 2762184192:64.2% 0:
0.0% 1861017624:40.0% 59027616:47.1% 34649937
Total 4302007795 999178184
4651003487 125411458 68828967
source location Garbage Freed
Leak Overhead Times
-------------------------------------------------------
Actually it is a bit of improvement over my past report. Some obvious things
1) we still soak in too many trees (40%) of memory. The per-tree stats are:
decls 17310018 -1609736744
types 8983387 1509209016
exprs 2427302 80045744
constants 4079292 135393547
binfos 2005091 200038072
random kinds 5691481 227659664
and counts:
tree_list 5691475
pointer_type 2337585
record_type 3702066
function_decl 1856282
field_decl 2812564
const_decl 2739702
parm_decl 3549707
type_decl 4780459
result_decl 1144482
tree_binfo 2005091
2) new linemaps are still a disaster
3) VEC rewrite did break stats.
Honza