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 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-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-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 12:16 optimization/6798: [3.2/3.3/3.4 regression] very long compile time with large case-statement Volker Reichelt
  -- strict thread matches above, loose matches on Subject: below --
2003-03-12 14:46 Wolfgang Bangerth
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).