This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
tree-ssa memory and compile-time regressions
- From: Richard Guenther <rguenth at tat dot physik dot uni-tuebingen dot de>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 8 Jan 2004 15:53:03 +0100 (CET)
- Subject: tree-ssa memory and compile-time regressions
Hi!
I just tried todays tree-ssa branch (wanting to look at tree-sra and
tree-points-to=andersen) with POOMA and experience problems
getting my application to finish compiling at all...
Looking at the testcase (stripped down application)
http://www.tat.physik.uni-tuebingen.de/~rguenth/gcc/apressure.ii.gz
timings are (1GHz Athlon, 1G ram), all with -fno-exceptions:
-O0 220MB, 0m17s
-O1 260MB, 0m24s
-O2 800MB, 7m35s (-ftime-report on a faster machine attached below)
-O2 -fno-unit-at-a-time 260MB, 0m28s
with current HEAD I get
-O0 180MB, 0m15s
-O1 200MB, 0m19s
-O2 260MB, 0m28s
So it looks like different cgraph code on ssa branch does inlining very
differently than mainline now...
Richard.
--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/
Execution times (seconds)
garbage collection : 1.90 ( 1%) usr 0.00 ( 0%) sys 1.90 ( 1%) wall
callgraph construction: 0.12 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall
callgraph optimization: 0.60 ( 0%) usr 0.10 ( 3%) sys 0.70 ( 0%) wall
cfg construction : 0.30 ( 0%) usr 0.01 ( 0%) sys 0.32 ( 0%) wall
cfg cleanup : 0.95 ( 1%) usr 0.00 ( 0%) sys 0.95 ( 1%) wall
trivially dead code : 0.75 ( 0%) usr 0.00 ( 0%) sys 0.75 ( 0%) wall
life analysis : 3.29 ( 2%) usr 0.08 ( 2%) sys 3.37 ( 2%) wall
life info update : 2.29 ( 1%) usr 0.07 ( 2%) sys 2.36 ( 1%) wall
alias analysis : 1.04 ( 1%) usr 0.00 ( 0%) sys 1.09 ( 1%) wall
register scan : 0.43 ( 0%) usr 0.00 ( 0%) sys 0.43 ( 0%) wall
rebuild jump labels : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall
preprocessing : 0.31 ( 0%) usr 0.16 ( 5%) sys 0.47 ( 0%) wall
parser : 3.58 ( 2%) usr 0.77 (23%) sys 4.35 ( 2%) wall
name lookup : 2.27 ( 1%) usr 0.75 (22%) sys 3.04 ( 2%) wall
integration : 22.43 (12%) usr 0.19 ( 6%) sys 22.63 (12%) wall
tree gimplify : 0.47 ( 0%) usr 0.02 ( 1%) sys 0.51 ( 0%) wall
tree eh : 0.35 ( 0%) usr 0.00 ( 0%) sys 0.35 ( 0%) wall
tree CFG construction : 0.35 ( 0%) usr 0.04 ( 1%) sys 0.39 ( 0%) wall
tree CFG cleanup : 1.09 ( 1%) usr 0.00 ( 0%) sys 1.09 ( 1%) wall
tree alias analysis : 0.44 ( 0%) usr 0.00 ( 0%) sys 0.44 ( 0%) wall
tree PHI insertion : 0.34 ( 0%) usr 0.00 ( 0%) sys 0.34 ( 0%) wall
tree SSA rewrite : 0.66 ( 0%) usr 0.01 ( 0%) sys 0.67 ( 0%) wall
tree SSA other : 1.73 ( 1%) usr 0.02 ( 1%) sys 1.88 ( 1%) wall
dominator optimization: 3.99 ( 2%) usr 0.03 ( 1%) sys 4.02 ( 2%) wall
tree SRA : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall
tree CCP : 0.42 ( 0%) usr 0.00 ( 0%) sys 0.42 ( 0%) wall
tree PRE : 67.96 (38%) usr 0.62 (19%) sys 69.05 (37%) wall
tree DCE : 0.63 ( 0%) usr 0.00 ( 0%) sys 0.64 ( 0%) wall
tree SSA to normal : 4.16 ( 2%) usr 0.01 ( 0%) sys 4.17 ( 2%) wall
callgraph verifier : 7.45 ( 4%) usr 0.01 ( 0%) sys 7.46 ( 4%) wall
dominance frontiers : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall
expand : 3.89 ( 2%) usr 0.03 ( 1%) sys 4.32 ( 2%) wall
varconst : 0.17 ( 0%) usr 0.02 ( 1%) sys 0.19 ( 0%) wall
jump : 0.25 ( 0%) usr 0.01 ( 0%) sys 0.26 ( 0%) wall
CSE : 3.29 ( 2%) usr 0.00 ( 0%) sys 3.30 ( 2%) wall
global CSE : 1.03 ( 1%) usr 0.01 ( 0%) sys 1.16 ( 1%) wall
loop analysis : 16.75 ( 9%) usr 0.22 ( 7%) sys 17.03 ( 9%) wall
bypass jumps : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.14 ( 0%) wall
CSE 2 : 1.57 ( 1%) usr 0.00 ( 0%) sys 1.57 ( 1%) wall
branch prediction : 5.23 ( 3%) usr 0.00 ( 0%) sys 5.23 ( 3%) wall
flow analysis : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
combiner : 1.74 ( 1%) usr 0.00 ( 0%) sys 1.76 ( 1%) wall
if-conversion : 0.23 ( 0%) usr 0.00 ( 0%) sys 0.23 ( 0%) wall
regmove : 0.56 ( 0%) usr 0.00 ( 0%) sys 0.56 ( 0%) wall
local alloc : 5.81 ( 3%) usr 0.01 ( 0%) sys 5.82 ( 3%) wall
global alloc : 2.98 ( 2%) usr 0.09 ( 3%) sys 3.08 ( 2%) wall
reload CSE regs : 1.96 ( 1%) usr 0.01 ( 0%) sys 1.97 ( 1%) wall
flow 2 : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall
if-conversion 2 : 0.13 ( 0%) usr 0.00 ( 0%) sys 0.13 ( 0%) wall
peephole 2 : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.32 ( 0%) wall
rename registers : 0.70 ( 0%) usr 0.01 ( 0%) sys 0.72 ( 0%) wall
scheduling 2 : 0.89 ( 0%) usr 0.01 ( 0%) sys 0.92 ( 0%) wall
reorder blocks : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.18 ( 0%) wall
shorten branches : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.15 ( 0%) wall
reg stack : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall
final : 0.27 ( 0%) usr 0.02 ( 1%) sys 0.30 ( 0%) wall
rest of compilation : 0.58 ( 0%) usr 0.00 ( 0%) sys 0.59 ( 0%) wall
TOTAL : 179.57 3.34 184.63