[Bug rtl-optimization/42175] Slow compile and much memory use at -O1
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Nov 27 11:58:00 GMT 2009
------- Comment #3 from rguenth at gcc dot gnu dot org 2009-11-27 11:58 -------
4.5 shows at -O1:
Execution times (seconds)
garbage collection : 1.66 ( 1%) usr 0.05 ( 0%) sys 1.73 ( 1%) wall
0 kB ( 0%) ggc
callgraph construction: 0.11 ( 0%) usr 0.00 ( 0%) sys 0.13 ( 0%) wall
12135 kB ( 1%) ggc
callgraph optimization: 0.77 ( 1%) usr 0.03 ( 0%) sys 0.83 ( 1%) wall
2655 kB ( 0%) ggc
ipa reference : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall
0 kB ( 0%) ggc
ipa pure const : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.15 ( 0%) wall
338 kB ( 0%) ggc
ipa free lang data : 0.20 ( 0%) usr 0.00 ( 0%) sys 0.20 ( 0%) wall
679 kB ( 0%) ggc
cfg cleanup : 0.95 ( 1%) usr 0.00 ( 0%) sys 0.99 ( 1%) wall
308 kB ( 0%) ggc
trivially dead code : 0.33 ( 0%) usr 0.00 ( 0%) sys 0.31 ( 0%) wall
0 kB ( 0%) ggc
df multiple defs : 9.71 ( 7%) usr 0.34 ( 2%) sys 10.07 ( 7%) wall
0 kB ( 0%) ggc
df reaching defs : 6.12 ( 5%) usr 0.01 ( 0%) sys 5.99 ( 4%) wall
0 kB ( 0%) ggc
df live regs : 6.30 ( 5%) usr 0.00 ( 0%) sys 6.32 ( 4%) wall
0 kB ( 0%) ggc
df live&initialized regs: 8.70 ( 7%) usr 0.00 ( 0%) sys 8.73 ( 6%) wall
0 kB ( 0%) ggc
df use-def / def-use chains: 0.11 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%)
wall 0 kB ( 0%) ggc
df reg dead/unused notes: 1.56 ( 1%) usr 0.00 ( 0%) sys 1.56 ( 1%) wall
19924 kB ( 1%) ggc
register information : 0.61 ( 0%) usr 0.00 ( 0%) sys 0.58 ( 0%) wall
0 kB ( 0%) ggc
alias analysis : 0.69 ( 1%) usr 0.00 ( 0%) sys 0.68 ( 0%) wall
36096 kB ( 2%) ggc
alias stmt walking : 0.23 ( 0%) usr 0.11 ( 1%) sys 0.32 ( 0%) wall
0 kB ( 0%) ggc
register scan : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
117 kB ( 0%) ggc
rebuild jump labels : 0.20 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall
0 kB ( 0%) ggc
preprocessing : 0.12 ( 0%) usr 0.12 ( 1%) sys 0.25 ( 0%) wall
2516 kB ( 0%) ggc
parser : 2.13 ( 2%) usr 0.30 ( 2%) sys 2.57 ( 2%) wall
284375 kB (17%) ggc
name lookup : 0.43 ( 0%) usr 0.27 ( 2%) sys 0.54 ( 0%) wall
26614 kB ( 2%) ggc
inline heuristics : 0.65 ( 0%) usr 0.02 ( 0%) sys 0.67 ( 0%) wall
10162 kB ( 1%) ggc
integration : 1.16 ( 1%) usr 0.19 ( 1%) sys 1.21 ( 1%) wall
250954 kB (15%) ggc
tree gimplify : 0.58 ( 0%) usr 0.02 ( 0%) sys 0.58 ( 0%) wall
101453 kB ( 6%) ggc
tree eh : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.13 ( 0%) wall
7971 kB ( 0%) ggc
tree CFG construction : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.14 ( 0%) wall
29744 kB ( 2%) ggc
tree CFG cleanup : 1.40 ( 1%) usr 0.01 ( 0%) sys 1.22 ( 1%) wall
6447 kB ( 0%) ggc
tree copy propagation : 0.68 ( 1%) usr 0.00 ( 0%) sys 0.75 ( 1%) wall
2410 kB ( 0%) ggc
tree find ref. vars : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall
5799 kB ( 0%) ggc
tree PTA : 0.51 ( 0%) usr 0.02 ( 0%) sys 0.58 ( 0%) wall
7695 kB ( 0%) ggc
tree PHI insertion : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
8341 kB ( 0%) ggc
tree SSA rewrite : 0.52 ( 0%) usr 0.01 ( 0%) sys 0.58 ( 0%) wall
36397 kB ( 2%) ggc
tree SSA other : 0.09 ( 0%) usr 0.03 ( 0%) sys 0.13 ( 0%) wall
352 kB ( 0%) ggc
tree SSA incremental : 2.69 ( 2%) usr 0.04 ( 0%) sys 2.87 ( 2%) wall
14341 kB ( 1%) ggc
tree operand scan : 0.54 ( 0%) usr 0.17 ( 1%) sys 0.85 ( 1%) wall
100704 kB ( 6%) ggc
dominator optimization: 0.90 ( 1%) usr 0.00 ( 0%) sys 0.97 ( 1%) wall
23583 kB ( 1%) ggc
tree SRA : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
417 kB ( 0%) ggc
tree CCP : 0.82 ( 1%) usr 0.01 ( 0%) sys 0.94 ( 1%) wall
8250 kB ( 0%) ggc
tree PHI const/copy prop: 0.08 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
492 kB ( 0%) ggc
tree split crit edges : 0.04 ( 0%) usr 0.01 ( 0%) sys 0.05 ( 0%) wall
19160 kB ( 1%) ggc
tree reassociation : 0.31 ( 0%) usr 0.00 ( 0%) sys 0.24 ( 0%) wall
7811 kB ( 0%) ggc
tree FRE : 1.22 ( 1%) usr 0.01 ( 0%) sys 1.29 ( 1%) wall
9250 kB ( 1%) ggc
tree code sinking : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.21 ( 0%) wall
2506 kB ( 0%) ggc
tree linearize phis : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
801 kB ( 0%) ggc
tree forward propagate: 0.23 ( 0%) usr 0.01 ( 0%) sys 0.17 ( 0%) wall
7457 kB ( 0%) ggc
tree phiprop : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
13 kB ( 0%) ggc
tree conservative DCE : 0.32 ( 0%) usr 0.02 ( 0%) sys 0.38 ( 0%) wall
26 kB ( 0%) ggc
tree aggressive DCE : 0.22 ( 0%) usr 0.01 ( 0%) sys 0.24 ( 0%) wall
35 kB ( 0%) ggc
tree DSE : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall
440 kB ( 0%) ggc
PHI merge : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
1351 kB ( 0%) ggc
tree loop bounds : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall
4813 kB ( 0%) ggc
loop invariant motion : 0.45 ( 0%) usr 0.00 ( 0%) sys 0.36 ( 0%) wall
57 kB ( 0%) ggc
tree canonical iv : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall
5261 kB ( 0%) ggc
scev constant prop : 0.15 ( 0%) usr 0.01 ( 0%) sys 0.11 ( 0%) wall
9369 kB ( 1%) ggc
complete unrolling : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
3410 kB ( 0%) ggc
tree iv optimization : 1.86 ( 1%) usr 0.01 ( 0%) sys 1.73 ( 1%) wall
145322 kB ( 9%) ggc
tree loop init : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall
4518 kB ( 0%) ggc
tree copy headers : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.13 ( 0%) wall
12790 kB ( 1%) ggc
tree SSA uncprop : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
0 kB ( 0%) ggc
tree NRV optimization : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
21 kB ( 0%) ggc
tree rename SSA copies: 0.24 ( 0%) usr 0.00 ( 0%) sys 0.18 ( 0%) wall
0 kB ( 0%) ggc
tree switch initialization conversion: 0.00 ( 0%) usr 0.01 ( 0%) sys
0.01 ( 0%) wall 3 kB ( 0%) ggc
dominance frontiers : 0.58 ( 0%) usr 0.00 ( 0%) sys 0.56 ( 0%) wall
0 kB ( 0%) ggc
dominance computation : 1.13 ( 1%) usr 0.00 ( 0%) sys 1.06 ( 1%) wall
0 kB ( 0%) ggc
expand : 6.74 ( 5%) usr 0.04 ( 0%) sys 7.00 ( 5%) wall
197896 kB (12%) ggc
varconst : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
340 kB ( 0%) ggc
lower subreg : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
0 kB ( 0%) ggc
jump : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall
4317 kB ( 0%) ggc
forward prop : 1.25 ( 1%) usr 0.02 ( 0%) sys 1.20 ( 1%) wall
16469 kB ( 1%) ggc
CSE : 0.82 ( 1%) usr 0.00 ( 0%) sys 0.74 ( 0%) wall
1324 kB ( 0%) ggc
dead code elimination : 0.28 ( 0%) usr 0.00 ( 0%) sys 0.25 ( 0%) wall
0 kB ( 0%) ggc
dead store elim1 : 0.83 ( 1%) usr 0.01 ( 0%) sys 0.80 ( 1%) wall
10643 kB ( 1%) ggc
dead store elim2 : 0.63 ( 0%) usr 0.00 ( 0%) sys 0.69 ( 0%) wall
15696 kB ( 1%) ggc
loop analysis : 39.45 (30%) usr 0.00 ( 0%) sys 39.59 (27%) wall
8374 kB ( 1%) ggc
branch prediction : 0.44 ( 0%) usr 0.00 ( 0%) sys 0.39 ( 0%) wall
14907 kB ( 1%) ggc
combiner : 2.66 ( 2%) usr 0.02 ( 0%) sys 2.90 ( 2%) wall
57748 kB ( 3%) ggc
if-conversion : 1.04 ( 1%) usr 0.02 ( 0%) sys 1.05 ( 1%) wall
7066 kB ( 0%) ggc
integrated RA : 7.11 ( 5%) usr 11.66 (85%) sys 20.52 (14%) wall
34152 kB ( 2%) ggc
reload : 5.83 ( 4%) usr 0.02 ( 0%) sys 5.80 ( 4%) wall
34513 kB ( 2%) ggc
reload CSE regs : 3.73 ( 3%) usr 0.01 ( 0%) sys 3.73 ( 3%) wall
16022 kB ( 1%) ggc
thread pro- & epilogue: 0.21 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall
3221 kB ( 0%) ggc
if-conversion 2 : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall
2270 kB ( 0%) ggc
combine stack adjustments: 0.07 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
0 kB ( 0%) ggc
hard reg cprop : 0.51 ( 0%) usr 0.00 ( 0%) sys 0.54 ( 0%) wall
184 kB ( 0%) ggc
machine dep reorg : 0.46 ( 0%) usr 0.00 ( 0%) sys 0.39 ( 0%) wall
179 kB ( 0%) ggc
reorder blocks : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall
5860 kB ( 0%) ggc
final : 1.05 ( 1%) usr 0.00 ( 0%) sys 0.94 ( 1%) wall
1285 kB ( 0%) ggc
tree if-combine : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
25 kB ( 0%) ggc
TOTAL : 133.52 13.64 149.03
1669511 kB
so we spend 30% in "loop analysis" (all RTL loop opt passes) which is
a lot better than 4.4 but still too much for -O1.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2009-11-27 11:58:38
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42175
More information about the Gcc-bugs
mailing list