| 
 
 
Back to: 
Test Results 
LLVM Page 
  | 
 
 
CVS Tree Overview:
- CVS Checkout Log
    $NumDirsInCVS dirs, $NumFilesInCVS files, $LOC
    lines of code, checked out in $CVSCheckoutTime seconds
  
 - Compilation Log
    $BuildError
    Time to configure CVS tree:      $ConfigTime seconds
               ($ConfigWallTime seconds wall time) 
    Time to build CVS tree:      $BuildTime seconds
               ($BuildWallTime seconds wall time) 
    Number of object files compiled: $NumObjects 
    Number of libraries linked: $NumLibraries 
    Number of executables linked: $NumExecutables 
 
  
Warnings during the build:
 
  
 Changes to CVS:
- Users who committed to CVS: $UserCommitList
 - Users who updated from CVS: $UserUpdateList
 - Added Files:    $AddedFilesList
 - Modified Files: $ModifiedFilesList
 - Removed Files:  $RemovedFilesList
  
 Changes to Warnings:
- Warnings Added: $WarningsAdded
 - Warnings Removed: $WarningsRemoved
  
 Changes in the test suite:
- New Tests: $TestsAdded
 - Removed Tests: $TestsRemoved
 - Newly passing tests: $TestsFixed
 - Newly failing tests: $TestsBroken
  
  
Here are some charts showing how the LLVM optimizer and code generators are
changing over time.  For now we use the Olden benchmark suite to measure this,
but eventually we will switch to using SPEC CPU2000.  All programs are run with
"LARGE_PROBLEM_SIZE" enabled.  Click on any of the charts to get a larger
version. 
 Compilation Measurements:
  
Size of LLVM bytecode files
 | 
  
Size of native machine code for each program (generated by the JIT)
 |  
  
Time to run the LLVM optimizer on each program
 | 
 |  
 
Program Execution Measurements:
  
Execution time for CBE generated executable
 | 
  
Execution time for the LLC generated executable
 |  
  
Execution time for program in the JIT
 | 
 |  
 
  
This section tests LLVM on a variety of programs in the test suite.  This
includes benchmark suites like the Olden, McCat, Ptrdist, and SPEC benchmarks as
well as a few random programs with test inputs.  This section is meant to track
how stable LLVM is as a whole. A failure in the execution of any test is marked
with an asterisk: `*'. The columns of the tables are: 
 
- Program - The name of the program for that row.
 
- GCCAS - Time to run LLVM optimizers on the program.
 
- Bytecode - The size of the bytecode for the
    program
 
- Instrs - The number of LLVM instructions in the
    compiled bytecode
 
- LLC compile - The time taken compile with
    LLC (the static backend)
 
- JIT codegen - The amount of time spent in the
    JIT itself, instead of executing the program.
 
- Machine code - The number of bytes of machine
    code generated by the JIT.
 
- GCC - The time taken to execute the program when compiled
    with GCC -O2.
 
- CBE - The time taken to execute the program after
    compilation through the C backend, compiled with -O2.
 
- LLC - How long does the program generated by the static
    backend LLC take to execute 
 
- JIT - The amount of time spent running the
    program with the JIT; this includes the code generation phase (listed above)
    and actually running the program.
 
- GCC/LLC - The speed-up of the LLC output vs the native 
    GCC output: greater than 1 is a speedup, less than 1 is a slowdown.
 
- GCC/CBE - The speed-up of the CBE output vs the native 
    GCC output: greater than 1 is a speedup, less than 1 is a slowdown.
 
- LLC-LS - How long does the program generated by the static
    backend LLC take to execute the program, when compiled with the linear scan
    register allocator.  This is temporary, for tuning.
 
 
A complete log of testing 
SingleSource, 
MultiSource, and
External programs are
available for further analysis.
 Programs/External
Programs/MultiSource
|  
$MultiSourceProgramsTable
 |   
Programs/SingleSource
|  
$SingleSourceProgramsTable
 |   
  
Not yet implemented 
  |