[PATCH] analysis of global statics and removal associated vdefs and vuses
Diego Novillo
dnovillo@redhat.com
Fri Aug 27 16:49:00 GMT 2004
On Fri, 2004-08-27 at 12:27, Diego Novillo wrote:
> There is a slight reduction in the number of virtual operands on
> cc1-i-files (2,816 fewer virtual operands or about 0.1%).
>
Forgot to attach the time logs.
Diego.
-------------- next part --------------
Phase Before After % change
callgraph construction 0.77 0.89 15.6%
cfg construction 0.11 0.13 18.2%
cfg cleanup 1.68 1.89 12.5%
trivially dead code 1.04 1.25 20.2%
life analysis 2.47 2.67 8.1%
life info update 1.68 1.83 8.9%
alias analysis 1.89 1.85 -2.1%
register scan 0.93 1.11 19.4%
rebuild jump labels 0.29 0.27 -6.9%
preprocessing 1.76 2.13 21.0%
lexical analysis 0.00 0.00 -100.0%
parser 28.69 32.60 13.6%
name lookup 7.60 8.35 9.9%
integration 8.82 9.75 10.5%
tree gimplify 4.40 5.02 14.1%
tree eh 0.76 0.85 11.8%
tree CFG construction 0.80 0.84 5.0%
tree CFG cleanup 1.87 1.67 -10.7%
tree copy propagation 0.00 0.00 -100.0%
tree PTA 1.44 1.55 7.6%
tree alias analysis 2.70 2.97 10.0%
tree PHI insertion 4.83 5.43 12.4%
tree SSA rewrite 7.73 9.09 17.6%
tree SSA other 10.01 10.96 9.5%
tree operand scan 3.95 4.93 24.8%
dominator optimization 13.23 14.08 6.4%
tree SRA 0.89 0.90 1.1%
tree CCP 2.41 2.37 -1.7%
tree split crit edges 0.33 0.29 -12.1%
tree PRE 2.68 3.13 16.8%
tree remove casts 0.00 0.00 -100.0%
tree forward propagate 0.92 1.07 16.3%
tree conservative DCE 1.99 2.38 19.6%
tree aggressive DCE 1.24 1.33 7.3%
tree loop optimization 0.00 0.00 -100.0%
tree SSA to normal 2.14 2.24 4.7%
tree SSA verifier 0.00 0.00 -100.0%
tree STMT verifier 0.00 0.00 -100.0%
CFG verifier 0.00 0.00 -100.0%
callgraph verifier 0.00 0.00 -100.0%
dominance frontiers 0.31 0.30 -3.2%
control dependences 0.06 0.08 33.3%
overload resolution 0.00 0.00 -100.0%
template instantiation 0.00 0.00 -100.0%
expand 30.41 39.70 30.5%
varconst 0.95 1.24 30.5%
jump 0.21 0.34 61.9%
CSE 6.08 6.45 6.1%
global CSE 0.13 0.09 -30.8%
loop analysis 1.03 1.02 -1.0%
bypass jumps 0.72 0.71 -1.4%
tracer 0.00 0.00 -100.0%
web 0.77 0.73 -5.2%
CSE 2 2.85 2.93 2.8%
branch prediction 0.90 0.97 7.8%
value profile opts 0.00 0.00 -100.0%
flow analysis 0.07 0.09 28.6%
combiner 2.49 2.77 11.2%
if-conversion 0.36 0.38 5.6%
regmove 0.70 0.76 8.6%
mode switching 0.01 0.00 -100.0%
scheduling 0.00 0.00 -100.0%
local alloc 2.07 1.94 -6.3%
global alloc 3.52 4.12 17.0%
reload CSE regs 1.79 1.73 -3.4%
flow 2 0.30 0.40 33.3%
if-conversion 2 0.21 0.12 -42.9%
peephole 2 0.26 0.24 -7.7%
rename registers 0.51 0.64 25.5%
scheduling 2 2.23 2.57 15.2%
machine dep reorg 0.47 0.51 8.5%
delay branch sched 0.00 0.00 -100.0%
reorder blocks 0.22 0.25 13.6%
shorten branches 0.25 0.40 60.0%
reg stack 0.00 0.02 1999900.0%
final 0.85 0.92 8.2%
symout 0.06 0.05 -16.7%
rest of compilation 0.66 0.63 -4.5%
^ tree |^ dominator 69.46 76.56 10.2%
^ TOTAL 201.67 228.72 13.4%
-------------- next part --------------
Phase Before After % change
callgraph construction 6.05 6.30 4.1%
cfg construction 0.81 0.84 3.7%
cfg cleanup 12.81 13.25 3.4%
trivially dead code 7.14 7.57 6.0%
life analysis 17.12 17.57 2.6%
life info update 13.53 13.42 -0.8%
alias analysis 8.69 8.91 2.5%
register scan 5.01 5.92 18.2%
rebuild jump labels 1.34 1.16 -13.4%
preprocessing 18.62 19.43 4.4%
lexical analysis 9.99 11.49 15.0%
parser 60.82 61.56 1.2%
name lookup 8.31 8.71 4.8%
integration 3.12 3.26 4.5%
tree gimplify 12.83 13.12 2.3%
tree eh 0.46 0.53 15.2%
tree CFG construction 1.73 1.46 -15.6%
tree CFG cleanup 9.26 8.34 -9.9%
tree copy propagation 0.00 0.00 -100.0%
tree PTA 2.66 2.96 11.3%
tree alias analysis 2.02 2.12 5.0%
tree PHI insertion 3.14 3.12 -0.6%
tree SSA rewrite 7.87 7.81 -0.8%
tree SSA other 13.11 13.50 3.0%
tree operand scan 8.03 8.99 12.0%
dominator optimization 37.43 36.68 -2.0%
tree SRA 0.40 0.25 -37.5%
tree CCP 2.73 2.66 -2.6%
tree split crit edges 2.99 2.42 -19.1%
tree PRE 7.26 6.75 -7.0%
tree remove casts 0.00 0.00 -100.0%
tree forward propagate 1.58 1.56 -1.3%
tree conservative DCE 3.50 3.46 -1.1%
tree aggressive DCE 1.91 1.79 -6.3%
tree loop optimization 0.00 0.01 999900.0%
tree SSA to normal 7.75 6.98 -9.9%
tree SSA verifier 0.00 0.00 -100.0%
tree STMT verifier 0.00 0.00 -100.0%
CFG verifier 0.00 0.00 -100.0%
callgraph verifier 0.00 0.00 -100.0%
dominance frontiers 1.08 0.90 -16.7%
control dependences 0.36 0.45 25.0%
overload resolution 0.00 0.00 -100.0%
template instantiation 0.00 0.00 -100.0%
expand 45.92 47.88 4.3%
varconst 0.61 0.88 44.3%
jump 1.47 1.17 -20.4%
CSE 49.80 53.48 7.4%
global CSE 0.72 0.68 -5.6%
loop analysis 4.72 4.57 -3.2%
bypass jumps 7.30 6.56 -10.1%
tracer 0.00 0.00 -100.0%
web 11.11 10.33 -7.0%
CSE 2 32.56 34.50 6.0%
branch prediction 5.20 5.03 -3.3%
value profile opts 0.00 0.00 -100.0%
flow analysis 0.91 0.99 8.8%
combiner 18.72 20.01 6.9%
if-conversion 5.55 5.20 -6.3%
regmove 3.96 4.04 2.0%
mode switching 0.03 0.04 33.3%
scheduling 0.00 0.00 -100.0%
local alloc 13.37 13.84 3.5%
global alloc 19.89 20.81 4.6%
reload CSE regs 13.53 13.02 -3.8%
flow 2 2.56 2.99 16.8%
if-conversion 2 2.24 2.78 24.1%
peephole 2 2.00 2.15 7.5%
rename registers 3.69 3.70 0.3%
scheduling 2 14.96 15.26 2.0%
machine dep reorg 3.01 3.12 3.7%
delay branch sched 0.00 0.00 -100.0%
reorder blocks 2.48 2.25 -9.3%
shorten branches 2.05 2.11 2.9%
reg stack 0.01 0.01 0.0%
final 5.95 6.13 3.0%
symout 0.76 0.54 -28.9%
rest of compilation 3.21 3.06 -4.7%
^ tree |^ dominator 132.67 130.60 -1.6%
^ TOTAL 639.88 652.66 2.0%
More information about the Gcc-patches
mailing list