[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