[LLVMbugs] [Bug 209] NEW: The optimizer is slow on this testcase

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Thu Jan 15 08:50:27 PST 2004


           Summary: The optimizer is slow on this testcase
           Product: libraries
           Version: 1.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Scalar Optimizations
        AssignedTo: sabre at nondot.org
        ReportedBy: sabre at nondot.org

When running gccas on this (large) testcase, the global optimizer takes a very
long time (this is compiled in debug mode, so it's a ~3x slower than in release
mode, but it's still bad):

  Total Execution Time: 415.0599 seconds (415.0464 wall clock)

   ---User Time---   --System Time--   --- Name ---
  290.8299 ( 70.2%)   0.7900 ( 87.7%)  Global Common Subexpression Elimination
  67.7800 ( 16.3%)   0.0099 (  1.1%)   Scalar Replacement of Aggregates
  46.3699 ( 11.1%)   0.0800 (  8.8%)   Function Integration/Inlining
   7.9800 (  1.9%)   0.0200 (  2.2%)   Combine redundant instructions
   0.3999 (  0.0%)   0.0000 (  0.0%)   Combine redundant instruction

  3086 gcse           - Number of instructions removed
     8 inline         - Number of functions deleted because all callers found
  2002 inline         - Number of functions inlined
 10925 instcombine    - Number of dead inst eliminated
 19223 instcombine    - Number of insts combined
  7314 scalarrepl     - Number of allocas promoted
  2413 scalarrepl     - Number of allocas broken up

All of the rest of the passes take less than .3s to run.

The GCSE slowdown is because the 'basicaa' pass currently has to recompute all
of the information it needs for every query, which is very slow (there are some
infrastructure improvements needed to fix this).  There are many alias pairs
that GCSE asks about.

I'm not sure why SRoA is taking so long, besides the fact that it is doing a lot
of expansions.  The inlining pass can also probably be sped up.  These two can
be improved just by looking at the profiling output probably.

This bug is just a placeholder so that I remember to get back to this when I
have time.


------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

More information about the llvm-bugs mailing list