[LLVMbugs] [Bug 5708] New: X86ISelDAGToDAG.ii is very to slow compile with llvm-g++
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Mon Dec 7 05:06:29 PST 2009
http://llvm.org/bugs/show_bug.cgi?id=5708
Summary: X86ISelDAGToDAG.ii is very to slow compile with llvm-g++
Product: new-bugs
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: edwintorok at gmail.com
CC: llvmbugs at cs.uiuc.edu
With llvm-g++ r90759 it takes ~2m30s to compile X86ISelDAGToDag at -O2,
the same file compiled with gcc 4.3.4 takes 44s (on an Intel Core 2 Quad Q9550
@2.83Ghz)
opt -O2 takes 57s (most time spent in inlining, dse and gvn), llc takes 1m45s
(most time spent in register coalescer).
===-------------------------------------------------------------------------===
... Pass execution timing report ...
===-------------------------------------------------------------------------===
Total Execution Time: 56.7436 seconds (56.8448 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- ---
Name ---
21.1693 ( 37.4%) 0.0200 ( 14.7%) 21.1893 ( 37.3%) 21.1669 ( 37.2%)
Function Integration/Inlining
16.5410 ( 29.2%) 0.0040 ( 2.9%) 16.5450 ( 29.2%) 16.5990 ( 29.2%) Dead
Store Elimination
13.4608 ( 23.8%) 0.0120 ( 8.8%) 13.4728 ( 23.7%) 13.4672 ( 23.7%)
Global Value Numbering
0.9241 ( 1.6%) 0.0040 ( 2.9%) 0.9281 ( 1.6%) 0.9382 ( 1.7%)
Combine redundant instructions
0.6240 ( 1.1%) 0.0000 ( 0.0%) 0.6240 ( 1.1%) 0.6235 ( 1.1%)
Combine redundant instructions
....
56.6075 (100.0%) 0.1360 (100.0%) 56.7436 (100.0%) 56.8448 (100.0%) TOTAL
===-------------------------------------------------------------------------===
Instruction Selection and Scheduling
===-------------------------------------------------------------------------===
Total Execution Time: 3.0202 seconds (3.1079 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- ---
Name ---
0.5160 ( 17.8%) 0.0040 ( 3.1%) 0.5200 ( 17.2%) 0.4981 ( 16.0%) DAG
Legalization
0.4440 ( 15.4%) 0.0040 ( 3.1%) 0.4480 ( 14.8%) 0.4875 ( 15.7%)
Instruction Selection
0.3760 ( 13.0%) 0.0200 ( 15.6%) 0.3960 ( 13.1%) 0.4228 ( 13.6%) Type
Legalization
0.3760 ( 13.0%) 0.0280 ( 21.9%) 0.4040 ( 13.4%) 0.4164 ( 13.4%)
Instruction Scheduling
0.3880 ( 13.4%) 0.0200 ( 15.6%) 0.4080 ( 13.5%) 0.4152 ( 13.4%)
Instruction Creation
0.2400 ( 8.3%) 0.0080 ( 6.2%) 0.2480 ( 8.2%) 0.2538 ( 8.2%) DAG
Combining 1
0.2000 ( 6.9%) 0.0080 ( 6.2%) 0.2080 ( 6.9%) 0.2172 ( 7.0%)
Vector Legalization
0.1480 ( 5.1%) 0.0040 ( 3.1%) 0.1520 ( 5.0%) 0.1797 ( 5.8%) DAG
Combining after legalize types
0.1600 ( 5.5%) 0.0240 ( 18.7%) 0.1840 ( 6.1%) 0.1632 ( 5.3%) DAG
Combining 2
0.0440 ( 1.5%) 0.0080 ( 6.2%) 0.0520 ( 1.7%) 0.0540 ( 1.7%)
Instruction Scheduling Cleanup
2.8922 (100.0%) 0.1280 (100.0%) 3.0202 (100.0%) 3.1079 (100.0%) TOTAL
===-------------------------------------------------------------------------===
... Pass execution timing report ...
===-------------------------------------------------------------------------===
Total Execution Time: 104.5785 seconds (104.6539 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- ---
Name ---
93.9219 ( 90.3%) 0.1840 ( 32.2%) 94.1059 ( 90.0%) 94.1709 ( 90.0%)
Simple Register Coalescing
4.1883 ( 4.0%) 0.2760 ( 48.3%) 4.4643 ( 4.3%) 4.4549 ( 4.3%) X86
DAG->DAG Instruction Selection
1.6761 ( 1.6%) 0.0080 ( 1.4%) 1.6841 ( 1.6%) 1.6592 ( 1.6%) Live
Variable Analysis
0.9801 ( 0.9%) 0.0040 ( 0.7%) 0.9841 ( 0.9%) 1.0015 ( 1.0%)
Linear Scan Register Allocator
0.9241 ( 0.9%) 0.0000 ( 0.0%) 0.9241 ( 0.9%) 0.9935 ( 0.9%) Post
RA top-down list latency scheduler
......
104.0065 (100.0%) 0.5720 (100.0%) 104.5785 (100.0%) 104.6539 (100.0%)
TOTAL
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list