This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/26854] Inordinate compile times on large routines
- From: "lucier at math dot purdue dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 25 Mar 2006 22:22:29 -0000
- Subject: [Bug tree-optimization/26854] Inordinate compile times on large routines
- References: <bug-26854-271@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from lucier at math dot purdue dot edu 2006-03-25 22:22 -------
Subject: Re: Inordinate compile times on large routines
[lindv2:~/Desktop] lucier% /pkgs/gcc-4.0.3/bin/gcc -mcpu=970 -m64 -no-
cpp-precomp -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-
insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-
pointer -fPIC -fno-common -bundle -flat_namespace -undefined suppress
-I/usr/local/Gambit-C/include/ -ftime-report -fmem-report all.i
gcc: unrecognized option '-no-cpp-precomp'
Memory still allocated at the end of the compilation process
Size Allocated Used Overhead
8 16k 11k 480
16 52k 12k 1144
64 10M 1841k 167k
256 4096 512 56
512 12k 4608 168
1024 96k 95k 1344
2048 4096 2048 56
4096 64k 64k 896
8192 16k 16k 112
32768 288k 288k 504
131072 128k 128k 56
1048576 3072k 3072k 168
2097152 4096k 4096k 112
112 19M 16M 272k
208 6360k 4213k 86k
48 7344k 4315k 114k
32 148k 74k 2664
80 16M 1336k 232k
Total 67M 35M 881k
String pool
entries 155812
identifiers 155812 (100.00%)
slots 262144
bytes 1952k (167k overhead)
table size 2048k
coll/search 0.8640
ins/search 0.1923
avg. entry 12.83 bytes (+/- 7.87)
longest entry 67
??? tree nodes created
(No per-node statistics)
Type hash: size 1021, 551 elements, 0.816291 collisions
Execution times (seconds)
garbage collection : 2.11 ( 0%) usr 0.04 ( 0%) sys 2.71
( 0%) wall
cfg construction : 0.68 ( 0%) usr 1.22 ( 0%) sys 2.29
( 0%) wall
cfg cleanup : 94.99 ( 9%) usr 0.54 ( 0%) sys 120.62
( 7%) wall
trivially dead code : 2.87 ( 0%) usr 0.06 ( 0%) sys 3.83
( 0%) wall
life analysis : 6.78 ( 1%) usr 3.26 ( 1%) sys 12.56
( 1%) wall
life info update : 1.09 ( 0%) usr 0.01 ( 0%) sys 1.34
( 0%) wall
alias analysis : 1.89 ( 0%) usr 0.04 ( 0%) sys 2.55
( 0%) wall
register scan : 1.25 ( 0%) usr 0.02 ( 0%) sys 1.62
( 0%) wall
rebuild jump labels : 0.34 ( 0%) usr 0.01 ( 0%) sys 0.42
( 0%) wall
preprocessing : 7.70 ( 1%) usr 12.37 ( 4%) sys 25.83
( 2%) wall
lexical analysis : 13.19 ( 1%) usr 25.54 ( 9%) sys 48.16
( 3%) wall
parser : 11.06 ( 1%) usr 13.13 ( 5%) sys 30.20
( 2%) wall
tree gimplify : 1.61 ( 0%) usr 0.07 ( 0%) sys 2.14
( 0%) wall
tree eh : 0.18 ( 0%) usr 0.01 ( 0%) sys 0.21
( 0%) wall
tree CFG construction : 0.63 ( 0%) usr 0.16 ( 0%) sys 0.97
( 0%) wall
tree CFG cleanup : 2.09 ( 0%) usr 0.02 ( 0%) sys 2.62
( 0%) wall
tree find referenced vars: 0.25 ( 0%) usr 0.01 ( 0%) sys 0.37
( 0%) wall
tree PTA : 615.45 (59%) usr 155.84 (55%) sys 967.56
(58%) wall
tree alias analysis : 0.63 ( 0%) usr 0.00 ( 0%) sys 0.73
( 0%) wall
tree PHI insertion : 4.27 ( 0%) usr 5.94 ( 2%) sys 12.63
( 1%) wall
tree SSA rewrite : 3.35 ( 0%) usr 0.10 ( 0%) sys 4.61
( 0%) wall
tree SSA other : 8.35 ( 1%) usr 7.78 ( 3%) sys 19.75
( 1%) wall
tree operand scan : 5.80 ( 1%) usr 7.91 ( 3%) sys 17.53
( 1%) wall
dominator optimization: 5.62 ( 1%) usr 0.45 ( 0%) sys 7.42
( 0%) wall
tree CCP : 1.78 ( 0%) usr 0.02 ( 0%) sys 2.18
( 0%) wall
tree split crit edges : 0.30 ( 0%) usr 0.04 ( 0%) sys 0.41
( 0%) wall
tree remove redundant PHIs: 3.92 ( 0%) usr 0.14 ( 0%) sys 4.96
( 0%) wall
tree linearize phis : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03
( 0%) wall
tree forward propagate: 1.22 ( 0%) usr 0.01 ( 0%) sys 1.51
( 0%) wall
tree conservative DCE : 1.94 ( 0%) usr 0.01 ( 0%) sys 2.51
( 0%) wall
tree aggressive DCE : 0.82 ( 0%) usr 0.06 ( 0%) sys 1.05
( 0%) wall
tree DSE : 1.35 ( 0%) usr 0.05 ( 0%) sys 1.74
( 0%) wall
PHI merge : 0.11 ( 0%) usr 0.01 ( 0%) sys 0.16
( 0%) wall
tree record loop bounds: 0.29 ( 0%) usr 0.01 ( 0%) sys 0.37
( 0%) wall
loop invariant motion : 1.25 ( 0%) usr 0.02 ( 0%) sys 1.58
( 0%) wall
tree canonical iv creation: 0.26 ( 0%) usr 0.01 ( 0%) sys 0.34
( 0%) wall
tree loop init : 8.65 ( 1%) usr 2.11 ( 1%) sys 13.35
( 1%) wall
tree copy headers : 3.03 ( 0%) usr 1.35 ( 0%) sys 5.42
( 0%) wall
tree SSA to normal : 139.82 (13%) usr 1.01 ( 0%) sys 176.26
(11%) wall
tree rename SSA copies: 0.72 ( 0%) usr 0.10 ( 0%) sys 0.97
( 0%) wall
dominance frontiers : 0.76 ( 0%) usr 0.01 ( 0%) sys 0.94
( 0%) wall
expand : 5.16 ( 0%) usr 1.32 ( 0%) sys 8.31
( 0%) wall
varconst : 0.13 ( 0%) usr 0.02 ( 0%) sys 0.25
( 0%) wall
jump : 0.80 ( 0%) usr 0.03 ( 0%) sys 1.00
( 0%) wall
CSE : 2.27 ( 0%) usr 1.09 ( 0%) sys 4.26
( 0%) wall
loop analysis : 2.00 ( 0%) usr 0.15 ( 0%) sys 2.60
( 0%) wall
branch prediction : 3.36 ( 0%) usr 0.21 ( 0%) sys 4.44
( 0%) wall
flow analysis : 0.28 ( 0%) usr 0.01 ( 0%) sys 0.33
( 0%) wall
combiner : 3.82 ( 0%) usr 0.09 ( 0%) sys 4.97
( 0%) wall
if-conversion : 2.49 ( 0%) usr 0.08 ( 0%) sys 3.27
( 0%) wall
local alloc : 2.85 ( 0%) usr 0.11 ( 0%) sys 3.78
( 0%) wall
global alloc : 27.34 ( 3%) usr 23.42 ( 8%) sys 61.76
( 4%) wall
reload CSE regs : 27.92 ( 3%) usr 0.77 ( 0%) sys 36.15
( 2%) wall
flow 2 : 1.80 ( 0%) usr 2.14 ( 1%) sys 4.79
( 0%) wall
if-conversion 2 : 1.00 ( 0%) usr 0.06 ( 0%) sys 1.26
( 0%) wall
rename registers : 0.94 ( 0%) usr 0.19 ( 0%) sys 1.41
( 0%) wall
scheduling 2 : 3.49 ( 0%) usr 0.19 ( 0%) sys 4.40
( 0%) wall
shorten branches : 0.90 ( 0%) usr 0.03 ( 0%) sys 1.28
( 0%) wall
final : 1.68 ( 0%) usr 0.10 ( 0%) sys 2.08
( 0%) wall
rest of compilation : 1.52 ( 0%) usr 1.26 ( 0%) sys 3.34
( 0%) wall
TOTAL :1048.39 280.86 1665.66
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26854