[LLVMbugs] [Bug 181] NEW: C++ front-end has a very inefficient implementation of the LLVM type-system

bugzilla-daemon at zion.cs.uiuc.edu bugzilla-daemon at zion.cs.uiuc.edu
Sat Dec 13 21:09:02 PST 2003


http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=181

           Summary: C++ front-end has a very inefficient implementation of
                    the LLVM type-system
           Product: tools
           Version: 1.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: llvm-g++
        AssignedTo: sabre at nondot.org
        ReportedBy: sabre at nondot.org


I tried compiling "Gerald's testcase" from:
http://gcc.gnu.org/PR?8361

The LLVM optimizer is _incredibly_ more efficient than the GCC optimizer,
especially the tree-ssa one, but the LLVM C++-Frontend is very slow.  I built a
profiled version of the C++ front-end and ran it on the testcase.  This is the
profile I got:

 time   seconds   seconds    calls   s/call   s/call  name    
 86.53    130.81   130.81 1771685490     0.00     0.00  llvm_type_is_deep_equal
  3.50    136.10     5.29   382442     0.00     0.00 
llvm_type_get_cannonical_version
  1.17    137.86     1.77 15010941     0.00     0.00  DeleteFunctionOnlyEntries
  1.13    139.57     1.71     1359     0.00     0.00  llvm_type_print_struct_expand
  0.65    140.55     0.98      348     0.00     0.00  llvm_type_create_opaque
  0.61    141.47     0.92     7599     0.00     0.00  llvm_expand_function_start
 
Looking kinda fishy.  Perhaps I should actually use a hash-table in the
C-Frontend.  Hrm.  :)   I wish GCC wasn't GPL'd so that I didn't have to
reinvent VMCore in the C front-end.

-Chris



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