public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: optimization/6798: [3.2/3.3/3.4 regression] very long compile time with large case-statement
@ 2003-03-12 14:46 Wolfgang Bangerth
0 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Bangerth @ 2003-03-12 14:46 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR optimization/6798; it has been noted by GNATS.
From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
Cc: s.bosscher@student.tudelft.nl, <gcc-gnats@gcc.gnu.org>,
<gcc-bugs@gcc.gnu.org>, <eggert@twinsun.com>
Subject: Re: optimization/6798: [3.2/3.3/3.4 regression] very long compile
time with large case-statement
Date: Wed, 12 Mar 2003 08:41:34 -0600 (CST)
> > Volker, you said you saw this on Linux? I don't see this bug on
> > i586-linux, so I hope you can confirm this so we can close this PR, or
> > else we should try to find out if this is a target-specific problem.
> >
> > Greetz
> > Steven
>
> Sorry, but that was Wolfgang and not me
Yes, I could reproduce this with mainline. I just checked again, it's fine
now on mainline, but it still takes forever on the 3.3 branch. However,
for well known reasons I can't update my 3.3 copy, which is still of
2003-03-05. Likewise, my 3.2 copy (from 2003-01-24).
So, it seems as if this is fixed on mainline. I'll change the synopsis
accordingly. Can anyone double check with the other two branches and newer
versions than mine?
Thanks
W.
-------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth@ticam.utexas.edu
www: http://www.ticam.utexas.edu/~bangerth/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: optimization/6798: [3.2/3.3/3.4 regression] very long compile time with large case-statement
@ 2003-03-12 12:16 Volker Reichelt
0 siblings, 0 replies; 5+ messages in thread
From: Volker Reichelt @ 2003-03-12 12:16 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR optimization/6798; it has been noted by GNATS.
From: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
To: s.bosscher@student.tudelft.nl, gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org,
eggert@twinsun.com
Cc: bangerth@ticam.utexas.edu
Subject: Re: optimization/6798: [3.2/3.3/3.4 regression] very long compile time
with large case-statement
Date: Wed, 12 Mar 2003 13:07:05 +0100 (CET)
On 11 Mar, Steven Bosscher wrote:
> http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6798
>
> Volker, you said you saw this on Linux? I don't see this bug on
> i586-linux,
> so I hope you can confirm this so we can close this PR, or else we
> should try
> to find out if this is a target-specific problem.
>
> Greetz
> Steven
Sorry, but that was Wolfgang and not me (I just put the code into an
attachment):
| State-Changed-From-To: feedback->open
| State-Changed-By: reichelt
| State-Changed-When: Wed Jan 15 02:18:06 2003
| State-Changed-Why:
| Attachment received.
| State-Changed-From-To: open->analyzed
| State-Changed-By: bangerth
| State-Changed-When: Wed Jan 15 08:27:38 2003
| State-Changed-Why:
| I can also reproduce this on a Linux machine. The testcase
| is basically an enormous yacc-generated switch-statement,
| with about 2000 cases and a lot of cross-jumping. I killed
| the compilation after about 10 minutes.
Regards,
Volker
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: optimization/6798: [3.2/3.3/3.4 regression] very long compile time with large case-statement
@ 2003-03-11 20:56 Steven Bosscher
0 siblings, 0 replies; 5+ messages in thread
From: Steven Bosscher @ 2003-03-11 20:56 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR optimization/6798; it has been noted by GNATS.
From: Steven Bosscher <s.bosscher@student.tudelft.nl>
To: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org,
gcc-prs@gcc.gnu.org, eggert@twinsun.com, reichelt@gcc.gnu.org
Cc:
Subject: Re: optimization/6798: [3.2/3.3/3.4 regression] very long compile
time with large case-statement
Date: Tue, 11 Mar 2003 21:47:22 +0100
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6798
Volker, you said you saw this on Linux? I don't see this bug on
i586-linux,
so I hope you can confirm this so we can close this PR, or else we
should try
to find out if this is a target-specific problem.
Greetz
Steven
# cc1 testcase.i
yyparse
Execution times (seconds)
cfg construction : 0.25 ( 5%) usr 0.08 (28%) sys 0.33 ( 6%) wall
cfg cleanup : 0.34 ( 6%) usr 0.00 ( 0%) sys 0.34 ( 6%) wall
trivially dead code : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
life analysis : 0.15 ( 3%) usr 0.00 ( 0%) sys 0.15 ( 3%) wall
life info update : 0.05 ( 1%) usr 0.00 ( 0%) sys 0.05 ( 1%) wall
register scan : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
rebuild jump labels : 0.03 ( 1%) usr 0.00 ( 0%) sys 0.03 ( 1%) wall
preprocessing : 0.04 ( 1%) usr 0.04 (14%) sys 0.08 ( 1%) wall
lexical analysis : 0.09 ( 2%) usr 0.04 (14%) sys 0.13 ( 2%) wall
parser : 0.44 ( 8%) usr 0.02 ( 7%) sys 0.46 ( 8%) wall
expand : 2.83 (51%) usr 0.02 ( 7%) sys 2.85 (49%) wall
integration : 0.04 ( 1%) usr 0.00 ( 0%) sys 0.04 ( 1%) wall
jump : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
flow analysis : 0.03 ( 1%) usr 0.01 ( 3%) sys 0.04 ( 1%) wall
local alloc : 0.06 ( 1%) usr 0.00 ( 0%) sys 0.06 ( 1%) wall
global alloc : 0.51 ( 9%) usr 0.02 ( 7%) sys 0.53 ( 9%) wall
flow 2 : 0.21 ( 4%) usr 0.05 (17%) sys 0.26 ( 4%) wall
shorten branches : 0.05 ( 1%) usr 0.00 ( 0%) sys 0.05 ( 1%) wall
final : 0.13 ( 2%) usr 0.00 ( 0%) sys 0.13 ( 2%) wall
rest of compilation : 0.18 ( 3%) usr 0.00 ( 0%) sys 0.18 ( 3%) wall
TOTAL : 5.52 0.29 5.81
# cc1 -O testcase.i
yyparse
Execution times (seconds)
cfg construction : 0.36 ( 3%) usr 0.13 (41%) sys 0.49 ( 4%) wall
cfg cleanup : 0.57 ( 5%) usr 0.00 ( 0%) sys 0.57 ( 5%) wall
trivially dead code : 0.09 ( 1%) usr 0.00 ( 0%) sys 0.09 ( 1%) wall
life analysis : 0.55 ( 5%) usr 0.00 ( 0%) sys 0.55 ( 4%) wall
life info update : 0.17 ( 1%) usr 0.00 ( 0%) sys 0.17 ( 1%) wall
alias analysis : 0.11 ( 1%) usr 0.00 ( 0%) sys 0.11 ( 1%) wall
register scan : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
rebuild jump labels : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
preprocessing : 0.12 ( 1%) usr 0.01 ( 3%) sys 0.13 ( 1%) wall
lexical analysis : 0.14 ( 1%) usr 0.05 (16%) sys 0.19 ( 2%) wall
parser : 0.33 ( 3%) usr 0.02 ( 6%) sys 0.35 ( 3%) wall
expand : 2.78 (23%) usr 0.02 ( 6%) sys 2.80 (22%) wall
integration : 0.04 ( 0%) usr 0.01 ( 3%) sys 0.05 ( 0%) wall
jump : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
CSE : 0.17 ( 1%) usr 0.00 ( 0%) sys 0.18 ( 1%) wall
loop analysis : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
branch prediction : 2.90 (24%) usr 0.02 ( 6%) sys 2.96 (23%) wall
flow analysis : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
combiner : 0.16 ( 1%) usr 0.00 ( 0%) sys 0.16 ( 1%) wall
if-conversion : 0.92 ( 8%) usr 0.00 ( 0%) sys 0.92 ( 7%) wall
local alloc : 0.07 ( 1%) usr 0.00 ( 0%) sys 0.07 ( 1%) wall
global alloc : 0.39 ( 3%) usr 0.02 ( 6%) sys 0.41 ( 3%) wall
reload CSE regs : 0.20 ( 2%) usr 0.00 ( 0%) sys 0.20 ( 2%) wall
flow 2 : 0.16 ( 1%) usr 0.02 ( 6%) sys 0.18 ( 1%) wall
if-conversion 2 : 0.47 ( 4%) usr 0.00 ( 0%) sys 0.47 ( 4%) wall
rename registers : 0.91 ( 7%) usr 0.02 ( 6%) sys 0.95 ( 8%) wall
shorten branches : 0.07 ( 1%) usr 0.00 ( 0%) sys 0.07 ( 1%) wall
final : 0.11 ( 1%) usr 0.00 ( 0%) sys 0.11 ( 1%) wall
rest of compilation : 0.20 ( 2%) usr 0.00 ( 0%) sys 0.20 ( 2%) wall
TOTAL : 12.21 0.32 12.62
# cc1 -O2 -march=i586 -v -version testcase.i
ignoring nonexistent directory "/opt/experimental/include"
ignoring nonexistent directory
"/opt/experimental/lib/gcc-lib/i586-pc-linux-gnu/3.4/include"
ignoring nonexistent directory "/opt/experimental/i586-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/include
End of search list.
GNU C version 3.4 20030311 (experimental) (i586-pc-linux-gnu)
compiled by GNU C version 2.95.3 20010315 (SuSE).
GGC heuristics: --param ggc-min-expand=42 --param ggc-min-heapsize=23891
options passed: -O2 -march=i586 -v
options enabled: -feliminate-unused-debug-types -fdefer-pop
-foptimize-sibling-calls -fcse-follow-jumps -fcse-skip-blocks
-fexpensive-optimizations -fthread-jumps -fstrength-reduce -fpeephole
-fforce-mem -ffunction-cse -fkeep-static-consts -fcaller-saves
-fpcc-struct-return -fgcse -fgcse-lm -fgcse-sm -floop-optimize
-fcrossjumping -fif-conversion -fif-conversion2 -frerun-cse-after-loop
-frerun-loop-opt -fdelete-null-pointer-checks -fschedule-insns2
-fsched-interblock -fsched-spec -fbranch-count-reg -freorder-blocks
-freorder-functions -fcprop-registers -fcommon -fgnu-linker -fregmove
-foptimize-register-move -fargument-alias -fstrict-aliasing
-fmerge-constants -fzero-initialized-in-bss -fident -fpeephole2
-fguess-branch-probability -fmath-errno -ftrapping-math -m80387
-mhard-float -mno-soft-float -mieee-fp -mfp-ret-in-387 -mtune=i586
-march=i586
yyparse
Execution times (seconds)
cfg construction : 0.45 ( 2%) usr 0.09 (17%) sys 0.54 ( 2%) wall
cfg cleanup : 0.78 ( 4%) usr 0.01 ( 2%) sys 0.79 ( 4%) wall
trivially dead code : 0.21 ( 1%) usr 0.00 ( 0%) sys 0.21 ( 1%) wall
life analysis : 0.60 ( 3%) usr 0.00 ( 0%) sys 0.60 ( 3%) wall
life info update : 0.35 ( 2%) usr 0.00 ( 0%) sys 0.35 ( 2%) wall
alias analysis : 0.31 ( 1%) usr 0.00 ( 0%) sys 0.31 ( 1%) wall
register scan : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall
rebuild jump labels : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
preprocessing : 0.04 ( 0%) usr 0.02 ( 4%) sys 0.06 ( 0%) wall
lexical analysis : 0.14 ( 1%) usr 0.04 ( 8%) sys 0.18 ( 1%) wall
parser : 0.39 ( 2%) usr 0.03 ( 6%) sys 0.42 ( 2%) wall
expand : 2.80 (13%) usr 0.05 (10%) sys 2.85 (13%) wall
integration : 0.03 ( 0%) usr 0.02 ( 4%) sys 0.05 ( 0%) wall
jump : 0.30 ( 1%) usr 0.05 (10%) sys 0.35 ( 2%) wall
CSE : 0.45 ( 2%) usr 0.00 ( 0%) sys 0.45 ( 2%) wall
global CSE : 2.44 (12%) usr 0.08 (15%) sys 2.52 (12%) wall
loop analysis : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
bypass jumps : 1.09 ( 5%) usr 0.02 ( 4%) sys 1.11 ( 5%) wall
CSE 2 : 0.15 ( 1%) usr 0.00 ( 0%) sys 0.15 ( 1%) wall
branch prediction : 2.91 (14%) usr 0.02 ( 4%) sys 2.93 (14%) wall
flow analysis : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
combiner : 0.27 ( 1%) usr 0.00 ( 0%) sys 0.27 ( 1%) wall
if-conversion : 0.96 ( 5%) usr 0.00 ( 0%) sys 0.96 ( 4%) wall
regmove : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall
local alloc : 0.11 ( 1%) usr 0.00 ( 0%) sys 0.11 ( 1%) wall
global alloc : 0.30 ( 1%) usr 0.02 ( 4%) sys 0.32 ( 1%) wall
reload CSE regs : 0.42 ( 2%) usr 0.00 ( 0%) sys 0.42 ( 2%) wall
flow 2 : 0.16 ( 1%) usr 0.02 ( 4%) sys 0.18 ( 1%) wall
if-conversion 2 : 0.55 ( 3%) usr 0.00 ( 0%) sys 0.55 ( 3%) wall
peephole 2 : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
rename registers : 0.94 ( 4%) usr 0.03 ( 6%) sys 0.97 ( 4%) wall
scheduling 2 : 2.69 (13%) usr 0.01 ( 2%) sys 2.75 (13%) wall
reorder blocks : 0.35 ( 2%) usr 0.00 ( 0%) sys 0.35 ( 2%) wall
shorten branches : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
final : 0.12 ( 1%) usr 0.00 ( 0%) sys 0.12 ( 1%) wall
rest of compilation : 0.24 ( 1%) usr 0.00 ( 0%) sys 0.24 ( 1%) wall
TOTAL : 21.03 0.52 21.60
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: optimization/6798: [3.2/3.3/3.4 regression] very long compile time with large case-statement
@ 2003-02-19 13:16 Steven Bosscher
0 siblings, 0 replies; 5+ messages in thread
From: Steven Bosscher @ 2003-02-19 13:16 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR optimization/6798; it has been noted by GNATS.
From: Steven Bosscher <s.bosscher@student.tudelft.nl>
To: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org,
gcc-prs@gcc.gnu.org, eggert@twinsum.com
Cc:
Subject: Re: optimization/6798: [3.2/3.3/3.4 regression] very long compile
time with large case-statement
Date: 19 Feb 2003 14:11:59 +0100
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6798
For all others who're bug-hunting: There's a proposed fix for this one,
see: http://gcc.gnu.org/ml/gcc-patches/2003-02/msg01502.html
which continues the thread from
http://gcc.gnu.org/ml/gcc-patches/2003-02/msg01254.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: optimization/6798: [3.2/3.3/3.4 regression] very long compile time with large case-statement
@ 2003-01-15 16:27 bangerth
0 siblings, 0 replies; 5+ messages in thread
From: bangerth @ 2003-01-15 16:27 UTC (permalink / raw)
To: eggert, gcc-bugs, gcc-prs, nobody
Old Synopsis: cc1 -O2 in semi-infinite loop on sparc
New Synopsis: [3.2/3.3/3.4 regression] very long compile time with large case-statement
State-Changed-From-To: open->analyzed
State-Changed-By: bangerth
State-Changed-When: Wed Jan 15 08:27:38 2003
State-Changed-Why:
I can also reproduce this on a Linux machine. The testcase
is basically an enormous yacc-generated switch-statement,
with about 2000 cases and a lot of cross-jumping. I killed
the compilation after about 10 minutes.
The code compiled in just 24 seconds with 2.95 even with
-O2, so this is a regression.
I attach a significantly cleaned up testcase as "testcase.i".
W.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6798
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-03-12 14:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-12 14:46 optimization/6798: [3.2/3.3/3.4 regression] very long compile time with large case-statement Wolfgang Bangerth
-- strict thread matches above, loose matches on Subject: below --
2003-03-12 12:16 Volker Reichelt
2003-03-11 20:56 Steven Bosscher
2003-02-19 13:16 Steven Bosscher
2003-01-15 16:27 bangerth
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).