From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28835 invoked by alias); 27 Nov 2009 10:50:45 -0000 Received: (qmail 28777 invoked by uid 48); 27 Nov 2009 10:50:29 -0000 Date: Fri, 27 Nov 2009 10:50:00 -0000 Message-ID: <20091127105029.28776.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/38474] [Meta] slow compilation at -O0 (callgraph optimization, inline heuristics, expand ) In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" 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: 2009-11/txt/msg02322.txt.bz2 ------- Comment #41 from rguenth at gcc dot gnu dot org 2009-11-27 10:50 ------- Micha - we still spend most of the time in expand_used_vars even at -O0. Maybe you want to have a look. expand : 555.46 (92%) usr 4.88 (77%) sys 579.14 (92%) wall 310089 kB (56%) ggc integrated RA : 13.46 ( 2%) usr 0.14 ( 2%) sys 13.57 ( 2%) wall 8685 kB ( 2%) ggc reload : 14.29 ( 2%) usr 0.71 (11%) sys 15.04 ( 2%) wall 123548 kB (22%) ggc TOTAL : 605.85 6.35 631.31 552067 kB We also still peak at 2.4GB for this testcase... the detailed memory report is as follows (just the biggest pieces): Kind Nodes Bytes --------------------------------------- decls 145133 24456664 exprs 490000 28838464 random kinds 226360 9054736 --------------------------------------- Total 923230 66015565 GIMPLE statements Kind Stmts Bytes --------------------------------------- assignments 361 29112 phi nodes 1 240 conditionals 61 4880 sequences 3874 92976 everything else 78134 10240768 --------------------------------------- Total 82431 10367976 (would probably interesting to separately count calls) RTX Kind Count Bytes --------------------------------------- expr_list 1113875 26733000 insn 1106192 79645824 set 1106448 26554752 reg 829905 26556960 mem 2508095 60194280 plus 2894284 69462816 --------------------------------------- Total 10615719 311545008 DF as usual is a big memory consumer, even at -O0 ... source location Garbage Freed Leak Overhead Times emit-rtl.c:907 (gen_reg_rtx) 11781120: 2.3% 11769792:33.0% 0: 0.0% 6519744:60.7% 18 rtl.c:285 (copy_rtx) 21352344: 4.1% 0: 0.0% 0: 0.0% 0: 0.0% 889681 emit-rtl.c:425 (gen_raw_REG) 26543328: 5.1% 0: 0.0% 13600: 0.1% 0: 0.0% 829904 reload1.c:2622 (eliminate_regs_1) 26589096: 5.1% 0: 0.0% 0: 0.0% 0: 0.0% 1107879 emit-rtl.c:640 (gen_rtx_MEM) 59946576:11.5% 0: 0.0% 247704: 1.2% 0: 0.0% 2508095 emit-rtl.c:5457 (copy_insn_1) 61260256:11.8% 0: 0.0% 0: 0.0% 0: 0.0% 2608317 emit-rtl.c:3610 (make_insn_raw) 79645680:15.3% 0: 0.0% 0: 0.0% 0: 0.0% 1106190 Total 520012383 35665696 20430230 10739229 16135674 source location Garbage Freed Leak Overhead Times So most of the memory is used in the RTL parts of the compiler. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matz at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38474