public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: optimization/10196: [3.3/3.4 regression] Compile time regression with inlining
@ 2003-03-24 13:46 Richard Guenther
0 siblings, 0 replies; 9+ messages in thread
From: Richard Guenther @ 2003-03-24 13:46 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR optimization/10196; it has been noted by GNATS.
From: Richard Guenther <rguenth@tat.physik.uni-tuebingen.de>
To: mmitchel@gcc.gnu.org, <gcc-bugs@gcc.gnu.org>, <gcc-prs@gcc.gnu.org>,
<nobody@gcc.gnu.org>, <rguenth@tat.physik.uni-tuebingen.de>,
<gcc-gnats@gcc.gnu.org>
Cc:
Subject: Re: optimization/10196: [3.3/3.4 regression] Compile time regression
with inlining
Date: Mon, 24 Mar 2003 14:41:05 +0100 (CET)
Corrected URL for the testcase is
http://www.tat.physik.uni-tuebingen.de/~rguenth/DynamicLayout2.cmpl.ii.gz
with g++-3.3 (GCC) 3.3 20030318 (prerelease) time report gives:
Execution times (seconds)
garbage collection : 10.45 ( 0%) usr 0.26 ( 1%) sys 13.75 ( 0%)
wall
cfg construction : 5.49 ( 0%) usr 0.12 ( 0%) sys 6.81 ( 0%)
wall
cfg cleanup : 15.82 ( 1%) usr 0.12 ( 0%) sys 20.12 ( 1%)
wall
trivially dead code : 2.08 ( 0%) usr 0.07 ( 0%) sys 3.38 ( 0%)
wall
life analysis : 1.45 ( 0%) usr 6.43 (23%) sys 11.50 ( 0%)
wall
life info update : 0.68 ( 0%) usr 2.49 ( 9%) sys 3.56 ( 0%)
wall
preprocessing : 0.31 ( 0%) usr 0.14 ( 0%) sys 6.38 ( 0%)
wall
lexical analysis : 0.20 ( 0%) usr 0.07 ( 0%) sys 0.19 ( 0%)
wall
parser : 2.26 ( 0%) usr 0.26 ( 1%) sys 3.19 ( 0%)
wall
name lookup : 1.19 ( 0%) usr 0.35 ( 1%) sys 1.75 ( 0%)
wall
expand :2148.17 (96%) usr 13.00 (46%) sys2628.00 (94%)
wall
varconst : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%)
wall
integration : 0.68 ( 0%) usr 0.02 ( 0%) sys 1.06 ( 0%)
wall
jump : 20.45 ( 1%) usr 0.69 ( 2%) sys 25.69 ( 1%)
wall
CSE : 4.46 ( 0%) usr 0.38 ( 1%) sys 6.62 ( 0%)
wall
global CSE : 3.48 ( 0%) usr 0.70 ( 2%) sys 6.25 ( 0%)
wall
loop analysis : 4.81 ( 0%) usr 1.49 ( 5%) sys 8.06 ( 0%)
wall
CSE 2 : 1.25 ( 0%) usr 0.10 ( 0%) sys 1.94 ( 0%)
wall
branch prediction : 0.78 ( 0%) usr 0.10 ( 0%) sys 1.31 ( 0%)
wall
flow analysis : 0.79 ( 0%) usr 0.11 ( 0%) sys 1.38 ( 0%)
wall
combiner : 0.75 ( 0%) usr 0.13 ( 0%) sys 1.31 ( 0%)
wall
if-conversion : 0.39 ( 0%) usr 0.01 ( 0%) sys 0.50 ( 0%)
wall
regmove : 0.35 ( 0%) usr 0.02 ( 0%) sys 0.56 ( 0%)
wall
mode switching : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%)
wall
local alloc : 1.94 ( 0%) usr 0.58 ( 2%) sys 3.62 ( 0%)
wall
global alloc : 2.19 ( 0%) usr 0.16 ( 1%) sys 2.81 ( 0%)
wall
reload CSE regs : 2.15 ( 0%) usr 0.19 ( 1%) sys 3.12 ( 0%)
wall
flow 2 : 0.68 ( 0%) usr 0.07 ( 0%) sys 1.06 ( 0%)
wall
if-conversion 2 : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%)
wall
peephole 2 : 0.14 ( 0%) usr 0.01 ( 0%) sys 0.25 ( 0%)
wall
rename registers : 0.33 ( 0%) usr 0.01 ( 0%) sys 0.31 ( 0%)
wall
scheduling 2 : 1.28 ( 0%) usr 0.10 ( 0%) sys 2.06 ( 0%)
wall
reorder blocks : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%)
wall
shorten branches : 0.44 ( 0%) usr 0.02 ( 0%) sys 0.75 ( 0%)
wall
final : 0.50 ( 0%) usr 0.01 ( 0%) sys 0.88 ( 0%)
wall
symout : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%)
wall
rest of compilation : 8.54 ( 0%) usr 0.11 ( 0%) sys 17.62 ( 1%)
wall
TOTAL :2244.76 28.32 2786.25
with (after fix of related PR c++/7086) time report gives:
Execution times (seconds)
garbage collection : 10.39 ( 7%) usr 0.35 ( 1%) sys 12.69 ( 6%)
wall
cfg construction : 5.62 ( 4%) usr 0.15 ( 1%) sys 8.69 ( 4%)
wall
cfg cleanup : 16.23 (11%) usr 0.25 ( 1%) sys 18.94 ( 8%)
wall
trivially dead code : 2.17 ( 1%) usr 0.11 ( 0%) sys 3.06 ( 1%)
wall
life analysis : 1.54 ( 1%) usr 6.60 (22%) sys 9.50 ( 4%)
wall
life info update : 0.80 ( 1%) usr 2.54 ( 8%) sys 4.12 ( 2%)
wall
preprocessing : 0.21 ( 0%) usr 0.08 ( 0%) sys 1.75 ( 1%)
wall
lexical analysis : 0.21 ( 0%) usr 0.07 ( 0%) sys 0.44 ( 0%)
wall
parser : 2.33 ( 2%) usr 0.32 ( 1%) sys 2.94 ( 1%)
wall
name lookup : 1.21 ( 1%) usr 0.38 ( 1%) sys 1.50 ( 1%)
wall
expand : 50.55 (34%) usr 12.93 (43%) sys 80.06 (35%)
wall
varconst : 0.06 ( 0%) usr 0.01 ( 0%) sys 0.25 ( 0%)
wall
integration : 0.66 ( 0%) usr 0.03 ( 0%) sys 0.88 ( 0%)
wall
jump : 20.92 (14%) usr 1.32 ( 4%) sys 30.06 (13%)
wall
CSE : 4.49 ( 3%) usr 0.38 ( 1%) sys 5.69 ( 2%)
wall
global CSE : 3.60 ( 2%) usr 0.72 ( 2%) sys 5.38 ( 2%)
wall
loop analysis : 4.62 ( 3%) usr 1.71 ( 6%) sys 9.31 ( 4%)
wall
CSE 2 : 1.40 ( 1%) usr 0.14 ( 0%) sys 1.62 ( 1%)
wall
branch prediction : 0.95 ( 1%) usr 0.00 ( 0%) sys 0.94 ( 0%)
wall
flow analysis : 0.89 ( 1%) usr 0.10 ( 0%) sys 1.06 ( 0%)
wall
combiner : 0.81 ( 1%) usr 0.15 ( 1%) sys 1.25 ( 1%)
wall
if-conversion : 0.42 ( 0%) usr 0.01 ( 0%) sys 0.69 ( 0%)
wall
regmove : 0.38 ( 0%) usr 0.02 ( 0%) sys 0.56 ( 0%)
wall
mode switching : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%)
wall
local alloc : 2.13 ( 1%) usr 0.60 ( 2%) sys 4.38 ( 2%)
wall
global alloc : 2.23 ( 1%) usr 0.23 ( 1%) sys 3.31 ( 1%)
wall
reload CSE regs : 2.30 ( 2%) usr 0.20 ( 1%) sys 2.88 ( 1%)
wall
flow 2 : 0.63 ( 0%) usr 0.11 ( 0%) sys 0.94 ( 0%)
wall
if-conversion 2 : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%)
wall
peephole 2 : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%)
wall
rename registers : 0.29 ( 0%) usr 0.02 ( 0%) sys 0.25 ( 0%)
wall
scheduling 2 : 1.30 ( 1%) usr 0.13 ( 0%) sys 1.94 ( 1%)
wall
reorder blocks : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%)
wall
shorten branches : 0.42 ( 0%) usr 0.04 ( 0%) sys 0.62 ( 0%)
wall
final : 0.52 ( 0%) usr 0.02 ( 0%) sys 0.56 ( 0%)
wall
symout : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%)
wall
rest of compilation : 8.59 ( 6%) usr 0.20 ( 1%) sys 11.62 ( 5%)
wall
TOTAL : 149.26 29.92 228.50
which is a lot better than before, but still
compared to g++-3.2 (GCC) 3.2.3 20030313 (prerelease) numbers:
Execution times (seconds)
cfg construction : 0.14 ( 1%) usr 0.02 ( 3%) sys 0.44 ( 2%)
wall
cfg cleanup : 0.19 ( 2%) usr 0.00 ( 0%) sys 0.38 ( 1%)
wall
life analysis : 0.31 ( 3%) usr 0.05 ( 7%) sys 0.62 ( 2%)
wall
life info update : 0.05 ( 0%) usr 0.02 ( 3%) sys 0.19 ( 1%)
wall
preprocessing : 0.28 ( 3%) usr 0.11 (16%) sys 4.88 (19%)
wall
lexical analysis : 0.24 ( 2%) usr 0.06 ( 9%) sys 0.56 ( 2%)
wall
parser : 2.42 (24%) usr 0.20 (30%) sys 3.88 (15%)
wall
expand : 0.96 ( 9%) usr 0.04 ( 6%) sys 1.94 ( 8%)
wall
varconst : 0.12 ( 1%) usr 0.00 ( 0%) sys 0.31 ( 1%)
wall
integration : 0.27 ( 3%) usr 0.04 ( 6%) sys 0.56 ( 2%)
wall
jump : 0.14 ( 1%) usr 0.00 ( 0%) sys 0.25 ( 1%)
wall
CSE : 2.25 (22%) usr 0.02 ( 3%) sys 4.50 (18%)
wall
global CSE : 0.17 ( 2%) usr 0.01 ( 1%) sys 0.62 ( 2%)
wall
loop analysis : 0.14 ( 1%) usr 0.01 ( 1%) sys 0.38 ( 1%)
wall
CSE 2 : 0.73 ( 7%) usr 0.00 ( 0%) sys 1.12 ( 4%)
wall
flow analysis : 0.08 ( 1%) usr 0.00 ( 0%) sys 0.25 ( 1%)
wall
combiner : 0.14 ( 1%) usr 0.01 ( 1%) sys 0.38 ( 1%)
wall
if-conversion : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 1%)
wall
regmove : 0.09 ( 1%) usr 0.00 ( 0%) sys 0.12 ( 0%)
wall
mode switching : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 1%)
wall
local alloc : 0.21 ( 2%) usr 0.00 ( 0%) sys 0.31 ( 1%)
wall
global alloc : 0.25 ( 2%) usr 0.00 ( 0%) sys 0.50 ( 2%)
wall
reload CSE regs : 0.14 ( 1%) usr 0.01 ( 1%) sys 0.31 ( 1%)
wall
flow 2 : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 1%)
wall
if-conversion 2 : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%)
wall
peephole 2 : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.25 ( 1%)
wall
rename registers : 0.07 ( 1%) usr 0.00 ( 0%) sys 0.12 ( 0%)
wall
scheduling 2 : 0.26 ( 3%) usr 0.02 ( 3%) sys 0.75 ( 3%)
wall
reorder blocks : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%)
wall
shorten branches : 0.02 ( 0%) usr 0.01 ( 1%) sys 0.06 ( 0%)
wall
final : 0.05 ( 0%) usr 0.03 ( 4%) sys 0.31 ( 1%)
wall
rest of compilation : 0.24 ( 2%) usr 0.00 ( 0%) sys 0.50 ( 2%)
wall
TOTAL : 10.16 0.67 25.44
this is a regression by a factor of more than 10x.
Richard.
--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: optimization/10196: [3.3/3.4 regression] Compile time regression with inlining
@ 2003-04-23 15:46 mmitchel
0 siblings, 0 replies; 9+ messages in thread
From: mmitchel @ 2003-04-23 15:46 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, nobody, rguenth
Synopsis: [3.3/3.4 regression] Compile time regression with inlining
State-Changed-From-To: analyzed->closed
State-Changed-By: mmitchel
State-Changed-When: Wed Apr 23 15:46:04 2003
State-Changed-Why:
By request of submitter.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10196
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: optimization/10196: [3.3/3.4 regression] Compile time regression with inlining
@ 2003-04-08 14:46 Richard Guenther
0 siblings, 0 replies; 9+ messages in thread
From: Richard Guenther @ 2003-04-08 14:46 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR optimization/10196; it has been noted by GNATS.
From: Richard Guenther <rguenth@tat.physik.uni-tuebingen.de>
To: gcc-gnats@gcc.gnu.org
Cc: gcc-bugs@gcc.gnu.org, <nobody@gcc.gnu.org>
Subject: Re: optimization/10196: [3.3/3.4 regression] Compile time regression
with inlining
Date: Tue, 8 Apr 2003 16:42:16 +0200 (CEST)
Got some profiles from g++ (GCC) 3.3 20030408 (prerelease) for the
testcases (with and without exception handling enabled) at
http://www.tat.physik.uni-tuebingen.de/~rguenth/DynamicLayout.cmpl.ii.ex.prof.gz
for the testcase at
http://www.tat.physik.uni-tuebingen.de/~rguenth/DynamicLayout2.cmpl.ii.gz
compiled with -O2
and
http://www.tat.physik.uni-tuebingen.de/~rguenth/DynamicLayout.cmpl.ii.noex.prof.gz
for the testcase at
http://www.tat.physik.uni-tuebingen.de/~rguenth/DynamicLayout.cmpl.ii.noex.gz
compiled with -O2 -fno-exceptions
The top of the (flat) profiles is for the -fno-exceptions case:
% cumulative self self total
time seconds seconds calls ms/call ms/call name
5.82 0.80 0.80 766758 0.00 0.00 walk_tree
2.62 1.16 0.36 2894249 0.00 0.00
htab_find_slot_with_hash
2.25 1.47 0.31 1 310.00 13483.20 yyparse
1.75 1.71 0.24 3031555 0.00 0.00 ggc_alloc
1.45 1.91 0.20 4068886 0.00 0.00 statement_code_p
1.45 2.11 0.20 460662 0.00 0.00
splay_tree_splay_helper
1.31 2.29 0.18 1667085 0.00 0.00 timevar_push
1.31 2.47 0.18 486047 0.00 0.00 for_each_rtx
1.24 2.64 0.17 2731899 0.00 0.00 htab_find_slot
1.24 2.81 0.17 102119 0.00 0.00 cse_insn
1.24 2.98 0.17 68502 0.00 0.00
gt_ggc_mx_lang_tree_node
1.09 3.13 0.15 3334173 0.00 0.00 get_time
and for the -fexceptions case:
% cumulative self self total
time seconds seconds calls ms/call ms/call name
6.92 11.24 11.24 1531056 0.01 0.02 walk_tree
6.61 21.97 10.73 1048564 0.01 0.01
flow_delete_block_noexpunge
4.72 29.63 7.66 3413593 0.00 0.00 emit_insn
2.97 34.46 4.83 1767371 0.00 0.00
gt_ggc_mx_lang_tree_node
2.66 38.78 4.32 17457 0.25 0.25 clear_table
2.63 43.05 4.27 20409582 0.00 0.00 copy_node
2.56 47.21 4.16 1582 2.63 2.71 init_alias_analysis
2.39 51.10 3.89 42221301 0.00 0.00 ggc_alloc
1.98 54.32 3.22 86395200 0.00 0.00 statement_code_p
1.95 57.48 3.16 52652842 0.00 0.00 ggc_set_mark
1.83 60.46 2.98 3539665 0.00 0.00 gt_ggc_mx_rtx_def
1.70 63.22 2.76 23360833 0.00 0.00 copy_tree_r
But I dont really know where to look for (remember, -fno-default-inline
sort of "fixes" the problem, too).
Richard.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: optimization/10196: [3.3/3.4 regression] Compile time regression with inlining
@ 2003-04-08 11:06 Richard Guenther
0 siblings, 0 replies; 9+ messages in thread
From: Richard Guenther @ 2003-04-08 11:06 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR optimization/10196; it has been noted by GNATS.
From: Richard Guenther <rguenth@tat.physik.uni-tuebingen.de>
To: gcc-gnats@gcc.gnu.org
Cc: gcc-bugs@gcc.gnu.org, <nobody@gcc.gnu.org>, <gcc-prs@gcc.gnu.org>
Subject: Re: optimization/10196: [3.3/3.4 regression] Compile time regression
with inlining
Date: Tue, 8 Apr 2003 12:59:06 +0200 (CEST)
The problem seems to come from changes in exception handling between
3.2 and 3.3. If I specify -fno-exceptions the compile time regression
between 3.2 and 3.3 reduces to 8.6s vs. 10s total time, without
-fno-exceptions it is 10s vs. 146s (otherwise just -O2). The same
testcase compiled with -fno-exceptions (libstdc++ stuff differs and
is incompatible) can be fetched at
http://www.tat.physik.uni-tuebingen.de/~rguenth/DynamicLayout.cmpl.ii.noex.gz
I'm now trying to collect profiles for both cases
Richard.
--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: optimization/10196: [3.3/3.4 regression] Compile time regression with inlining
@ 2003-04-08 11:06 Steven Bosscher
0 siblings, 0 replies; 9+ messages in thread
From: Steven Bosscher @ 2003-04-08 11:06 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR optimization/10196; it has been noted by GNATS.
From: Steven Bosscher <s.bosscher@student.tudelft.nl>
To: gcc-gnats@gcc.gnu.org, rguenth@tat.physik.uni-tuebingen.de,
gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org
Cc:
Subject: Re: optimization/10196: [3.3/3.4 regression] Compile time regression
with inlining
Date: Tue, 08 Apr 2003 13:00:42 +0200
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10196
Got some profiles, for "-O --param max-inline-insns-single=x",
x in {240,250,260}.
The full profiles are available from:
http://home.wanadoo.nl/btp91/steven/profiles.tar.bz2.
Executive summary:
------------------------------------------------
The top 10 for max-inline-insns-single=240:
time:
real 1m21.409s
user 1m20.710s
sys 0m0.660s
gprof:
% cumulative self self total
time seconds seconds calls s/call s/call name
5.43 2.42 2.42 527899 0.00 0.00
gt_ggc_mx_lang_tree_node
4.35 4.36 1.94 762927 0.00 0.00 walk_tree
4.33 6.29 1.93 10370445 0.00 0.00 ggc_set_mark
2.40 7.36 1.07 3284297 0.00 0.00 ggc_alloc
1.95 8.23 0.87 1 0.87 43.61 yyparse
1.86 9.06 0.83 10460230 0.00 0.00
lookup_page_table_entry
1.60 9.78 0.71 2693396 0.00 0.00
htab_find_slot_with_hash
0.99 10.21 0.44 3815525 0.00 0.00 statement_code_p
0.99 10.65 0.44 111463 0.00 0.00 expand_expr
0.98 11.09 0.43 899968 0.00 0.00 mark_set_1
------------------------------------------------
The top 10 for max-inline-insns-single=250:
time:
real 3m5.870s
user 3m0.640s
sys 0m2.760s
gprof:
% cumulative self self total
time seconds seconds calls s/call s/call name
6.43 6.25 6.25 850195 0.00 0.00 walk_tree
4.51 10.63 4.38 20367606 0.00 0.00 ggc_set_mark
3.66 14.19 3.56 910685 0.00 0.00
gt_ggc_mx_lang_tree_node
3.54 17.62 3.44 9619559 0.00 0.00 ggc_alloc
2.13 19.70 2.07 5552 0.00 0.00 clear_table
1.77 21.41 1.72 551862 0.00 0.00 expand_expr
1.44 22.82 1.40 20596804 0.00 0.00
lookup_page_table_entry
1.39 24.16 1.35 4365065 0.00 0.00 copy_tree_r
1.30 25.43 1.26 17159394 0.00 0.00 statement_code_p
1.11 26.51 1.08 1 1.08 95.00 yyparse
------------------------------------------------
time:
real 4m13.678s
user 4m7.730s
sys 0m3.950s
gprof:
% cumulative self self total
time seconds seconds calls s/call s/call name
7.41 9.78 9.78 908467 0.00 0.00 walk_tree
5.23 16.68 6.90 33130600 0.00 0.00 ggc_set_mark
4.88 23.11 6.43 1471687 0.00 0.00
gt_ggc_mx_lang_tree_node
3.58 27.84 4.72 13858583 0.00 0.00 ggc_alloc
1.90 30.34 2.51 848895 0.00 0.00 expand_expr
1.85 32.78 2.44 33495021 0.00 0.00
lookup_page_table_entry
1.52 34.79 2.01 26161128 0.00 0.00 statement_code_p
1.52 36.79 2.00 6833957 0.00 0.00 copy_tree_r
1.39 38.63 1.84 6733 0.00 0.00 clear_table
1.15 40.15 1.51 15862209 0.00 0.00 add_insn
------------------------------------------------
Hope this helps somewhat :-/
Greetz
Steven
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: optimization/10196: [3.3/3.4 regression] Compile time regression with inlining
@ 2003-04-08 9:56 Steven Bosscher
0 siblings, 0 replies; 9+ messages in thread
From: Steven Bosscher @ 2003-04-08 9:56 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR optimization/10196; it has been noted by GNATS.
From: Steven Bosscher <s.bosscher@student.tudelft.nl>
To: gcc-gnats@gcc.gnu.org, rguenth@tat.physik.uni-tuebingen.de,
gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-prs@gcc.gnu.org
Cc:
Subject: Re: optimization/10196: [3.3/3.4 regression] Compile time regression
with inlining
Date: Tue, 08 Apr 2003 11:51:21 +0200
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10196
I have tried to compile the test case with a profiling 3.3 (mainline
rejects the code). It didn't quite work...
The profiling information makes it all even slower, and it hogs up
so much memory that the compiler just dies. My profiling compiler
dies after 15 minutes or so. The final announcement is:
int GridPartition<Dim>::partition(const D&,
std::vector<Node<Interval<Dim>, Interval<Dim> >*,
std::allocator<Node<Interval<Dim>, Interval<Dim> >*> >&, const
ContextMapper<Dim>&) const [with D = Interval<1>, int Dim = 1] GC
{197832k -> 53003k}Killed
(box is i586-pc-linux-gnu with 192MB RAM, and >300MB swap)
I don't know what exactly to make of this, but obviously eating so
much memory is *not* good. Also, the biggest contributions to the
compile time apart from expand are cfg-cleanup and jump, so
apparently expand fills memory with lots of garbage left to be
cleaned up by cfg-cleanup and jump. Which is not really news, of
course.
Greetz
Steven
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: optimization/10196: [3.3/3.4 regression] Compile time regression with inlining
@ 2003-04-07 15:06 Steven Bosscher
0 siblings, 0 replies; 9+ messages in thread
From: Steven Bosscher @ 2003-04-07 15:06 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR optimization/10196; it has been noted by GNATS.
From: Steven Bosscher <s.bosscher@student.tudelft.nl>
To: gcc-gnats@gcc.gnu.org, rguenth@tat.physik.uni-tuebingen.de,
gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-prs@gcc.gnu.org
Cc:
Subject: Re: optimization/10196: [3.3/3.4 regression] Compile time regression
with inlining
Date: Mon, 07 Apr 2003 17:00:43 +0200
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10196
I wanted to profile the testcase but with today's CVS it does not
compile for me at all:
In file included from
/home/rguenth/ix86/gcc3.3/include/c++/3.3/bits/codecvt.h:334,
from
/home/rguenth/ix86/gcc3.3/include/c++/3.3/bits/locale_facets.h:528,
from
/home/rguenth/ix86/gcc3.3/include/c++/3.3/bits/basic_ios.h:44,
from /home/rguenth/ix86/gcc3.3/include/c++/3.3/ios:51,
from /home/rguenth/ix86/gcc3.3/include/c++/3.3/ostream:45,
from /home/rguenth/ix86/gcc3.3/include/c++/3.3/iterator:70,
from
/net/bellatrix/home/rguenth/src/pooma-work/r2/src/Domain/DomainIterator.h:51,
from
/net/bellatrix/home/rguenth/src/pooma-work/r2/src/Domain/DomainBase.h:63,
from
/net/bellatrix/home/rguenth/src/pooma-work/r2/src/Domain/Domain.h:65,
from
/net/bellatrix/home/rguenth/src/pooma-work/r2/src/Domain/Interval.h:59,
from
/net/bellatrix/home/rguenth/src/pooma-work/r2/src/Layout/INode.h:52,
from
/net/bellatrix/home/rguenth/src/pooma-work/r2/src/Layout/LayoutBase.h:56,
from
/net/bellatrix/home/rguenth/src/pooma-work/r2/src/Layout/DynamicLayout.h:60,
from
/net/bellatrix/home/rguenth/src/pooma-work/r2/src/Layout/DynamicLayout.cmpl.cpp:35:
/home/rguenth/ix86/gcc3.3/include/c++/3.3/i686-pc-linux-gnu/bits/codecvt_specializations.h:
In
member function `virtual std::codecvt_base::result
std::codecvt<_InternT,
_ExternT, std::__enc_traits>::do_out(std::__enc_traits&, const
_InternT*,
const _InternT*, const _InternT*&, _ExternT*, _ExternT*, _ExternT*&)
const':
/home/rguenth/ix86/gcc3.3/include/c++/3.3/i686-pc-linux-gnu/bits/codecvt_specializations.h:263:
error: `
error' has not been declared
/home/rguenth/ix86/gcc3.3/include/c++/3.3/i686-pc-linux-gnu/bits/codecvt_specializations.h:307:
error: `
ok' has not been declared
/home/rguenth/ix86/gcc3.3/include/c++/3.3/i686-pc-linux-gnu/bits/codecvt_specializations.h:315:
error: `
partial' has not been declared
/home/rguenth/ix86/gcc3.3/include/c++/3.3/i686-pc-linux-gnu/bits/codecvt_specializations.h:318:
error: `
error' has not been declared
Etc...
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: optimization/10196: [3.3/3.4 regression] Compile time regression with inlining
@ 2003-03-24 18:26 mmitchel
0 siblings, 0 replies; 9+ messages in thread
From: mmitchel @ 2003-03-24 18:26 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, nobody, rguenth
Synopsis: [3.3/3.4 regression] Compile time regression with inlining
State-Changed-From-To: feedback->analyzed
State-Changed-By: mmitchel
State-Changed-When: Mon Mar 24 18:07:14 2003
State-Changed-Why:
New URL provided.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10196
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: optimization/10196: [3.3/3.4 regression] Compile time regression with inlining
@ 2003-03-24 8:36 mmitchel
0 siblings, 0 replies; 9+ messages in thread
From: mmitchel @ 2003-03-24 8:36 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, nobody, rguenth
Synopsis: [3.3/3.4 regression] Compile time regression with inlining
State-Changed-From-To: open->feedback
State-Changed-By: mmitchel
State-Changed-When: Mon Mar 24 08:32:45 2003
State-Changed-Why:
The URL giving preprocessed source does not work.
Please verify that the problem still occurs after my recent patch for PR 7086 and then reopen the PR, with a correct preprocessed source URL if so.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10196
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2003-04-23 15:46 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-24 13:46 optimization/10196: [3.3/3.4 regression] Compile time regression with inlining Richard Guenther
-- strict thread matches above, loose matches on Subject: below --
2003-04-23 15:46 mmitchel
2003-04-08 14:46 Richard Guenther
2003-04-08 11:06 Steven Bosscher
2003-04-08 11:06 Richard Guenther
2003-04-08 9:56 Steven Bosscher
2003-04-07 15:06 Steven Bosscher
2003-03-24 18:26 mmitchel
2003-03-24 8:36 mmitchel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).