This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/18687] [4.3/4.4/4.5/4.6 Regression] >200% compile time regression compared to gcc-3.4
- From: "hubicka at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 8 Jan 2011 16:11:15 +0000
- Subject: [Bug tree-optimization/18687] [4.3/4.4/4.5/4.6 Regression] >200% compile time regression compared to gcc-3.4
- Auto-submitted: auto-generated
- References: <bug-18687-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18687
--- Comment #53 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-01-08 16:10:38 UTC ---
Concerning Steven's comment, for infcode the time report is:
callgraph optimization: 0.07 ( 1%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
139 kB ( 0%) ggc
cfg cleanup : 0.22 ( 2%) usr 0.00 ( 0%) sys 0.19 ( 2%) wall
2591 kB ( 1%) ggc
trivially dead code : 0.08 ( 1%) usr 0.00 ( 0%) sys 0.06 ( 1%) wall
0 kB ( 0%) ggc
df scan insns : 0.08 ( 1%) usr 0.00 ( 0%) sys 0.08 ( 1%) wall
11 kB ( 0%) ggc
df reaching defs : 0.09 ( 1%) usr 0.00 ( 0%) sys 0.14 ( 1%) wall
0 kB ( 0%) ggc
df live regs : 0.49 ( 4%) usr 0.00 ( 0%) sys 0.43 ( 4%) wall
0 kB ( 0%) ggc
df live&initialized regs: 0.37 ( 3%) usr 0.00 ( 0%) sys 0.44 ( 4%) wall
0 kB ( 0%) ggc
df use-def / def-use chains: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%)
wall 0 kB ( 0%) ggc
df reg dead/unused notes: 0.16 ( 1%) usr 0.00 ( 0%) sys 0.12 ( 1%) wall
1805 kB ( 1%) ggc
register information : 0.06 ( 1%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
0 kB ( 0%) ggc
alias analysis : 0.14 ( 1%) usr 0.00 ( 0%) sys 0.12 ( 1%) wall
8010 kB ( 4%) ggc
alias stmt walking : 0.09 ( 1%) usr 0.02 ( 7%) sys 0.09 ( 1%) wall
268 kB ( 0%) ggc
parser : 0.16 ( 1%) usr 0.02 ( 7%) sys 0.20 ( 2%) wall
11320 kB ( 6%) ggc
tree gimplify : 0.15 ( 1%) usr 0.02 ( 7%) sys 0.15 ( 1%) wall
16123 kB ( 8%) ggc
tree CFG cleanup : 0.18 ( 2%) usr 0.01 ( 3%) sys 0.13 ( 1%) wall
881 kB ( 0%) ggc
tree VRP : 0.43 ( 4%) usr 0.02 ( 7%) sys 0.38 ( 3%) wall
20850 kB (10%) ggc
tree copy propagation : 0.06 ( 1%) usr 0.00 ( 0%) sys 0.14 ( 1%) wall
1638 kB ( 1%) ggc
tree PTA : 0.35 ( 3%) usr 0.00 ( 0%) sys 0.35 ( 3%) wall
331 kB ( 0%) ggc
tree SSA rewrite : 0.11 ( 1%) usr 0.01 ( 3%) sys 0.13 ( 1%) wall
6269 kB ( 3%) ggc
tree SSA incremental : 0.17 ( 1%) usr 0.01 ( 3%) sys 0.16 ( 1%) wall
1321 kB ( 1%) ggc
dominator optimization: 0.18 ( 2%) usr 0.00 ( 0%) sys 0.17 ( 1%) wall
5507 kB ( 3%) ggc
tree CCP : 0.19 ( 2%) usr 0.00 ( 0%) sys 0.10 ( 1%) wall
1065 kB ( 1%) ggc
tree reassociation : 0.06 ( 1%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
1273 kB ( 1%) ggc
tree PRE : 0.52 ( 5%) usr 0.02 ( 7%) sys 0.65 ( 6%) wall
6675 kB ( 3%) ggc
tree FRE : 0.23 ( 2%) usr 0.02 ( 7%) sys 0.24 ( 2%) wall
801 kB ( 0%) ggc
tree forward propagate: 0.06 ( 1%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
751 kB ( 0%) ggc
tree aggressive DCE : 0.09 ( 1%) usr 0.00 ( 0%) sys 0.16 ( 1%) wall
2770 kB ( 1%) ggc
tree DSE : 0.06 ( 1%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
34 kB ( 0%) ggc
scev constant prop : 0.06 ( 1%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
4368 kB ( 2%) ggc
tree iv optimization : 0.22 ( 2%) usr 0.02 ( 7%) sys 0.27 ( 2%) wall
18289 kB ( 9%) ggc
dominance computation : 0.07 ( 1%) usr 0.01 ( 3%) sys 0.08 ( 1%) wall
0 kB ( 0%) ggc
out of ssa : 0.08 ( 1%) usr 0.00 ( 0%) sys 0.13 ( 1%) wall
3 kB ( 0%) ggc
expand : 1.08 ( 9%) usr 0.00 ( 0%) sys 1.08 ( 9%) wall
17470 kB ( 9%) ggc
forward prop : 0.16 ( 1%) usr 0.00 ( 0%) sys 0.14 ( 1%) wall
2050 kB ( 1%) ggc
CSE : 0.36 ( 3%) usr 0.00 ( 0%) sys 0.30 ( 3%) wall
173 kB ( 0%) ggc
dead store elim1 : 0.10 ( 1%) usr 0.00 ( 0%) sys 0.11 ( 1%) wall
1638 kB ( 1%) ggc
dead store elim2 : 0.11 ( 1%) usr 0.00 ( 0%) sys 0.13 ( 1%) wall
1696 kB ( 1%) ggc
loop invariant motion : 0.07 ( 1%) usr 0.00 ( 0%) sys 0.10 ( 1%) wall
0 kB ( 0%) ggc
CPROP : 0.19 ( 2%) usr 0.00 ( 0%) sys 0.22 ( 2%) wall
2907 kB ( 1%) ggc
PRE : 0.08 ( 1%) usr 0.00 ( 0%) sys 0.09 ( 1%) wall
89 kB ( 0%) ggc
CSE 2 : 0.28 ( 2%) usr 0.00 ( 0%) sys 0.20 ( 2%) wall
118 kB ( 0%) ggc
combiner : 0.36 ( 3%) usr 0.00 ( 0%) sys 0.42 ( 4%) wall
7042 kB ( 3%) ggc
integrated RA : 0.56 ( 5%) usr 0.00 ( 0%) sys 0.52 ( 4%) wall
2972 kB ( 1%) ggc
reload : 0.30 ( 3%) usr 0.00 ( 0%) sys 0.34 ( 3%) wall
833 kB ( 0%) ggc
reload CSE regs : 0.27 ( 2%) usr 0.00 ( 0%) sys 0.29 ( 2%) wall
3270 kB ( 2%) ggc
hard reg cprop : 0.06 ( 1%) usr 0.00 ( 0%) sys 0.07 ( 1%) wall
21 kB ( 0%) ggc
scheduling 2 : 0.38 ( 3%) usr 0.00 ( 0%) sys 0.40 ( 3%) wall
211 kB ( 0%) ggc
reorder blocks : 0.07 ( 1%) usr 0.00 ( 0%) sys 0.08 ( 1%) wall
2178 kB ( 1%) ggc
final : 0.16 ( 1%) usr 0.01 ( 3%) sys 0.15 ( 1%) wall
99 kB ( 0%) ggc
rest of compilation : 0.27 ( 2%) usr 0.01 ( 3%) sys 0.23 ( 2%) wall
968 kB ( 0%) ggc
remove unused locals : 0.34 ( 3%) usr 0.00 ( 0%) sys 0.27 ( 2%) wall
0 kB ( 0%) ggc
TOTAL : 11.46 0.30 11.77
201495 kB
so IRA, expand, VRP and DF is still slow despite the fix in accounting vars.
For hashes:
ipa pure const : 0.09 ( 1%) usr 0.00 ( 0%) sys 0.12 ( 2%) wall
4617 kB ( 3%) ggc
cfg cleanup : 0.10 ( 1%) usr 0.00 ( 0%) sys 0.13 ( 2%) wall
860 kB ( 1%) ggc
df scan insns : 0.04 ( 1%) usr 0.00 ( 0%) sys 0.05 ( 1%) wall
32 kB ( 0%) ggc
df reaching defs : 0.07 ( 1%) usr 0.00 ( 0%) sys 0.04 ( 1%) wall
0 kB ( 0%) ggc
df live regs : 0.15 ( 2%) usr 0.00 ( 0%) sys 0.11 ( 2%) wall
0 kB ( 0%) ggc
df live&initialized regs: 0.04 ( 1%) usr 0.00 ( 0%) sys 0.06 ( 1%) wall
0 kB ( 0%) ggc
df reg dead/unused notes: 0.15 ( 2%) usr 0.00 ( 0%) sys 0.12 ( 2%) wall
1856 kB ( 1%) ggc
alias analysis : 0.09 ( 1%) usr 0.00 ( 0%) sys 0.16 ( 2%) wall
8517 kB ( 5%) ggc
parser : 0.07 ( 1%) usr 0.03 (12%) sys 0.11 ( 2%) wall
5992 kB ( 4%) ggc
tree gimplify : 0.08 ( 1%) usr 0.01 ( 4%) sys 0.07 ( 1%) wall
9748 kB ( 6%) ggc
tree CFG cleanup : 0.08 ( 1%) usr 0.00 ( 0%) sys 0.12 ( 2%) wall
489 kB ( 0%) ggc
tree VRP : 0.19 ( 3%) usr 0.01 ( 4%) sys 0.21 ( 3%) wall
8356 kB ( 5%) ggc
tree copy propagation : 0.06 ( 1%) usr 0.00 ( 0%) sys 0.09 ( 1%) wall
607 kB ( 0%) ggc
tree PTA : 0.29 ( 4%) usr 0.00 ( 0%) sys 0.29 ( 4%) wall
235 kB ( 0%) ggc
tree SSA rewrite : 0.05 ( 1%) usr 0.01 ( 4%) sys 0.04 ( 1%) wall
3867 kB ( 2%) ggc
tree SSA incremental : 0.06 ( 1%) usr 0.02 ( 8%) sys 0.03 ( 0%) wall
796 kB ( 0%) ggc
dominator optimization: 0.07 ( 1%) usr 0.00 ( 0%) sys 0.04 ( 1%) wall
2538 kB ( 2%) ggc
tree CCP : 0.19 ( 3%) usr 0.00 ( 0%) sys 0.22 ( 3%) wall
1652 kB ( 1%) ggc
tree PRE : 0.37 ( 5%) usr 0.02 ( 8%) sys 0.40 ( 6%) wall
12227 kB ( 7%) ggc
tree FRE : 0.15 ( 2%) usr 0.00 ( 0%) sys 0.15 ( 2%) wall
1216 kB ( 1%) ggc
tree code sinking : 0.04 ( 1%) usr 0.00 ( 0%) sys 0.06 ( 1%) wall
358 kB ( 0%) ggc
tree aggressive DCE : 0.06 ( 1%) usr 0.00 ( 0%) sys 0.12 ( 2%) wall
3531 kB ( 2%) ggc
tree loop invariant motion: 0.04 ( 1%) usr 0.00 ( 0%) sys 0.02 ( 0%)
wall 0 kB ( 0%) ggc
complete unrolling : 0.08 ( 1%) usr 0.00 ( 0%) sys 0.06 ( 1%) wall
2857 kB ( 2%) ggc
tree iv optimization : 0.47 ( 7%) usr 0.02 ( 8%) sys 0.45 ( 6%) wall
17694 kB (11%) ggc
dominance computation : 0.07 ( 1%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
0 kB ( 0%) ggc
out of ssa : 0.04 ( 1%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
10 kB ( 0%) ggc
expand vars : 0.04 ( 1%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
6220 kB ( 4%) ggc
expand : 0.23 ( 3%) usr 0.00 ( 0%) sys 0.24 ( 3%) wall
12120 kB ( 7%) ggc
forward prop : 0.04 ( 1%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
1821 kB ( 1%) ggc
CSE : 0.10 ( 1%) usr 0.00 ( 0%) sys 0.16 ( 2%) wall
34 kB ( 0%) ggc
dead code elimination : 0.04 ( 1%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
0 kB ( 0%) ggc
dead store elim1 : 0.06 ( 1%) usr 0.00 ( 0%) sys 0.06 ( 1%) wall
829 kB ( 0%) ggc
CPROP : 0.23 ( 3%) usr 0.01 ( 4%) sys 0.18 ( 2%) wall
2085 kB ( 1%) ggc
PRE : 0.04 ( 1%) usr 0.00 ( 0%) sys 0.04 ( 1%) wall
0 kB ( 0%) ggc
CSE 2 : 0.07 ( 1%) usr 0.00 ( 0%) sys 0.06 ( 1%) wall
40 kB ( 0%) ggc
branch prediction : 0.09 ( 1%) usr 0.00 ( 0%) sys 0.06 ( 1%) wall
2878 kB ( 2%) ggc
combiner : 0.65 ( 9%) usr 0.01 ( 4%) sys 0.69 (10%) wall
14078 kB ( 8%) ggc
regmove : 0.06 ( 1%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
0 kB ( 0%) ggc
integrated RA : 0.51 ( 7%) usr 0.00 ( 0%) sys 0.50 ( 7%) wall
5209 kB ( 3%) ggc
reload : 0.19 ( 3%) usr 0.00 ( 0%) sys 0.26 ( 4%) wall
369 kB ( 0%) ggc
reload CSE regs : 0.20 ( 3%) usr 0.00 ( 0%) sys 0.15 ( 2%) wall
2212 kB ( 1%) ggc
scheduling 2 : 0.21 ( 3%) usr 0.01 ( 4%) sys 0.16 ( 2%) wall
141 kB ( 0%) ggc
machine dep reorg : 0.06 ( 1%) usr 0.00 ( 0%) sys 0.04 ( 1%) wall
38 kB ( 0%) ggc
reorder blocks : 0.09 ( 1%) usr 0.00 ( 0%) sys 0.04 ( 1%) wall
340 kB ( 0%) ggc
final : 0.04 ( 1%) usr 0.00 ( 0%) sys 0.05 ( 1%) wall
167 kB ( 0%) ggc
rest of compilation : 0.10 ( 1%) usr 0.02 ( 8%) sys 0.11 ( 2%) wall
1437 kB ( 1%) ggc
remove unused locals : 0.07 ( 1%) usr 0.01 ( 4%) sys 0.10 ( 1%) wall
0 kB ( 0%) ggc
unaccounted todo : 0.05 ( 1%) usr 0.01 ( 4%) sys 0.06 ( 1%) wall
0 kB ( 0%) ggc
TOTAL : 6.94 0.26 7.21
166488 kB
Here we now have ivopts, combiner and IRA showing top.
Steven, would be possible to have comparsion with 4.6 included?