[LLVMbugs] [Bug 11811] New: Greedy Register Allocator taking a loooong time on module with many cleanups

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Jan 20 06:08:15 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=11811

             Bug #: 11811
           Summary: Greedy Register Allocator taking a loooong time on
                    module with many cleanups
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: baldrick at free.fr
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 7912
  --> http://llvm.org/bugs/attachment.cgi?id=7912
Original C++ testcase

This is the gcc testcase cleanup1.C (attached).  At -O1 gcc takes less than 4
seconds to compile it, while dragonegg takes 20 minutes or so.  Almost all of
the time is spent in codegen, and almost all of that is in register allocation,
namely Global Splitting.  To reproduce, run llc on the attached gzipped .ll
file.

$ llc cleanup1.ll -time-passes
...
===-------------------------------------------------------------------------===
                              Register Allocation
===-------------------------------------------------------------------------===
  Total Execution Time: 919.5335 seconds (920.2625 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  ---
Name ---
  908.0848 ( 98.8%)   0.2160 ( 93.1%)  908.3008 ( 98.8%)  908.9710 ( 98.8%) 
Global Splitting
  10.9647 (  1.2%)   0.0160 (  6.9%)  10.9807 (  1.2%)  11.0408 (  1.2%)  Evict
   0.1200 (  0.0%)   0.0000 (  0.0%)   0.1200 (  0.0%)   0.1249 (  0.0%) 
Spiller
...
===-------------------------------------------------------------------------===
                      ... Pass execution timing report ...
===-------------------------------------------------------------------------===
  Total Execution Time: 929.9901 seconds (930.7424 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  ---
Name ---
  919.4535 ( 98.9%)   0.2320 ( 56.9%)  919.6855 ( 98.9%)  920.4247 ( 98.9%) 
Greedy Register Allocator
   2.8242 (  0.3%)   0.0000 (  0.0%)   2.8242 (  0.3%)   2.8260 (  0.3%) 
Simple Register Coalescing

-- 
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