This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/16975] Tremendous increase in compile times for 3.4.1 with -mcpu=G5
- 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: 10 Nov 2004 16:31:33 -0000
- Subject: [Bug target/16975] Tremendous increase in compile times for 3.4.1 with -mcpu=G5
- References: <20040810221624.16975.lucier@math.purdue.edu>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From lucier at math dot purdue dot edu 2004-11-10 16:31 -------
Subject: Re: Tremendous increase in compile times for 3.4.1 with -mcpu=G5
The G5 time is cut in half from 3.4.*, but the G4 time is 4 times as
long (roughly).
I don't think this is "FIXED".
Or should I just open another PR?
Brad
[descartes:gcc/mainline/objdir] lucier%
/pkgs/gcc-mainline/libexec/gcc/powerpc-apple-darwin7.6.0/4.0.0/cc1
-mcpu=G4 -I../include -Wall -W -Wno-unused -O1 -fno-math-errno
-fschedule-insns2 -fno-trapping-math -fno-strict-aliasing
-fomit-frame-pointer -fPIC -fno-common -DHAVE_CONFIG_H _num.i
___H__20___num
___init_proc
____20___num
Execution times (seconds)
cfg construction : 0.07 ( 0%) usr 0.06 ( 0%) sys 0.14 ( 0%)
wall
cfg cleanup : 1.63 ( 2%) usr 0.03 ( 0%) sys 2.23 ( 2%)
wall
trivially dead code : 0.35 ( 1%) usr 0.00 ( 0%) sys 0.56 ( 0%)
wall
life analysis : 2.29 ( 3%) usr 0.92 ( 6%) sys 4.42 ( 4%)
wall
life info update : 0.73 ( 1%) usr 0.00 ( 0%) sys 1.07 ( 1%)
wall
alias analysis : 0.25 ( 0%) usr 0.00 ( 0%) sys 0.33 ( 0%)
wall
register scan : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%)
wall
rebuild jump labels : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%)
wall
preprocessing : 1.66 ( 3%) usr 2.69 (16%) sys 6.03 ( 5%)
wall
lexical analysis : 2.76 ( 4%) usr 5.50 (34%) sys 12.20 (10%)
wall
parser : 2.27 ( 3%) usr 2.45 (15%) sys 7.22 ( 6%)
wall
tree gimplify : 0.26 ( 0%) usr 0.02 ( 0%) sys 0.39 ( 0%)
wall
tree eh : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%)
wall
tree CFG construction : 0.10 ( 0%) usr 0.03 ( 0%) sys 0.17 ( 0%)
wall
tree CFG cleanup : 0.55 ( 1%) usr 0.03 ( 0%) sys 0.80 ( 1%)
wall
tree find referenced vars: 0.05 ( 0%) usr 0.00 ( 0%) sys 0.07 (
0%) wall
tree PTA : 23.55 (36%) usr 0.18 ( 1%) sys 32.78 (28%)
wall
tree alias analysis : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%)
wall
tree PHI insertion : 0.79 ( 1%) usr 0.31 ( 2%) sys 1.46 ( 1%)
wall
tree SSA rewrite : 2.08 ( 3%) usr 0.02 ( 0%) sys 3.17 ( 3%)
wall
tree SSA other : 2.37 ( 4%) usr 0.90 ( 6%) sys 4.40 ( 4%)
wall
tree operand scan : 0.71 ( 1%) usr 1.11 ( 7%) sys 2.76 ( 2%)
wall
dominator optimization: 4.21 ( 6%) usr 0.21 ( 1%) sys 6.41 ( 5%)
wall
tree CCP : 0.25 ( 0%) usr 0.01 ( 0%) sys 0.30 ( 0%)
wall
tree split crit edges : 0.21 ( 0%) usr 0.01 ( 0%) sys 0.32 ( 0%)
wall
tree PRE : 0.62 ( 1%) usr 0.10 ( 1%) sys 1.04 ( 1%)
wall
tree linearize phis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%)
wall
tree forward propagate: 0.15 ( 0%) usr 0.01 ( 0%) sys 0.21 ( 0%)
wall
tree conservative DCE : 0.31 ( 0%) usr 0.00 ( 0%) sys 0.44 ( 0%)
wall
tree aggressive DCE : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.20 ( 0%)
wall
tree DSE : 0.26 ( 0%) usr 0.00 ( 0%) sys 0.42 ( 0%)
wall
tree record loop bounds: 0.04 ( 0%) usr 0.01 ( 0%) sys 0.06 (
0%) wall
loop invariant motion : 0.16 ( 0%) usr 0.01 ( 0%) sys 0.28 ( 0%)
wall
tree canonical iv creation: 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 (
0%) wall
tree iv optimization : 0.26 ( 0%) usr 0.03 ( 0%) sys 0.36 ( 0%)
wall
tree copy headers : 0.26 ( 0%) usr 0.13 ( 1%) sys 0.50 ( 0%)
wall
tree SSA to normal : 2.41 ( 4%) usr 0.01 ( 0%) sys 3.56 ( 3%)
wall
tree rename SSA copies: 0.05 ( 0%) usr 0.01 ( 0%) sys 0.08 ( 0%)
wall
dominance frontiers : 0.13 ( 0%) usr 0.00 ( 0%) sys 0.18 ( 0%)
wall
expand : 1.61 ( 2%) usr 0.29 ( 2%) sys 2.56 ( 2%)
wall
varconst : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%)
wall
jump : 0.13 ( 0%) usr 0.00 ( 0%) sys 0.23 ( 0%)
wall
CSE : 0.41 ( 1%) usr 0.00 ( 0%) sys 0.52 ( 0%)
wall
loop analysis : 0.34 ( 1%) usr 0.09 ( 1%) sys 0.73 ( 1%)
wall
branch prediction : 0.54 ( 1%) usr 0.06 ( 0%) sys 0.86 ( 1%)
wall
flow analysis : 0.14 ( 0%) usr 0.05 ( 0%) sys 0.28 ( 0%)
wall
combiner : 0.68 ( 1%) usr 0.05 ( 0%) sys 1.09 ( 1%)
wall
if-conversion : 0.48 ( 1%) usr 0.02 ( 0%) sys 0.71 ( 1%)
wall
local alloc : 0.43 ( 1%) usr 0.03 ( 0%) sys 0.72 ( 1%)
wall
global alloc : 3.87 ( 6%) usr 0.59 ( 4%) sys 6.37 ( 5%)
wall
reload CSE regs : 0.57 ( 1%) usr 0.08 ( 0%) sys 0.90 ( 1%)
wall
flow 2 : 0.20 ( 0%) usr 0.09 ( 1%) sys 0.43 ( 0%)
wall
if-conversion 2 : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%)
wall
rename registers : 3.12 ( 5%) usr 0.06 ( 0%) sys 4.71 ( 4%)
wall
scheduling 2 : 0.55 ( 1%) usr 0.03 ( 0%) sys 0.75 ( 1%)
wall
shorten branches : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%)
wall
final : 0.25 ( 0%) usr 0.01 ( 0%) sys 0.38 ( 0%)
wall
symout : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%)
wall
rest of compilation : 0.17 ( 0%) usr 0.05 ( 0%) sys 0.23 ( 0%)
wall
TOTAL : 66.02 16.31 116.85
[descartes:gcc/mainline/objdir] lucier%
/pkgs/gcc-mainline/libexec/gcc/powerpc-apple-darwin7.6.0/4.0.0/cc1
-mcpu=G5 -I../include -Wall -W -Wno-unused -O1 -fno-math-errno
-fschedule-insns2 -fno-trapping-math -fno-strict-aliasing
-fomit-frame-pointer -fPIC -fno-common -DHAVE_CONFIG_H _num.i
___H__20___num
___init_proc
____20___num
Execution times (seconds)
cfg construction : 0.05 ( 0%) usr 0.07 ( 0%) sys 0.23 ( 0%)
wall
cfg cleanup : 1.48 ( 2%) usr 0.01 ( 0%) sys 2.21 ( 2%)
wall
trivially dead code : 0.28 ( 0%) usr 0.01 ( 0%) sys 0.34 ( 0%)
wall
life analysis : 1.73 ( 3%) usr 0.40 ( 3%) sys 3.12 ( 3%)
wall
life info update : 0.68 ( 1%) usr 0.01 ( 0%) sys 0.99 ( 1%)
wall
alias analysis : 0.24 ( 0%) usr 0.00 ( 0%) sys 0.31 ( 0%)
wall
register scan : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.22 ( 0%)
wall
rebuild jump labels : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%)
wall
preprocessing : 1.65 ( 3%) usr 2.56 (16%) sys 6.12 ( 5%)
wall
lexical analysis : 2.63 ( 4%) usr 5.18 (33%) sys 10.67 ( 9%)
wall
parser : 2.21 ( 3%) usr 2.64 (17%) sys 7.32 ( 6%)
wall
tree gimplify : 0.25 ( 0%) usr 0.02 ( 0%) sys 0.45 ( 0%)
wall
tree eh : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%)
wall
tree CFG construction : 0.11 ( 0%) usr 0.02 ( 0%) sys 0.17 ( 0%)
wall
tree CFG cleanup : 0.52 ( 1%) usr 0.02 ( 0%) sys 0.74 ( 1%)
wall
tree find referenced vars: 0.05 ( 0%) usr 0.00 ( 0%) sys 0.08 (
0%) wall
tree PTA : 22.91 (36%) usr 0.09 ( 1%) sys 32.72 (29%)
wall
tree alias analysis : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%)
wall
tree PHI insertion : 0.76 ( 1%) usr 0.31 ( 2%) sys 1.47 ( 1%)
wall
tree SSA rewrite : 1.96 ( 3%) usr 0.01 ( 0%) sys 2.76 ( 2%)
wall
tree SSA other : 2.27 ( 4%) usr 1.07 ( 7%) sys 4.77 ( 4%)
wall
tree operand scan : 0.79 ( 1%) usr 0.99 ( 6%) sys 2.53 ( 2%)
wall
dominator optimization: 3.98 ( 6%) usr 0.22 ( 1%) sys 5.97 ( 5%)
wall
tree CCP : 0.27 ( 0%) usr 0.00 ( 0%) sys 0.35 ( 0%)
wall
tree split crit edges : 0.16 ( 0%) usr 0.02 ( 0%) sys 0.29 ( 0%)
wall
tree PRE : 0.66 ( 1%) usr 0.14 ( 1%) sys 0.96 ( 1%)
wall
tree linearize phis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%)
wall
tree forward propagate: 0.12 ( 0%) usr 0.00 ( 0%) sys 0.23 ( 0%)
wall
tree conservative DCE : 0.29 ( 0%) usr 0.00 ( 0%) sys 0.41 ( 0%)
wall
tree aggressive DCE : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%)
wall
tree DSE : 0.22 ( 0%) usr 0.00 ( 0%) sys 0.24 ( 0%)
wall
tree record loop bounds: 0.06 ( 0%) usr 0.00 ( 0%) sys 0.10 (
0%) wall
loop invariant motion : 0.20 ( 0%) usr 0.00 ( 0%) sys 0.29 ( 0%)
wall
tree canonical iv creation: 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 (
0%) wall
tree iv optimization : 0.30 ( 0%) usr 0.00 ( 0%) sys 0.41 ( 0%)
wall
tree copy headers : 0.23 ( 0%) usr 0.15 ( 1%) sys 0.60 ( 1%)
wall
tree SSA to normal : 2.31 ( 4%) usr 0.08 ( 1%) sys 3.58 ( 3%)
wall
tree rename SSA copies: 0.06 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%)
wall
dominance frontiers : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.14 ( 0%)
wall
expand : 1.66 ( 3%) usr 0.29 ( 2%) sys 2.47 ( 2%)
wall
varconst : 0.05 ( 0%) usr 0.01 ( 0%) sys 0.09 ( 0%)
wall
jump : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.21 ( 0%)
wall
CSE : 0.34 ( 1%) usr 0.02 ( 0%) sys 0.58 ( 1%)
wall
loop analysis : 0.38 ( 1%) usr 0.13 ( 1%) sys 0.74 ( 1%)
wall
branch prediction : 0.59 ( 1%) usr 0.03 ( 0%) sys 0.94 ( 1%)
wall
flow analysis : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.13 ( 0%)
wall
combiner : 0.77 ( 1%) usr 0.01 ( 0%) sys 1.02 ( 1%)
wall
if-conversion : 0.50 ( 1%) usr 0.02 ( 0%) sys 0.75 ( 1%)
wall
local alloc : 0.43 ( 1%) usr 0.01 ( 0%) sys 0.59 ( 1%)
wall
global alloc : 3.57 ( 6%) usr 0.60 ( 4%) sys 6.21 ( 5%)
wall
reload CSE regs : 0.62 ( 1%) usr 0.05 ( 0%) sys 1.13 ( 1%)
wall
flow 2 : 0.11 ( 0%) usr 0.07 ( 0%) sys 0.28 ( 0%)
wall
if-conversion 2 : 0.14 ( 0%) usr 0.03 ( 0%) sys 0.31 ( 0%)
wall
rename registers : 2.93 ( 5%) usr 0.14 ( 1%) sys 4.49 ( 4%)
wall
scheduling 2 : 0.52 ( 1%) usr 0.04 ( 0%) sys 0.92 ( 1%)
wall
shorten branches : 0.09 ( 0%) usr 0.01 ( 0%) sys 0.11 ( 0%)
wall
final : 0.23 ( 0%) usr 0.02 ( 0%) sys 0.45 ( 0%)
wall
symout : 0.01 ( 0%) usr 0.01 ( 0%) sys 0.01 ( 0%)
wall
rest of compilation : 0.18 ( 0%) usr 0.04 ( 0%) sys 0.26 ( 0%)
wall
TOTAL : 63.28 15.56 112.92
[descartes:gcc/mainline/objdir] lucier% /pkgs/gcc-mainline/bin/gcc -v
Reading specs from
/pkgs/gcc-mainline/lib/gcc/powerpc-apple-darwin7.6.0/4.0.0/specs
Configured with: ../configure --prefix=/pkgs/gcc-mainline
--enable-checking=no --enable-languages=c
Thread model: posix
gcc version 4.0.0 20041110 (experimental)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16975