LLVM Test Results for $DateString

Sections:
Overview Changes Trends Programs Regression

Previous:
$PrevDaysList

Back to:
Test Results
LLVM Page

Today's Test Results Overview

Lines Of Code over Time Click for larger view

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

$WarningsList

Changes from Yesterday

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

Changes over Time

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 |

Program Tests

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:

1. Program - The name of the program for that row.
2. GCCAS - Time to run LLVM optimizers on the program.
3. Bytecode - The size of the bytecode for the program
4. Instrs - The number of LLVM instructions in the compiled bytecode
5. LLC compile - The time taken compile with LLC (the static backend)
6. JIT codegen - The amount of time spent in the JIT itself, instead of executing the program.
7. Machine code - The number of bytes of machine code generated by the JIT.
8. GCC - The time taken to execute the program when compiled with GCC -O2.
9. CBE - The time taken to execute the program after compilation through the C backend, compiled with -O2.
10. LLC - How long does the program generated by the static backend LLC take to execute
11. 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.
12. 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.
13. 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.
14. 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

$ExternalProgramsTable

## Programs/MultiSource

$MultiSourceProgramsTable

## Programs/SingleSource

$SingleSourceProgramsTable

Regression Tests

Not yet implemented