This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow
- From: "amylaar at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Jun 2004 13:08:36 -0000
- Subject: [Bug regression/16266] New: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is very slow
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
gcc 3.5 takes some 33 times as long to compile gcc.dg/c99-intconst-1.c as gcc
3.4 does. Although we have checking enabled, I think a factor of 33 is
excessive. The test sometimes times out depending on the load of the machine.
bash-2.05$ time /swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/cc1 -v -iprefix
/swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.4.1/ -isystem
/swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/include -DSTACK_SIZE=16384 -isystem
/swbuild/nightly/3.4-2004-06-28/sh-elf/sh-elf/./newlib/targ-include -isystem
/swbuild/nightly/3.4-2004-06-28/srcw/newlib/libc/include
/swbuild/nightly/3.4-2004-06-28/srcw/gcc/testsuite/gcc.dg/c99-intconst-1.c
-dumpbase c99-intconst-1.c -auxbase-strip c99-intconst-1.s -pedantic-errors
-std=iso9899:1999 -version -o c99-intconst-1.s
ignoring nonexistent directory
"/swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.4.1/include"
ignoring nonexistent directory
"/swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.4.1/../../../../sh-elf/sys-include"
ignoring nonexistent directory
"/swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.4.1/../../../../sh-elf/include"
ignoring nonexistent directory "/usr/local/lib/gcc/sh-elf/3.4.1/include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/sys-include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/include"
#include "..." search starts here:
#include <...> search starts here:
/swbuild/nightly/3.4-2004-06-28/sh-elf/gcc/include
/swbuild/nightly/3.4-2004-06-28/sh-elf/sh-elf/./newlib/targ-include
/swbuild/nightly/3.4-2004-06-28/srcw/newlib/libc/include
End of search list.
GNU C version 3.4.1 20040628 (prerelease) (sh-elf)
compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.1 2.96-98).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
options passed: -v -iprefix -isystem -DSTACK_SIZE=16384 -isystem -isystem
-auxbase-strip -pedantic-errors -std=iso9899:1999
options enabled: -feliminate-unused-debug-types -fpeephole -ffunction-cse
-fkeep-static-consts -freg-struct-return -fgcse-lm -fgcse-sm -fgcse-las
-fsched-interblock -fsched-spec -fsched-stalled-insns
-fsched-stalled-insns-dep -fbranch-count-reg -fcommon -fargument-alias
-fzero-initialized-in-bss -fident -fmath-errno -ftrapping-math -m1
foo
Execution times (seconds)
cfg construction : 0.06 ( 1%) usr 0.01 ( 1%) sys 0.07 ( 1%) wall
cfg cleanup : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
trivially dead code : 0.04 ( 1%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
life analysis : 0.13 ( 2%) usr 0.00 ( 0%) sys 0.14 ( 2%) wall
life info update : 0.07 ( 1%) usr 0.00 ( 0%) sys 0.07 ( 1%) wall
register scan : 0.05 ( 1%) usr 0.00 ( 0%) sys 0.06 ( 1%) wall
rebuild jump labels : 0.05 ( 1%) usr 0.00 ( 0%) sys 0.04 ( 1%) wall
preprocessing : 0.92 (13%) usr 0.21 (24%) sys 1.07 (14%) wall
lexical analysis : 0.86 (12%) usr 0.33 (37%) sys 1.15 (15%) wall
parser : 1.83 (27%) usr 0.26 (30%) sys 2.17 (28%) wall
expand : 0.41 ( 6%) usr 0.01 ( 1%) sys 0.43 ( 6%) wall
jump : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
flow analysis : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
local alloc : 0.82 (12%) usr 0.01 ( 1%) sys 0.83 (11%) wall
global alloc : 0.56 ( 8%) usr 0.02 ( 2%) sys 0.58 ( 7%) wall
flow 2 : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
machine dep reorg : 0.16 ( 2%) usr 0.01 ( 1%) sys 0.18 ( 2%) wall
shorten branches : 0.16 ( 2%) usr 0.00 ( 0%) sys 0.16 ( 2%) wall
final : 0.23 ( 3%) usr 0.01 ( 1%) sys 0.24 ( 3%) wall
rest of compilation : 0.44 ( 6%) usr 0.00 ( 0%) sys 0.43 ( 6%) wall
TOTAL : 6.88 0.88 7.75
real 0m7.775s
user 0m6.880s
sys 0m0.900s
bash-2.05$ time /swbuild/nightly/2004-06-28/sh-elf/gcc/cc1 -v -iprefix /swbuild
/nightly/2004-06-28/sh-elf/gcc/../lib/gcc/sh-elf/3.5.0/ -isystem /swbuild/nightl
y/2004-06-28/sh-elf/gcc/include -DSTACK_SIZE=16384 -isystem /swbuild/nightly/200
4-06-28/sh-elf/sh-elf/./newlib/targ-include -isystem /swbuild/nightly/2004-06-28
/srcw/newlib/libc/include /swbuild/nightly/2004-06-28/srcw/gcc/testsuite/gcc.dg/
c99-intconst-1.c -dumpbase c99-intconst-1.c -auxbase-strip c99-intconst-1.s -pe
dantic-errors -std=iso9899:1999 -version -o c99-intconst-1.s
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/include"
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/../../../../sh-elf/sys-include"
ignoring nonexistent directory "/swbuild/nightly/2004-06-28/sh-elf/gcc/../lib/gc
c/sh-elf/3.5.0/../../../../sh-elf/include"
ignoring nonexistent directory "/usr/local/lib/gcc/sh-elf/3.5.0/include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/sys-include"
ignoring nonexistent directory "/usr/local/lib/../sh-elf/include"
#include "..." search starts here:
#include <...> search starts here:
/swbuild/nightly/2004-06-28/sh-elf/gcc/include
/swbuild/nightly/2004-06-28/sh-elf/sh-elf/./newlib/targ-include
/swbuild/nightly/2004-06-28/srcw/newlib/libc/include
End of search list.
GNU C version 3.5.0 20040628 (experimental) (sh-elf)
compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.1 2.96-98).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
options passed: -v -iprefix -isystem -DSTACK_SIZE=16384 -isystem -isystem
-auxbase-strip -pedantic-errors -std=iso9899:1999
options enabled: -falign-loops -fargument-alias -fbranch-count-reg
-fcommon -feliminate-unused-debug-types -ffunction-cse -fgcse-las
-fgcse-lm -fgcse-sm -fident -fkeep-static-consts -fleading-underscore
-floop-optimize2 -fmath-errno -fpeephole -freg-struct-return
-fsched-interblock -fsched-spec -fsched-stalled-insns-dep -fvar-tracking
-fweb -fzero-initialized-in-bss -m1
foo
{GC 75894k -> 35085k} {GC 56742k -> 45092k}
Execution times (seconds)
garbage collection : 0.91 ( 0%) usr 0.02 ( 1%) sys 0.94 ( 0%) wall
CFG verifier : 0.61 ( 0%) usr 0.01 ( 1%) sys 0.59 ( 0%) wall
trivially dead code : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall
life analysis : 0.34 ( 0%) usr 0.00 ( 0%) sys 0.34 ( 0%) wall
life info update : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall
register scan : 0.15 ( 0%) usr 0.01 ( 1%) sys 0.16 ( 0%) wall
rebuild jump labels : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
preprocessing : 1.07 ( 0%) usr 0.16 ( 9%) sys 1.27 ( 0%) wall
lexical analysis : 0.86 ( 0%) usr 0.30 (16%) sys 1.30 ( 1%) wall
parser : 2.55 ( 1%) usr 0.23 (13%) sys 2.59 ( 1%) wall
tree gimplify : 0.37 ( 0%) usr 0.01 ( 1%) sys 0.37 ( 0%) wall
tree eh : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
tree CFG construction : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
tree STMT verifier : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
expand : 111.13 (44%) usr 0.04 ( 2%) sys 111.31 (44%) wall
jump : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall
flow analysis : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
local alloc : 2.60 ( 1%) usr 0.06 ( 3%) sys 2.65 ( 1%) wall
global alloc : 128.69 (51%) usr 0.74 (40%) sys 129.52 (51%) wall
flow 2 : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall
machine dep reorg : 1.02 ( 0%) usr 0.00 ( 0%) sys 1.02 ( 0%) wall
shorten branches : 0.50 ( 0%) usr 0.01 ( 1%) sys 0.51 ( 0%) wall
final : 0.69 ( 0%) usr 0.22 (12%) sys 0.94 ( 0%) wall
symout : 0.00 ( 0%) usr 0.01 ( 1%) sys 0.00 ( 0%) wall
rest of compilation : 0.85 ( 0%) usr 0.01 ( 1%) sys 0.85 ( 0%) wall
TOTAL : 252.87 1.83 254.94
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.
real 4m15.094s
user 4m12.870s
sys 0m1.860s
bash-2.05$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 6
model name : AMD Athlon(tm) MP Processor 1600+
stepping : 2
cpu MHz : 1400.044
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 2791.83
processor : 1
vendor_id : AuthenticAMD
cpu family : 6
model : 6
model name : AMD Athlon(tm) Processor
stepping : 2
cpu MHz : 1400.044
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 2798.38
--
Summary: 3.5 regression: gcc.dg/c99-intconst-1.c compilation is
very slow
Product: gcc
Version: 3.5.0
Status: UNCONFIRMED
Keywords: compile-time-hog
Severity: normal
Priority: P2
Component: regression
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: amylaar at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: sh-unknown-elf
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16266