From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13588 invoked by alias); 20 May 2011 15:46:39 -0000 Received: (qmail 13579 invoked by uid 22791); 20 May 2011 15:46:38 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 20 May 2011 15:46:22 +0000 From: "hubicka at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: lto X-Bugzilla-Keywords: meta-bug X-Bugzilla-Severity: normal X-Bugzilla-Who: hubicka at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Fri, 20 May 2011 15:48:00 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2011-05/txt/msg01748.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375 --- Comment #94 from Jan Hubicka 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]