This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/28772] scheduler is too slow and O(n^2) for ia64
- From: "mkuvyrkov at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 25 Jan 2007 11:41:51 -0000
- Subject: [Bug rtl-optimization/28772] scheduler is too slow and O(n^2) for ia64
- References: <bug-28772-50@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from mkuvyrkov at gcc dot gnu dot org 2007-01-25 11:41 -------
(In reply to comment #3)
> scheduling :6473.35 (100%) usr 0.60 (88%) sys6473.98 (100%) wall
> 499608 kB (90%) ggc
>
On which revision of gcc-4_2-branch or trunk have you seen it? It looks to me
that this issue was fixed in rev. 112936 on April 14 2006.
On current trunk scheduler is accounted for 12% of total compile time:
Execution times (seconds)
garbage collection : 0.42 ( 1%) usr 0.00 ( 0%) sys 0.44 ( 1%) wall
0 kB ( 0%) ggc
callgraph construction: 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
322 kB ( 0%) ggc
callgraph optimization: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
1 kB ( 0%) ggc
CFG verifier : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall
0 kB ( 0%) ggc
trivially dead code : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
0 kB ( 0%) ggc
life analysis : 1.01 ( 2%) usr 0.00 ( 0%) sys 1.02 ( 2%) wall
2595 kB ( 4%) ggc
life info update : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
0 kB ( 0%) ggc
alias analysis : 0.21 ( 0%) usr 0.00 ( 0%) sys 0.22 ( 0%) wall
3461 kB ( 5%) ggc
register scan : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
0 kB ( 0%) ggc
rebuild jump labels : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
preprocessing : 0.03 ( 0%) usr 0.02 ( 8%) sys 0.04 ( 0%) wall
1066 kB ( 1%) ggc
lexical analysis : 0.04 ( 0%) usr 0.02 ( 8%) sys 0.08 ( 0%) wall
0 kB ( 0%) ggc
parser : 0.07 ( 0%) usr 0.03 (13%) sys 0.09 ( 0%) wall
1832 kB ( 3%) ggc
inline heuristics : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
0 kB ( 0%) ggc
tree gimplify : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
322 kB ( 0%) ggc
tree VRP : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
1 kB ( 0%) ggc
tree copy propagation : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
1 kB ( 0%) ggc
tree store copy prop : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree find ref. vars : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree PTA : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
6 kB ( 0%) ggc
tree alias analysis : 0.02 ( 0%) usr 0.03 (12%) sys 0.07 ( 0%) wall
0 kB ( 0%) ggc
tree SSA rewrite : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
900 kB ( 1%) ggc
tree SSA other : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree SSA incremental : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
0 kB ( 0%) ggc
tree operand scan : 0.38 ( 1%) usr 0.05 (21%) sys 0.38 ( 1%) wall
4839 kB ( 7%) ggc
dominator optimization: 0.38 ( 1%) usr 0.00 ( 0%) sys 0.38 ( 1%) wall
5794 kB ( 8%) ggc
tree STORE-CCP : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
256 kB ( 0%) ggc
tree CCP : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree PRE : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree forward propagate: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree conservative DCE : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
0 kB ( 0%) ggc
tree aggressive DCE : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree DSE : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
5 kB ( 0%) ggc
tree SSA to normal : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree rename SSA copies: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree SSA verifier : 0.75 ( 1%) usr 0.00 ( 0%) sys 0.75 ( 1%) wall
0 kB ( 0%) ggc
tree STMT verifier : 0.93 ( 2%) usr 0.00 ( 0%) sys 0.88 ( 2%) wall
0 kB ( 0%) ggc
callgraph verifier : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
0 kB ( 0%) ggc
dominance computation : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
expand : 0.30 ( 1%) usr 0.01 ( 4%) sys 0.29 ( 1%) wall
11970 kB (16%) ggc
jump : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
forward prop : 0.09 ( 0%) usr 0.01 ( 4%) sys 0.10 ( 0%) wall
602 kB ( 1%) ggc
CSE : 1.90 ( 3%) usr 0.00 ( 0%) sys 1.92 ( 3%) wall
2433 kB ( 3%) ggc
loop analysis : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
CSE 2 : 1.07 ( 2%) usr 0.00 ( 0%) sys 1.08 ( 2%) wall
703 kB ( 1%) ggc
flow analysis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
0 kB ( 0%) ggc
combiner : 0.19 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall
655 kB ( 1%) ggc
regmove : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
0 kB ( 0%) ggc
scheduling : 3.84 ( 7%) usr 0.00 ( 0%) sys 3.85 ( 7%) wall
5176 kB ( 7%) ggc
local alloc : 11.69 (21%) usr 0.01 ( 4%) sys 11.79 (21%) wall
2340 kB ( 3%) ggc
global alloc : 27.39 (49%) usr 0.04 (17%) sys 27.76 (49%) wall
6809 kB ( 9%) ggc
reload CSE regs : 1.50 ( 3%) usr 0.00 ( 0%) sys 1.49 ( 3%) wall
1553 kB ( 2%) ggc
flow 2 : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
958 kB ( 1%) ggc
peephole 2 : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
0 kB ( 0%) ggc
rename registers : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall
0 kB ( 0%) ggc
scheduling 2 : 2.80 ( 5%) usr 0.02 ( 8%) sys 2.85 ( 5%) wall
15552 kB (21%) ggc
machine dep reorg : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
final : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall
0 kB ( 0%) ggc
TOTAL : 56.08 0.24 56.85
72607 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.
real 0m56.870s
user 0m56.089s
sys 0m0.256s
--
mkuvyrkov at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mkuvyrkov at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28772