This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Memory requirement regressions
- From: Steven Bosscher <stevenb at suse dot de>
- To: Richard Guenther <rguenth at tat dot physik dot uni-tuebingen dot de>,gcc at gcc dot gnu dot org
- Date: Wed, 7 Jul 2004 19:31:25 +0200
- Subject: Re: Memory requirement regressions
- Organization: SUSE Labs
- References: <40EC1B35.80900@tat.physik.uni-tuebingen.de>
On Wednesday 07 July 2004 17:48, Richard Guenther wrote:
> The automated POOMA/tramp3d tester at
> http://www.tat.physik.uni-tuebingen.de/~rguenth/gcc/monitor-summary.html
> now tracks the maximum used virtual memory of cc1plus of mainline, too.
> As a first "hint", today it revealed that mainline needs about 1GB of
> ram compared to 3.4.1 which needs only 625MB. This is on ia64 for the
> tramp3d-v3.cpp testcase at -O2 -funroll-loops -ffast-math with the
> leafify patch included.
I get the attached timings and memory used on i686 (with memory use
"measured" with 'top') on a machine with 3GB RAM, gcc configured with
* --disable-{nls,libmudflap,checking} --enable-languages=c,c++
* your leafify patch applied
* command line:
./libexec/gcc/i686-pc-linux-gnu/3.5.0/cc1plus \
-iprefix /abuild/stevenb/lib/gcc/i686-pc-linux-gnu/3.5.0/ -D_GNU_SOURCE \
tramp3d-v3.cpp -dumpbase tramp3d-v3.cpp -mtune=pentium3 \
-auxbase tramp3d-v3 -version -o /tmp/cccsWqOw.s $FLAGS
Where $FLAGS is the flags indicated before the time report...
I did not use -quiet, I wanted to see how much memory we collect. Not
a surprise that it doesn't collect often, and when it does, it collects
lots, e.g. numbers like {GC 445994k -> 236931k} are not unusual.
We consume a lot more time in 'integration' than I expected...
Gr.
Steven
-O3: max mem 498MB
Execution times (seconds)
garbage collection : 12.90 ( 6%) usr 0.00 ( 0%) sys 12.89 ( 6%) wall
callgraph construction: 0.80 ( 0%) usr 0.01 ( 0%) sys 0.81 ( 0%) wall
callgraph optimization: 0.99 ( 0%) usr 0.01 ( 0%) sys 1.01 ( 0%) wall
cfg construction : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall
cfg cleanup : 1.96 ( 1%) usr 0.02 ( 0%) sys 1.91 ( 1%) wall
trivially dead code : 1.68 ( 1%) usr 0.01 ( 0%) sys 1.83 ( 1%) wall
life analysis : 4.17 ( 2%) usr 0.01 ( 0%) sys 4.14 ( 2%) wall
life info update : 2.48 ( 1%) usr 0.00 ( 0%) sys 2.54 ( 1%) wall
alias analysis : 2.17 ( 1%) usr 0.02 ( 0%) sys 2.39 ( 1%) wall
register scan : 1.21 ( 1%) usr 0.00 ( 0%) sys 1.09 ( 1%) wall
rebuild jump labels : 0.39 ( 0%) usr 0.01 ( 0%) sys 0.42 ( 0%) wall
preprocessing : 0.47 ( 0%) usr 0.39 ( 4%) sys 0.87 ( 0%) wall
parser : 10.96 ( 5%) usr 2.22 (24%) sys 18.94 ( 9%) wall
name lookup : 4.06 ( 2%) usr 3.09 (33%) sys 6.96 ( 3%) wall
integration : 35.33 (17%) usr 0.15 ( 2%) sys 35.54 (16%) wall
tree gimplify : 1.67 ( 1%) usr 0.04 ( 0%) sys 1.96 ( 1%) wall
tree eh : 2.47 ( 1%) usr 0.03 ( 0%) sys 2.50 ( 1%) wall
tree CFG construction : 1.81 ( 1%) usr 0.07 ( 1%) sys 1.90 ( 1%) wall
tree CFG cleanup : 2.84 ( 1%) usr 0.01 ( 0%) sys 3.22 ( 1%) wall
tree PTA : 0.51 ( 0%) usr 0.02 ( 0%) sys 0.46 ( 0%) wall
tree alias analysis : 0.95 ( 0%) usr 0.01 ( 0%) sys 0.90 ( 0%) wall
tree PHI insertion : 2.17 ( 1%) usr 0.05 ( 1%) sys 2.16 ( 1%) wall
tree SSA rewrite : 3.85 ( 2%) usr 0.03 ( 0%) sys 3.74 ( 2%) wall
tree SSA other : 6.46 ( 3%) usr 0.58 ( 6%) sys 7.31 ( 3%) wall
tree operand scan : 3.63 ( 2%) usr 1.03 (11%) sys 4.58 ( 2%) wall
dominator optimization: 15.10 ( 7%) usr 0.39 ( 4%) sys 15.50 ( 7%) wall
tree SRA : 0.54 ( 0%) usr 0.01 ( 0%) sys 0.53 ( 0%) wall
tree CCP : 1.25 ( 1%) usr 0.01 ( 0%) sys 1.37 ( 1%) wall
tree split crit edges : 0.22 ( 0%) usr 0.02 ( 0%) sys 0.25 ( 0%) wall
tree PRE : 5.71 ( 3%) usr 0.02 ( 0%) sys 5.80 ( 3%) wall
tree linearize phis : 0.01 ( 0%) usr 0.01 ( 0%) sys 0.02 ( 0%) wall
tree forward propagate: 1.30 ( 1%) usr 0.00 ( 0%) sys 1.42 ( 1%) wall
tree conservative DCE : 2.16 ( 1%) usr 0.02 ( 0%) sys 2.20 ( 1%) wall
tree aggressive DCE : 0.93 ( 0%) usr 0.02 ( 0%) sys 0.76 ( 0%) wall
tree DSE : 1.80 ( 1%) usr 0.01 ( 0%) sys 1.93 ( 1%) wall
tree copy headers : 0.72 ( 0%) usr 0.03 ( 0%) sys 0.65 ( 0%) wall
tree SSA to normal : 2.63 ( 1%) usr 0.01 ( 0%) sys 2.55 ( 1%) wall
tree NRV optimization : 0.00 ( 0%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall
tree rename SSA copies: 1.70 ( 1%) usr 0.01 ( 0%) sys 1.45 ( 1%) wall
dominance frontiers : 0.24 ( 0%) usr 0.00 ( 0%) sys 0.38 ( 0%) wall
control dependences : 0.07 ( 0%) usr 0.01 ( 0%) sys 0.15 ( 0%) wall
expand : 15.50 ( 8%) usr 0.09 ( 1%) sys 15.44 ( 7%) wall
varconst : 0.44 ( 0%) usr 0.08 ( 1%) sys 0.61 ( 0%) wall
jump : 0.63 ( 0%) usr 0.01 ( 0%) sys 0.50 ( 0%) wall
CSE : 6.73 ( 3%) usr 0.01 ( 0%) sys 6.49 ( 3%) wall
global CSE : 5.86 ( 3%) usr 0.07 ( 1%) sys 6.12 ( 3%) wall
loop analysis : 1.63 ( 1%) usr 0.06 ( 1%) sys 1.80 ( 1%) wall
bypass jumps : 0.81 ( 0%) usr 0.00 ( 0%) sys 0.76 ( 0%) wall
web : 0.83 ( 0%) usr 0.00 ( 0%) sys 0.89 ( 0%) wall
CSE 2 : 2.62 ( 1%) usr 0.00 ( 0%) sys 2.67 ( 1%) wall
branch prediction : 2.23 ( 1%) usr 0.01 ( 0%) sys 2.13 ( 1%) wall
flow analysis : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
combiner : 2.37 ( 1%) usr 0.01 ( 0%) sys 2.52 ( 1%) wall
if-conversion : 0.60 ( 0%) usr 0.00 ( 0%) sys 0.58 ( 0%) wall
regmove : 0.86 ( 0%) usr 0.00 ( 0%) sys 0.79 ( 0%) wall
mode switching : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
local alloc : 2.03 ( 1%) usr 0.01 ( 0%) sys 1.86 ( 1%) wall
global alloc : 6.30 ( 3%) usr 0.06 ( 1%) sys 6.37 ( 3%) wall
reload CSE regs : 2.49 ( 1%) usr 0.00 ( 0%) sys 2.59 ( 1%) wall
flow 2 : 0.39 ( 0%) usr 0.03 ( 0%) sys 0.33 ( 0%) wall
if-conversion 2 : 0.40 ( 0%) usr 0.00 ( 0%) sys 0.33 ( 0%) wall
peephole 2 : 0.52 ( 0%) usr 0.00 ( 0%) sys 0.54 ( 0%) wall
rename registers : 0.81 ( 0%) usr 0.02 ( 0%) sys 0.66 ( 0%) wall
scheduling 2 : 3.65 ( 2%) usr 0.01 ( 0%) sys 3.75 ( 2%) wall
machine dep reorg : 0.87 ( 0%) usr 0.00 ( 0%) sys 0.64 ( 0%) wall
reorder blocks : 0.44 ( 0%) usr 0.01 ( 0%) sys 0.38 ( 0%) wall
shorten branches : 0.58 ( 0%) usr 0.03 ( 0%) sys 0.76 ( 0%) wall
reg stack : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall
final : 1.18 ( 1%) usr 0.23 ( 2%) sys 1.56 ( 1%) wall
symout : 0.02 ( 0%) usr 0.02 ( 0%) sys 0.04 ( 0%) wall
rest of compilation : 1.25 ( 1%) usr 0.04 ( 0%) sys 1.34 ( 1%) wall
TOTAL : 202.67 9.23 217.81
-O2: max mem 498MB
Execution times (seconds)
garbage collection : 12.85 ( 7%) usr 0.03 ( 0%) sys 12.85 ( 6%) wall
callgraph construction: 0.80 ( 0%) usr 0.01 ( 0%) sys 0.80 ( 0%) wall
callgraph optimization: 0.91 ( 0%) usr 0.01 ( 0%) sys 0.92 ( 0%) wall
cfg construction : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.24 ( 0%) wall
cfg cleanup : 1.75 ( 1%) usr 0.01 ( 0%) sys 1.85 ( 1%) wall
trivially dead code : 1.02 ( 1%) usr 0.00 ( 0%) sys 1.18 ( 1%) wall
life analysis : 3.79 ( 2%) usr 0.00 ( 0%) sys 3.79 ( 2%) wall
life info update : 1.70 ( 1%) usr 0.01 ( 0%) sys 1.83 ( 1%) wall
alias analysis : 2.32 ( 1%) usr 0.02 ( 0%) sys 2.09 ( 1%) wall
register scan : 1.24 ( 1%) usr 0.00 ( 0%) sys 1.17 ( 1%) wall
rebuild jump labels : 0.41 ( 0%) usr 0.00 ( 0%) sys 0.34 ( 0%) wall
preprocessing : 0.50 ( 0%) usr 0.41 ( 5%) sys 1.03 ( 0%) wall
parser : 10.62 ( 6%) usr 2.03 (24%) sys 18.73 ( 9%) wall
name lookup : 4.61 ( 2%) usr 2.75 (33%) sys 6.67 ( 3%) wall
integration : 34.00 (18%) usr 0.10 ( 1%) sys 34.23 (17%) wall
tree gimplify : 1.59 ( 1%) usr 0.05 ( 1%) sys 2.09 ( 1%) wall
tree eh : 2.36 ( 1%) usr 0.05 ( 1%) sys 2.47 ( 1%) wall
tree CFG construction : 1.71 ( 1%) usr 0.08 ( 1%) sys 1.84 ( 1%) wall
tree CFG cleanup : 2.98 ( 2%) usr 0.00 ( 0%) sys 2.96 ( 1%) wall
tree PTA : 0.44 ( 0%) usr 0.01 ( 0%) sys 0.44 ( 0%) wall
tree alias analysis : 0.85 ( 0%) usr 0.01 ( 0%) sys 0.86 ( 0%) wall
tree PHI insertion : 2.17 ( 1%) usr 0.03 ( 0%) sys 1.97 ( 1%) wall
tree SSA rewrite : 3.43 ( 2%) usr 0.04 ( 0%) sys 3.87 ( 2%) wall
tree SSA other : 6.59 ( 3%) usr 0.57 ( 7%) sys 6.95 ( 3%) wall
tree operand scan : 3.40 ( 2%) usr 0.87 (10%) sys 4.45 ( 2%) wall
dominator optimization: 14.22 ( 7%) usr 0.44 ( 5%) sys 14.74 ( 7%) wall
tree SRA : 0.52 ( 0%) usr 0.00 ( 0%) sys 0.46 ( 0%) wall
tree CCP : 1.07 ( 1%) usr 0.00 ( 0%) sys 1.23 ( 1%) wall
tree split crit edges : 0.19 ( 0%) usr 0.01 ( 0%) sys 0.19 ( 0%) wall
tree PRE : 5.45 ( 3%) usr 0.08 ( 1%) sys 5.35 ( 3%) wall
tree linearize phis : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
tree forward propagate: 1.36 ( 1%) usr 0.00 ( 0%) sys 1.15 ( 1%) wall
tree conservative DCE : 2.09 ( 1%) usr 0.00 ( 0%) sys 2.00 ( 1%) wall
tree aggressive DCE : 0.83 ( 0%) usr 0.00 ( 0%) sys 0.84 ( 0%) wall
tree DSE : 1.84 ( 1%) usr 0.00 ( 0%) sys 1.92 ( 1%) wall
tree copy headers : 0.60 ( 0%) usr 0.00 ( 0%) sys 0.62 ( 0%) wall
tree SSA to normal : 2.43 ( 1%) usr 0.05 ( 1%) sys 2.41 ( 1%) wall
tree rename SSA copies: 1.23 ( 1%) usr 0.00 ( 0%) sys 1.28 ( 1%) wall
dominance frontiers : 0.32 ( 0%) usr 0.00 ( 0%) sys 0.22 ( 0%) wall
control dependences : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall
expand : 14.24 ( 7%) usr 0.15 ( 2%) sys 14.50 ( 7%) wall
varconst : 0.57 ( 0%) usr 0.06 ( 1%) sys 0.63 ( 0%) wall
jump : 0.47 ( 0%) usr 0.01 ( 0%) sys 0.54 ( 0%) wall
CSE : 6.08 ( 3%) usr 0.00 ( 0%) sys 6.08 ( 3%) wall
global CSE : 5.69 ( 3%) usr 0.04 ( 0%) sys 5.76 ( 3%) wall
loop analysis : 1.60 ( 1%) usr 0.07 ( 1%) sys 1.81 ( 1%) wall
bypass jumps : 0.80 ( 0%) usr 0.02 ( 0%) sys 0.69 ( 0%) wall
web : 0.79 ( 0%) usr 0.02 ( 0%) sys 0.87 ( 0%) wall
CSE 2 : 2.68 ( 1%) usr 0.00 ( 0%) sys 2.50 ( 1%) wall
branch prediction : 2.22 ( 1%) usr 0.00 ( 0%) sys 2.11 ( 1%) wall
flow analysis : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
combiner : 2.40 ( 1%) usr 0.00 ( 0%) sys 2.44 ( 1%) wall
if-conversion : 0.47 ( 0%) usr 0.00 ( 0%) sys 0.48 ( 0%) wall
regmove : 0.78 ( 0%) usr 0.00 ( 0%) sys 0.67 ( 0%) wall
local alloc : 1.84 ( 1%) usr 0.00 ( 0%) sys 1.84 ( 1%) wall
global alloc : 5.62 ( 3%) usr 0.05 ( 1%) sys 5.51 ( 3%) wall
reload CSE regs : 2.10 ( 1%) usr 0.00 ( 0%) sys 2.39 ( 1%) wall
flow 2 : 0.36 ( 0%) usr 0.00 ( 0%) sys 0.42 ( 0%) wall
if-conversion 2 : 0.43 ( 0%) usr 0.00 ( 0%) sys 0.34 ( 0%) wall
peephole 2 : 0.52 ( 0%) usr 0.00 ( 0%) sys 0.48 ( 0%) wall
rename registers : 0.55 ( 0%) usr 0.01 ( 0%) sys 0.61 ( 0%) wall
scheduling 2 : 3.51 ( 2%) usr 0.01 ( 0%) sys 3.72 ( 2%) wall
machine dep reorg : 0.77 ( 0%) usr 0.00 ( 0%) sys 0.61 ( 0%) wall
reorder blocks : 0.43 ( 0%) usr 0.00 ( 0%) sys 0.41 ( 0%) wall
shorten branches : 0.46 ( 0%) usr 0.02 ( 0%) sys 0.71 ( 0%) wall
reg stack : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
final : 1.27 ( 1%) usr 0.22 ( 3%) sys 1.15 ( 1%) wall
symout : 0.02 ( 0%) usr 0.01 ( 0%) sys 0.06 ( 0%) wall
rest of compilation : 0.74 ( 0%) usr 0.05 ( 1%) sys 0.82 ( 0%) wall
TOTAL : 192.12 8.43 206.51
-O2 -ffast-math: max mem 483MB
Execution times (seconds)
garbage collection : 12.84 ( 7%) usr 0.01 ( 0%) sys 12.84 ( 6%) wall
callgraph construction: 0.81 ( 0%) usr 0.01 ( 0%) sys 0.81 ( 0%) wall
callgraph optimization: 0.90 ( 0%) usr 0.02 ( 0%) sys 0.92 ( 0%) wall
cfg construction : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall
cfg cleanup : 1.97 ( 1%) usr 0.02 ( 0%) sys 1.94 ( 1%) wall
trivially dead code : 1.41 ( 1%) usr 0.00 ( 0%) sys 1.51 ( 1%) wall
life analysis : 3.94 ( 2%) usr 0.00 ( 0%) sys 3.50 ( 2%) wall
life info update : 1.77 ( 1%) usr 0.00 ( 0%) sys 2.02 ( 1%) wall
alias analysis : 1.86 ( 1%) usr 0.03 ( 0%) sys 2.16 ( 1%) wall
register scan : 1.07 ( 1%) usr 0.01 ( 0%) sys 1.25 ( 1%) wall
rebuild jump labels : 0.38 ( 0%) usr 0.00 ( 0%) sys 0.35 ( 0%) wall
preprocessing : 0.58 ( 0%) usr 0.38 ( 4%) sys 0.77 ( 0%) wall
parser : 10.94 ( 6%) usr 2.03 (23%) sys 19.59 ( 9%) wall
name lookup : 3.65 ( 2%) usr 2.98 (34%) sys 6.93 ( 3%) wall
integration : 34.83 (18%) usr 0.13 ( 1%) sys 35.00 (17%) wall
tree gimplify : 2.00 ( 1%) usr 0.08 ( 1%) sys 1.74 ( 1%) wall
tree eh : 2.14 ( 1%) usr 0.02 ( 0%) sys 2.44 ( 1%) wall
tree CFG construction : 1.97 ( 1%) usr 0.06 ( 1%) sys 1.83 ( 1%) wall
tree CFG cleanup : 2.89 ( 2%) usr 0.01 ( 0%) sys 3.19 ( 2%) wall
tree PTA : 0.47 ( 0%) usr 0.01 ( 0%) sys 0.56 ( 0%) wall
tree alias analysis : 0.91 ( 0%) usr 0.02 ( 0%) sys 0.88 ( 0%) wall
tree PHI insertion : 2.14 ( 1%) usr 0.03 ( 0%) sys 1.89 ( 1%) wall
tree SSA rewrite : 3.39 ( 2%) usr 0.07 ( 1%) sys 3.66 ( 2%) wall
tree SSA other : 6.42 ( 3%) usr 0.62 ( 7%) sys 6.87 ( 3%) wall
tree operand scan : 3.48 ( 2%) usr 0.88 (10%) sys 4.12 ( 2%) wall
dominator optimization: 14.32 ( 7%) usr 0.28 ( 3%) sys 14.86 ( 7%) wall
tree SRA : 0.56 ( 0%) usr 0.02 ( 0%) sys 0.54 ( 0%) wall
tree CCP : 1.22 ( 1%) usr 0.01 ( 0%) sys 1.20 ( 1%) wall
tree split crit edges : 0.21 ( 0%) usr 0.01 ( 0%) sys 0.27 ( 0%) wall
tree PRE : 5.42 ( 3%) usr 0.09 ( 1%) sys 5.28 ( 3%) wall
tree linearize phis : 0.07 ( 0%) usr 0.01 ( 0%) sys 0.03 ( 0%) wall
tree forward propagate: 1.27 ( 1%) usr 0.02 ( 0%) sys 1.16 ( 1%) wall
tree conservative DCE : 1.99 ( 1%) usr 0.00 ( 0%) sys 1.93 ( 1%) wall
tree aggressive DCE : 0.83 ( 0%) usr 0.00 ( 0%) sys 0.82 ( 0%) wall
tree DSE : 1.77 ( 1%) usr 0.00 ( 0%) sys 1.86 ( 1%) wall
tree copy headers : 0.64 ( 0%) usr 0.01 ( 0%) sys 0.80 ( 0%) wall
tree SSA to normal : 2.41 ( 1%) usr 0.04 ( 0%) sys 2.38 ( 1%) wall
tree NRV optimization : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
tree rename SSA copies: 1.36 ( 1%) usr 0.01 ( 0%) sys 1.42 ( 1%) wall
dominance frontiers : 0.26 ( 0%) usr 0.00 ( 0%) sys 0.25 ( 0%) wall
control dependences : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall
expand : 14.44 ( 8%) usr 0.16 ( 2%) sys 14.57 ( 7%) wall
varconst : 0.45 ( 0%) usr 0.10 ( 1%) sys 0.45 ( 0%) wall
jump : 0.41 ( 0%) usr 0.01 ( 0%) sys 0.37 ( 0%) wall
CSE : 6.34 ( 3%) usr 0.02 ( 0%) sys 6.38 ( 3%) wall
global CSE : 5.53 ( 3%) usr 0.06 ( 1%) sys 5.53 ( 3%) wall
loop analysis : 1.48 ( 1%) usr 0.05 ( 1%) sys 1.42 ( 1%) wall
bypass jumps : 0.63 ( 0%) usr 0.01 ( 0%) sys 0.87 ( 0%) wall
web : 0.82 ( 0%) usr 0.00 ( 0%) sys 0.84 ( 0%) wall
CSE 2 : 2.70 ( 1%) usr 0.00 ( 0%) sys 2.49 ( 1%) wall
branch prediction : 2.03 ( 1%) usr 0.02 ( 0%) sys 2.13 ( 1%) wall
flow analysis : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
combiner : 2.29 ( 1%) usr 0.01 ( 0%) sys 2.30 ( 1%) wall
if-conversion : 0.58 ( 0%) usr 0.00 ( 0%) sys 0.50 ( 0%) wall
regmove : 0.71 ( 0%) usr 0.00 ( 0%) sys 0.65 ( 0%) wall
local alloc : 1.78 ( 1%) usr 0.00 ( 0%) sys 1.61 ( 1%) wall
global alloc : 5.24 ( 3%) usr 0.04 ( 0%) sys 5.83 ( 3%) wall
reload CSE regs : 2.40 ( 1%) usr 0.00 ( 0%) sys 2.41 ( 1%) wall
flow 2 : 0.44 ( 0%) usr 0.01 ( 0%) sys 0.37 ( 0%) wall
if-conversion 2 : 0.29 ( 0%) usr 0.00 ( 0%) sys 0.31 ( 0%) wall
peephole 2 : 0.47 ( 0%) usr 0.00 ( 0%) sys 0.45 ( 0%) wall
rename registers : 0.73 ( 0%) usr 0.01 ( 0%) sys 0.75 ( 0%) wall
scheduling 2 : 3.31 ( 2%) usr 0.04 ( 0%) sys 3.51 ( 2%) wall
machine dep reorg : 0.71 ( 0%) usr 0.00 ( 0%) sys 0.61 ( 0%) wall
reorder blocks : 0.44 ( 0%) usr 0.00 ( 0%) sys 0.43 ( 0%) wall
shorten branches : 0.58 ( 0%) usr 0.02 ( 0%) sys 0.53 ( 0%) wall
reg stack : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall
final : 1.27 ( 1%) usr 0.27 ( 3%) sys 1.45 ( 1%) wall
symout : 0.04 ( 0%) usr 0.01 ( 0%) sys 0.03 ( 0%) wall
rest of compilation : 0.75 ( 0%) usr 0.01 ( 0%) sys 0.70 ( 0%) wall
TOTAL : 192.49 8.79 207.56
-O2 -ffast-math -funroll-loops: max mem 502MB
Execution times (seconds)
garbage collection : 12.76 ( 6%) usr 0.00 ( 0%) sys 12.78 ( 6%) wall
callgraph construction: 0.80 ( 0%) usr 0.01 ( 0%) sys 0.80 ( 0%) wall
callgraph optimization: 0.91 ( 0%) usr 0.01 ( 0%) sys 0.92 ( 0%) wall
cfg construction : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall
cfg cleanup : 2.13 ( 1%) usr 0.04 ( 0%) sys 2.28 ( 1%) wall
trivially dead code : 1.35 ( 1%) usr 0.03 ( 0%) sys 1.37 ( 1%) wall
life analysis : 5.24 ( 3%) usr 0.00 ( 0%) sys 5.01 ( 2%) wall
life info update : 1.80 ( 1%) usr 0.00 ( 0%) sys 2.14 ( 1%) wall
alias analysis : 2.48 ( 1%) usr 0.01 ( 0%) sys 2.38 ( 1%) wall
register scan : 1.39 ( 1%) usr 0.01 ( 0%) sys 1.28 ( 1%) wall
rebuild jump labels : 0.40 ( 0%) usr 0.00 ( 0%) sys 0.44 ( 0%) wall
preprocessing : 0.44 ( 0%) usr 0.28 ( 3%) sys 0.84 ( 0%) wall
parser : 10.77 ( 5%) usr 2.20 (24%) sys 20.45 ( 9%) wall
name lookup : 4.05 ( 2%) usr 3.07 (34%) sys 7.05 ( 3%) wall
integration : 34.90 (17%) usr 0.13 ( 1%) sys 35.24 (16%) wall
tree gimplify : 1.77 ( 1%) usr 0.03 ( 0%) sys 1.67 ( 1%) wall
tree eh : 2.37 ( 1%) usr 0.02 ( 0%) sys 2.34 ( 1%) wall
tree CFG construction : 1.82 ( 1%) usr 0.05 ( 1%) sys 2.04 ( 1%) wall
tree CFG cleanup : 2.82 ( 1%) usr 0.04 ( 0%) sys 3.03 ( 1%) wall
tree PTA : 0.40 ( 0%) usr 0.00 ( 0%) sys 0.55 ( 0%) wall
tree alias analysis : 0.96 ( 0%) usr 0.03 ( 0%) sys 0.92 ( 0%) wall
tree PHI insertion : 2.13 ( 1%) usr 0.01 ( 0%) sys 1.92 ( 1%) wall
tree SSA rewrite : 3.78 ( 2%) usr 0.04 ( 0%) sys 3.76 ( 2%) wall
tree SSA other : 6.16 ( 3%) usr 0.68 ( 8%) sys 6.96 ( 3%) wall
tree operand scan : 3.30 ( 2%) usr 1.04 (12%) sys 4.23 ( 2%) wall
dominator optimization: 14.38 ( 7%) usr 0.36 ( 4%) sys 14.63 ( 7%) wall
tree SRA : 0.65 ( 0%) usr 0.00 ( 0%) sys 0.53 ( 0%) wall
tree CCP : 1.36 ( 1%) usr 0.00 ( 0%) sys 1.24 ( 1%) wall
tree split crit edges : 0.28 ( 0%) usr 0.01 ( 0%) sys 0.20 ( 0%) wall
tree PRE : 5.23 ( 3%) usr 0.04 ( 0%) sys 5.40 ( 2%) wall
tree linearize phis : 0.01 ( 0%) usr 0.01 ( 0%) sys 0.08 ( 0%) wall
tree forward propagate: 1.37 ( 1%) usr 0.00 ( 0%) sys 1.11 ( 1%) wall
tree conservative DCE : 2.07 ( 1%) usr 0.01 ( 0%) sys 2.06 ( 1%) wall
tree aggressive DCE : 0.73 ( 0%) usr 0.00 ( 0%) sys 0.80 ( 0%) wall
tree DSE : 1.95 ( 1%) usr 0.00 ( 0%) sys 1.99 ( 1%) wall
tree copy headers : 0.68 ( 0%) usr 0.00 ( 0%) sys 0.75 ( 0%) wall
tree SSA to normal : 2.30 ( 1%) usr 0.04 ( 0%) sys 2.41 ( 1%) wall
tree rename SSA copies: 1.21 ( 1%) usr 0.02 ( 0%) sys 1.35 ( 1%) wall
dominance frontiers : 0.32 ( 0%) usr 0.00 ( 0%) sys 0.26 ( 0%) wall
control dependences : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall
expand : 14.13 ( 7%) usr 0.08 ( 1%) sys 14.43 ( 7%) wall
varconst : 0.55 ( 0%) usr 0.08 ( 1%) sys 0.60 ( 0%) wall
jump : 0.45 ( 0%) usr 0.03 ( 0%) sys 0.44 ( 0%) wall
CSE : 6.11 ( 3%) usr 0.01 ( 0%) sys 6.21 ( 3%) wall
global CSE : 5.44 ( 3%) usr 0.06 ( 1%) sys 5.47 ( 3%) wall
loop analysis : 2.53 ( 1%) usr 0.06 ( 1%) sys 2.49 ( 1%) wall
bypass jumps : 0.66 ( 0%) usr 0.01 ( 0%) sys 0.88 ( 0%) wall
web : 1.33 ( 1%) usr 0.00 ( 0%) sys 1.19 ( 1%) wall
CSE 2 : 3.76 ( 2%) usr 0.01 ( 0%) sys 3.78 ( 2%) wall
branch prediction : 2.11 ( 1%) usr 0.01 ( 0%) sys 2.09 ( 1%) wall
flow analysis : 0.10 ( 0%) usr 0.01 ( 0%) sys 0.05 ( 0%) wall
combiner : 2.85 ( 1%) usr 0.01 ( 0%) sys 2.79 ( 1%) wall
if-conversion : 0.56 ( 0%) usr 0.00 ( 0%) sys 0.55 ( 0%) wall
regmove : 0.75 ( 0%) usr 0.00 ( 0%) sys 0.77 ( 0%) wall
mode switching : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
local alloc : 2.13 ( 1%) usr 0.02 ( 0%) sys 1.94 ( 1%) wall
global alloc : 6.77 ( 3%) usr 0.07 ( 1%) sys 6.82 ( 3%) wall
reload CSE regs : 2.64 ( 1%) usr 0.01 ( 0%) sys 2.69 ( 1%) wall
flow 2 : 0.36 ( 0%) usr 0.00 ( 0%) sys 0.48 ( 0%) wall
if-conversion 2 : 0.42 ( 0%) usr 0.00 ( 0%) sys 0.43 ( 0%) wall
peephole 2 : 0.42 ( 0%) usr 0.00 ( 0%) sys 0.48 ( 0%) wall
rename registers : 0.75 ( 0%) usr 0.00 ( 0%) sys 0.70 ( 0%) wall
scheduling 2 : 3.91 ( 2%) usr 0.05 ( 1%) sys 4.03 ( 2%) wall
machine dep reorg : 0.72 ( 0%) usr 0.00 ( 0%) sys 0.69 ( 0%) wall
reorder blocks : 0.51 ( 0%) usr 0.00 ( 0%) sys 0.47 ( 0%) wall
shorten branches : 0.68 ( 0%) usr 0.01 ( 0%) sys 0.49 ( 0%) wall
reg stack : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
final : 1.44 ( 1%) usr 0.19 ( 2%) sys 1.67 ( 1%) wall
symout : 0.03 ( 0%) usr 0.01 ( 0%) sys 0.04 ( 0%) wall
rest of compilation : 0.85 ( 0%) usr 0.02 ( 0%) sys 1.00 ( 0%) wall
TOTAL : 200.84 8.99 217.22