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)
Time to run feature tests: $FeatureTime seconds
($FeatureWallTime seconds wall time)
Time to run regression tests: $RegressionTime seconds
($RegressionWallTime 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
|
$FeatureTestResults
$RegressionTestResults
|