This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: Severe increase in compilation time with 4.3.0 20070615 on powerpc-apple-darwin7
- From: dominiq at lps dot ens dot fr (Dominique Dhumieres)
- To: richard dot guenther at gmail dot com, dominiq at lps dot ens dot fr
- Cc: gcc at gcc dot gnu dot org, fortran at gcc dot gnu dot org
- Date: Sun, 15 Jul 2007 14:24:16 +0200
- Subject: Re: Severe increase in compilation time with 4.3.0 20070615 on powerpc-apple-darwin7
- References: <20070619134828.EC1A75BBB5@mailhost.lps.ens.fr> <84fc9c000706190702v1071f7dbjec674973fca00163@mail.gmail.com> <20070620114118.330485BBB3@mailhost.lps.ens.fr> <84fc9c000706200519h3377c507oa360cda022daca19@mail.gmail.com> <20070620125922.EE70D5BBB3@mailhost.lps.ens.fr> <84fc9c000706200604k2f46e408g8f8175d83ba347a8@mail.gmail.com>
> Btw, is this a compiler with checking enabled?
As fas as I can tell, yes.
> If so try comparing numbers with --enable-checking=release.
I am more interested to compare times rather than get the lowest possible
number.
The following update of the timings shows that the compile time is
worsening without positive impact on the execution time:
compile execute
07/13 06/15 06/08 04/13 07/13 06/15 06/08 04/13
ac 6.101 6.098 4.169 3.754 141.067 141.335 141.271 140.479
aermod 280.850 266.403 205.639 196.447 93.914 92.756 93.583 90.632
air 15.823 14.773 11.925 11.541 41.598 40.149 41.533 39.399
capacita 7.545 7.332 5.542 5.154 177.666 175.615 176.229 177.222
channel 4.224 4.289 2.519 2.279 15.713 15.664 15.947 15.732
doduc 38.834 37.700 28.040 26.679 68.604 68.599 68.895 68.195
fatigue 14.897 12.843 8.733 8.293 24.459 23.766 24.795 23.061
gas_dyn 11.893 11.856 8.168 7.598 54.018 53.942 53.929 52.100
induct 37.131 36.878 23.671 22.445 71.680 72.247 73.031 69.283
linpk 2.389 2.419 1.979 1.910 33.435 33.489 33.844 33.446
mdbx 9.428 9.052 7.036 6.716 32.566 32.542 32.543 32.985
nf 5.409 5.412 3.629 3.357 57.328 51.424 51.404 58.494
protein 20.167 20.097 13.162 13.063 72.809 70.825 70.113 70.896
rnflow 19.958 19.812 14.370 14.196 77.149 76.936 77.419 76.371
test_fpu 17.483 17.098 12.034 11.396 37.146 37.336 37.324 37.697
tfft 2.513 2.530 1.938 1.779 16.602 16.653 16.831 16.581
total 494.645 474.592 352.554 336.607 1015.754 1003.278 1008.691 1002.573
I have done the following comparison of the compile time for induct.f90
with -ftime-report.
Half of the ~15s is coming from 'loop analysis' (7s) and 'expand' account for 1s.
Assuming that the lines starting by 'df' were introduced by the
'dataflow' patch, it can explain directly at most a few seconds.
Does anybody understand why 'loop analysis' takes so much time on Darwin7?
TIA
Dominique
gcc version 4.3.0 20070713 (experimental)
[karma] lin/source% time gfortran -ftime-report -O3 -ffast-math -funroll-loops induct.f90
Execution times (seconds)
loop analysis : 7.56 (21%) usr 0.19 ( 6%) sys 7.80 (19%) wall 1192 kB ( 2%) ggc
tree STMT verifier : 4.80 (13%) usr 0.62 (19%) sys 5.34 (13%) wall 2 kB ( 0%) ggc
tree SSA verifier : 3.70 (10%) usr 0.07 ( 2%) sys 3.87 (10%) wall 26 kB ( 0%) ggc
expand : 1.99 ( 6%) usr 0.18 ( 6%) sys 2.21 ( 5%) wall 4996 kB (10%) ggc
tree operand scan : 0.96 ( 3%) usr 0.56 (17%) sys 1.50 ( 4%) wall 2180 kB ( 4%) ggc
global alloc : 0.79 ( 2%) usr 0.08 ( 2%) sys 0.85 ( 2%) wall 1065 kB ( 2%) ggc
scheduling : 0.73 ( 2%) usr 0.06 ( 2%) sys 0.81 ( 2%) wall 285 kB ( 1%) ggc
tree PRE : 0.72 ( 2%) usr 0.04 ( 1%) sys 0.78 ( 2%) wall 2445 kB ( 5%) ggc
rename registers : 0.69 ( 2%) usr 0.02 ( 1%) sys 0.73 ( 2%) wall 257 kB ( 1%) ggc
CSE : 0.66 ( 2%) usr 0.06 ( 2%) sys 0.67 ( 2%) wall 264 kB ( 1%) ggc
scheduling 2 : 0.62 ( 2%) usr 0.01 ( 0%) sys 0.63 ( 2%) wall 60 kB ( 0%) ggc
CFG verifier : 0.62 ( 2%) usr 0.04 ( 1%) sys 0.48 ( 1%) wall 0 kB ( 0%) ggc
df live regs : 0.61 ( 2%) usr 0.00 ( 0%) sys 0.68 ( 2%) wall 0 kB ( 0%) ggc
parser : 0.54 ( 2%) usr 0.08 ( 2%) sys 0.86 ( 2%) wall 3631 kB ( 7%) ggc
garbage collection : 0.49 ( 1%) usr 0.05 ( 2%) sys 0.56 ( 1%) wall 0 kB ( 0%) ggc
if-conversion : 0.44 ( 1%) usr 0.00 ( 0%) sys 0.45 ( 1%) wall 61 kB ( 0%) ggc
combiner : 0.43 ( 1%) usr 0.00 ( 0%) sys 0.49 ( 1%) wall 912 kB ( 2%) ggc
local alloc : 0.41 ( 1%) usr 0.01 ( 0%) sys 0.44 ( 1%) wall 752 kB ( 2%) ggc
tree iv optimization : 0.40 ( 1%) usr 0.07 ( 2%) sys 0.43 ( 1%) wall 7302 kB (15%) ggc
reload CSE regs : 0.32 ( 1%) usr 0.00 ( 0%) sys 0.33 ( 1%) wall 941 kB ( 2%) ggc
forward prop : 0.32 ( 1%) usr 0.03 ( 1%) sys 0.37 ( 1%) wall 550 kB ( 1%) ggc
alias analysis : 0.31 ( 1%) usr 0.00 ( 0%) sys 0.40 ( 1%) wall 1398 kB ( 3%) ggc
dead code elimination : 0.30 ( 1%) usr 0.01 ( 0%) sys 0.30 ( 1%) wall 1 kB ( 0%) ggc
tree VRP : 0.29 ( 1%) usr 0.04 ( 1%) sys 0.33 ( 1%) wall 1380 kB ( 3%) ggc
dominator optimization: 0.29 ( 1%) usr 0.03 ( 1%) sys 0.33 ( 1%) wall 2305 kB ( 5%) ggc
CSE 2 : 0.29 ( 1%) usr 0.04 ( 1%) sys 0.35 ( 1%) wall 136 kB ( 0%) ggc
df reaching defs : 0.28 ( 1%) usr 0.18 ( 6%) sys 0.46 ( 1%) wall 0 kB ( 0%) ggc
tree PTA : 0.27 ( 1%) usr 0.01 ( 0%) sys 0.32 ( 1%) wall 134 kB ( 0%) ggc
dead store elim1 : 0.26 ( 1%) usr 0.00 ( 0%) sys 0.24 ( 1%) wall 387 kB ( 1%) ggc
regmove : 0.25 ( 1%) usr 0.01 ( 0%) sys 0.24 ( 1%) wall 3 kB ( 0%) ggc
df live&initialized regs: 0.25 ( 1%) usr 0.00 ( 0%) sys 0.23 ( 1%) wall 0 kB ( 0%) ggc
tree alias analysis : 0.24 ( 1%) usr 0.31 (10%) sys 0.58 ( 1%) wall 70 kB ( 0%) ggc
tree SSA incremental : 0.22 ( 1%) usr 0.04 ( 1%) sys 0.39 ( 1%) wall 294 kB ( 1%) ggc
tree gimplify : 0.21 ( 1%) usr 0.00 ( 0%) sys 0.28 ( 1%) wall 1833 kB ( 4%) ggc
peephole 2 : 0.19 ( 1%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall 1 kB ( 0%) ggc
tree SSA rewrite : 0.18 ( 1%) usr 0.01 ( 0%) sys 0.15 ( 0%) wall 2388 kB ( 5%) ggc
tree FRE : 0.18 ( 1%) usr 0.03 ( 1%) sys 0.22 ( 1%) wall 1547 kB ( 3%) ggc
df reg dead/unused notes: 0.18 ( 1%) usr 0.01 ( 0%) sys 0.20 ( 0%) wall 354 kB ( 1%) ggc
complete unrolling : 0.18 ( 1%) usr 0.05 ( 2%) sys 0.20 ( 0%) wall 674 kB ( 1%) ggc
auto inc dec : 0.18 ( 1%) usr 0.00 ( 0%) sys 0.22 ( 1%) wall 2 kB ( 0%) ggc
web : 0.17 ( 0%) usr 0.01 ( 0%) sys 0.21 ( 1%) wall 42 kB ( 0%) ggc
final : 0.17 ( 0%) usr 0.02 ( 1%) sys 0.20 ( 0%) wall 16 kB ( 0%) ggc
dead store elim2 : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall 396 kB ( 1%) ggc
df use-def / def-use chains: 0.15 ( 0%) usr 0.00 ( 0%) sys 0.18 ( 0%) wall 0 kB ( 0%) ggc
tree CFG cleanup : 0.14 ( 0%) usr 0.03 ( 1%) sys 0.11 ( 0%) wall 232 kB ( 0%) ggc
if-conversion 2 : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall 25 kB ( 0%) ggc
global CSE : 0.14 ( 0%) usr 0.02 ( 1%) sys 0.16 ( 0%) wall 0 kB ( 0%) ggc
bypass jumps : 0.13 ( 0%) usr 0.01 ( 0%) sys 0.16 ( 0%) wall 312 kB ( 1%) ggc
trivially dead code : 0.12 ( 0%) usr 0.01 ( 0%) sys 0.12 ( 0%) wall 0 kB ( 0%) ggc
register information : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 0 kB ( 0%) ggc
callgraph construction: 0.12 ( 0%) usr 0.01 ( 0%) sys 0.14 ( 0%) wall 713 kB ( 1%) ggc
inline heuristics : 0.11 ( 0%) usr 0.01 ( 0%) sys 0.16 ( 0%) wall 4 kB ( 0%) ggc
tree SSA to normal : 0.10 ( 0%) usr 0.01 ( 0%) sys 0.10 ( 0%) wall 502 kB ( 1%) ggc
CPROP 2 : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 246 kB ( 1%) ggc
cfg cleanup : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall 62 kB ( 0%) ggc
tree SSA other : 0.08 ( 0%) usr 0.07 ( 2%) sys 0.13 ( 0%) wall 0 kB ( 0%) ggc
dominance computation : 0.08 ( 0%) usr 0.01 ( 0%) sys 0.11 ( 0%) wall 0 kB ( 0%) ggc
tree conservative DCE : 0.07 ( 0%) usr 0.02 ( 1%) sys 0.10 ( 0%) wall 0 kB ( 0%) ggc
thread pro- & epilogue: 0.07 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 160 kB ( 0%) ggc
rebuild jump labels : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 0 kB ( 0%) ggc
tree copy propagation : 0.06 ( 0%) usr 0.01 ( 0%) sys 0.12 ( 0%) wall 92 kB ( 0%) ggc
tree CCP : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 98 kB ( 0%) ggc
callgraph optimization: 0.06 ( 0%) usr 0.01 ( 0%) sys 0.15 ( 0%) wall 394 kB ( 1%) ggc
PRE : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 340 kB ( 1%) ggc
predictive commoning : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 408 kB ( 1%) ggc
callgraph verifier : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 100 kB ( 0%) ggc
branch prediction : 0.05 ( 0%) usr 0.01 ( 0%) sys 0.11 ( 0%) wall 249 kB ( 1%) ggc
tree store copy prop : 0.04 ( 0%) usr 0.01 ( 0%) sys 0.04 ( 0%) wall 8 kB ( 0%) ggc
register scan : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 5 kB ( 0%) ggc
dominance frontiers : 0.04 ( 0%) usr 0.01 ( 0%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc
df uninitialized regs 2: 0.04 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 0 kB ( 0%) ggc
CPROP 1 : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 328 kB ( 1%) ggc
tree rename SSA copies: 0.03 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc
tree loop bounds : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 221 kB ( 0%) ggc
tree find ref. vars : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 350 kB ( 1%) ggc
tree aggressive DCE : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc
tree STORE-CCP : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 32 kB ( 0%) ggc
lower subreg : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc
loop invariant motion : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 33 kB ( 0%) ggc
tree reassociation : 0.02 ( 0%) usr 0.02 ( 1%) sys 0.04 ( 0%) wall 47 kB ( 0%) ggc
tree memory partitioning: 0.02 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 1 kB ( 0%) ggc
tree loop unswitching : 0.02 ( 0%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc
tree loop init : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 60 kB ( 0%) ggc
tree linearize phis : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 3 kB ( 0%) ggc
tree code sinking : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 52 kB ( 0%) ggc
tree CFG construction : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 1629 kB ( 3%) ggc
reorder blocks : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 113 kB ( 0%) ggc
ipa type escape : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc
tree split crit edges : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 168 kB ( 0%) ggc
tree loop fini : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc
tree if-combine : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc
tree eh : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc
tree SSA uncprop : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc
tree SRA : 0.01 ( 0%) usr 0.01 ( 0%) sys 0.06 ( 0%) wall 21 kB ( 0%) ggc
tree DSE : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 13 kB ( 0%) ggc
load CSE after reload : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 5 kB ( 0%) ggc
ipa reference : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 1 kB ( 0%) ggc
tree forward propagate: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 65 kB ( 0%) ggc
tree copy headers : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 185 kB ( 0%) ggc
tree canonical iv : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 168 kB ( 0%) ggc
tree PHI insertion : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 77 kB ( 0%) ggc
tree PHI const/copy prop: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc
TOTAL : 35.78 3.26 40.29 48650 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --enable-checking=release to disable checks.
35.900u 3.520s 0:41.82 94.2% 0+0k 89+23io 0pf+0w
gcc version 4.3.0 20070413 (experimental)
[karma] lin/source% time gfortran -ftime-report -O3 -ffast-math -funroll-loops induct.f90
Execution times (seconds)
loop analysis : 0.57 ( 3%) usr 0.09 ( 3%) sys 0.70 ( 3%) wall 805 kB ( 2%) ggc
tree STMT verifier : 4.36 (21%) usr 0.62 (23%) sys 5.23 (22%) wall 0 kB ( 0%) ggc
tree SSA verifier : 3.15 (15%) usr 0.12 ( 4%) sys 3.19 (13%) wall 24 kB ( 0%) ggc
expand : 0.57 ( 3%) usr 0.03 ( 1%) sys 0.67 ( 3%) wall 5407 kB (12%) ggc
tree operand scan : 0.97 ( 5%) usr 0.48 (18%) sys 1.47 ( 6%) wall 2265 kB ( 5%) ggc
global alloc : 0.58 ( 3%) usr 0.00 ( 0%) sys 0.53 ( 2%) wall 1048 kB ( 2%) ggc
scheduling : 0.51 ( 2%) usr 0.07 ( 3%) sys 0.60 ( 2%) wall 319 kB ( 1%) ggc
tree PRE : 0.76 ( 4%) usr 0.02 ( 1%) sys 0.79 ( 3%) wall 1271 kB ( 3%) ggc
rename registers : 0.49 ( 2%) usr 0.00 ( 0%) sys 0.44 ( 2%) wall 242 kB ( 1%) ggc
CSE : 0.28 ( 1%) usr 0.06 ( 2%) sys 0.32 ( 1%) wall 217 kB ( 0%) ggc
scheduling 2 : 0.46 ( 2%) usr 0.01 ( 0%) sys 0.44 ( 2%) wall 0 kB ( 0%) ggc
CFG verifier : 0.45 ( 2%) usr 0.03 ( 1%) sys 0.55 ( 2%) wall 0 kB ( 0%) ggc
parser : 0.42 ( 2%) usr 0.11 ( 4%) sys 0.62 ( 3%) wall 3580 kB ( 8%) ggc
garbage collection : 0.39 ( 2%) usr 0.02 ( 1%) sys 0.45 ( 2%) wall 0 kB ( 0%) ggc
combiner : 0.26 ( 1%) usr 0.00 ( 0%) sys 0.25 ( 1%) wall 916 kB ( 2%) ggc
local alloc : 0.24 ( 1%) usr 0.01 ( 0%) sys 0.32 ( 1%) wall 735 kB ( 2%) ggc
tree iv optimization : 0.51 ( 2%) usr 0.03 ( 1%) sys 0.56 ( 2%) wall 8342 kB (18%) ggc
reload CSE regs : 0.28 ( 1%) usr 0.00 ( 0%) sys 0.33 ( 1%) wall 897 kB ( 2%) ggc
forward prop : 0.42 ( 2%) usr 0.04 ( 1%) sys 0.50 ( 2%) wall 453 kB ( 1%) ggc
alias analysis : 0.29 ( 1%) usr 0.00 ( 0%) sys 0.20 ( 1%) wall 1375 kB ( 3%) ggc
tree VRP : 0.20 ( 1%) usr 0.04 ( 1%) sys 0.31 ( 1%) wall 1337 kB ( 3%) ggc
dominator optimization: 0.26 ( 1%) usr 0.04 ( 1%) sys 0.34 ( 1%) wall 2048 kB ( 4%) ggc
CSE 2 : 0.22 ( 1%) usr 0.02 ( 1%) sys 0.23 ( 1%) wall 79 kB ( 0%) ggc
tree PTA : 0.20 ( 1%) usr 0.03 ( 1%) sys 0.28 ( 1%) wall 146 kB ( 0%) ggc
regmove : 0.11 ( 1%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 2 kB ( 0%) ggc
tree alias analysis : 0.24 ( 1%) usr 0.29 (11%) sys 0.57 ( 2%) wall 70 kB ( 0%) ggc
tree SSA incremental : 0.28 ( 1%) usr 0.04 ( 1%) sys 0.29 ( 1%) wall 323 kB ( 1%) ggc
tree gimplify : 0.18 ( 1%) usr 0.00 ( 0%) sys 0.19 ( 1%) wall 1846 kB ( 4%) ggc
peephole 2 : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc
tree SSA rewrite : 0.13 ( 1%) usr 0.00 ( 0%) sys 0.15 ( 1%) wall 2412 kB ( 5%) ggc
tree FRE : 0.10 ( 0%) usr 0.01 ( 0%) sys 0.08 ( 0%) wall 463 kB ( 1%) ggc
complete unrolling : 0.19 ( 1%) usr 0.05 ( 2%) sys 0.18 ( 1%) wall 834 kB ( 2%) ggc
web : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 34 kB ( 0%) ggc
final : 0.11 ( 1%) usr 0.01 ( 0%) sys 0.14 ( 1%) wall 15 kB ( 0%) ggc
tree CFG cleanup : 0.17 ( 1%) usr 0.03 ( 1%) sys 0.12 ( 0%) wall 361 kB ( 1%) ggc
global CSE : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc
bypass jumps : 0.12 ( 1%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 216 kB ( 0%) ggc
trivially dead code : 0.14 ( 1%) usr 0.01 ( 0%) sys 0.12 ( 0%) wall 0 kB ( 0%) ggc
callgraph construction: 0.10 ( 0%) usr 0.01 ( 0%) sys 0.11 ( 0%) wall 634 kB ( 1%) ggc
inline heuristics : 0.13 ( 1%) usr 0.02 ( 1%) sys 0.13 ( 1%) wall 4 kB ( 0%) ggc
tree SSA to normal : 0.09 ( 0%) usr 0.02 ( 1%) sys 0.08 ( 0%) wall 531 kB ( 1%) ggc
CPROP 2 : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall 249 kB ( 1%) ggc
cfg cleanup : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 68 kB ( 0%) ggc
tree SSA other : 0.06 ( 0%) usr 0.11 ( 4%) sys 0.14 ( 1%) wall 0 kB ( 0%) ggc
dominance computation : 0.08 ( 0%) usr 0.10 ( 4%) sys 0.20 ( 1%) wall 0 kB ( 0%) ggc
tree conservative DCE : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 0 kB ( 0%) ggc
rebuild jump labels : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 0 kB ( 0%) ggc
tree copy propagation : 0.14 ( 1%) usr 0.02 ( 1%) sys 0.14 ( 1%) wall 70 kB ( 0%) ggc
tree CCP : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 100 kB ( 0%) ggc
callgraph optimization: 0.06 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 394 kB ( 1%) ggc
PRE : 0.08 ( 0%) usr 0.01 ( 0%) sys 0.07 ( 0%) wall 345 kB ( 1%) ggc
callgraph verifier : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 100 kB ( 0%) ggc
branch prediction : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 207 kB ( 0%) ggc
tree store copy prop : 0.03 ( 0%) usr 0.01 ( 0%) sys 0.04 ( 0%) wall 8 kB ( 0%) ggc
register scan : 0.11 ( 1%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall 4 kB ( 0%) ggc
dominance frontiers : 0.00 ( 0%) usr 0.01 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc
CPROP 1 : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 327 kB ( 1%) ggc
tree rename SSA copies: 0.01 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc
tree loop bounds : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 175 kB ( 0%) ggc
tree find ref. vars : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 350 kB ( 1%) ggc
tree aggressive DCE : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc
tree STORE-CCP : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 33 kB ( 0%) ggc
lower subreg : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc
loop invariant motion : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 37 kB ( 0%) ggc
tree reassociation : 0.03 ( 0%) usr 0.02 ( 1%) sys 0.02 ( 0%) wall 42 kB ( 0%) ggc
tree memory partitioning: 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 1 kB ( 0%) ggc
tree loop unswitching : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc
tree loop init : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 6 kB ( 0%) ggc
tree linearize phis : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 4 kB ( 0%) ggc
tree code sinking : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 10 kB ( 0%) ggc
tree CFG construction : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 1645 kB ( 4%) ggc
reorder blocks : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 114 kB ( 0%) ggc
ipa type escape : 0.02 ( 0%) usr 0.01 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc
tree split crit edges : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 287 kB ( 1%) ggc
tree eh : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc
tree SRA : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 22 kB ( 0%) ggc
tree DSE : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 12 kB ( 0%) ggc
load CSE after reload : 0.01 ( 0%) usr 0.01 ( 0%) sys 0.01 ( 0%) wall 10 kB ( 0%) ggc
ipa reference : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 1 kB ( 0%) ggc
tree copy headers : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 209 kB ( 0%) ggc
tree canonical iv : 0.03 ( 0%) usr 0.01 ( 0%) sys 0.01 ( 0%) wall 175 kB ( 0%) ggc
tree PHI insertion : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 83 kB ( 0%) ggc
life analysis : 0.36 ( 2%) usr 0.00 ( 0%) sys 0.42 ( 2%) wall 413 kB ( 1%) ggc
life info update : 0.20 ( 1%) usr 0.00 ( 0%) sys 0.17 ( 1%) wall 33 kB ( 0%) ggc
PHI merge : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 44 kB ( 0%) ggc
scev constant prop : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 37 kB ( 0%) ggc
flow analysis : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc
flow 2 : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 169 kB ( 0%) ggc
shorten branches : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc
symout : 0.00 ( 0%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc
TOTAL : 21.22 2.68 24.21 45583 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.
21.330u 2.880s 0:24.94 97.0% 0+0k 28+23io 0pf+0w