<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000">
<table border="0" cellpadding="5" cellspacing="0"><tr><td bgcolor="#DDAA77">
<font size=+1><b>Sections:</b></font><br>
-</td></tr><tr><td bgcolor="#FFCC99">
+</td></tr><tr><td bgcolor="#FFCC99" align=center>
<a href="#Overview">Overview</a><br>
<a href="#Changes">Changes</a><br>
<a href="#Trends">Trends</a><br>
<font size=+2 face=Verdana><b><a name="Overview">Today's Test Results Overview</font></b>
</td></tr></table></td></tr></table></center><p>
+<!-- Running LOC graph -->
+<table align=right>
+<tr><td>
+<a href="running_loc_large.png"
+ ><img border=0 width=480 height=360 src="running_loc.png"></a>
+</td></tr>
+<tr><td align=center>Lines Of Code over Time<br>
+<font size=-1><a href="running_loc_large.png">Click for larger view</a></font>
+</td></tr>
+</table>
+
<h2>CVS Tree Overview:</h2>
<ul>
<li><a href="$DATE-CVS-Log.txt">CVS Checkout Log</a>
<ul>
- Time to check out CVS tree: <b>$CVSCheckoutTime</b> seconds<br>
- Number of directories in CVS: <b>$NumDirsInCVS</b><br>
- Number of files in CVS: <b>$NumFilesInCVS</b><br>
- Number of lines of code: <b>$LOC</b></ul>
+ <b>$NumDirsInCVS</b> dirs, <b>$NumFilesInCVS</b> files, <b>$LOC</b>
+ lines of code, checked out in <b>$CVSCheckoutTime</b> seconds<br></ul>
<li><a href="$DATE-Build-Log.txt">Compilation Log</a>
<ul>
- Time to build CVS tree: <b>$BuildTime</b> seconds<br>
+ $BuildError
+ Time to configure CVS tree: <b>$ConfigTime</b> seconds
+ (<b>$ConfigWallTime</b> seconds wall time)<br>
+ Time to build CVS tree: <b>$BuildTime</b> seconds
+ (<b>$BuildWallTime</b> seconds wall time)<br>
Number of object files compiled: <b>$NumObjects</b><br>
Number of libraries linked: <b>$NumLibraries</b><br>
Number of executables linked:<b> $NumExecutables</b><br>
</ul>
<h2>Warnings during the build:</h2>
-$WarningsList<p>
+<ul>$WarningsList
+</ul><p>
<br><br><center>
<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000">
<h2>Changes in the test suite:</h2>
<ul>
-<li>New Tests: ...
-<li>Removed Tests: ...
-<li>Newly passing tests: ...
-<li>Newly failing tests: ...
+<li>New Tests: $TestsAdded
+<li>Removed Tests: $TestsRemoved
+<li>Newly passing tests: $TestsFixed
+<li>Newly failing tests: $TestsBroken
</ul>
<br><br><center>
<font size=+2 face=Verdana><b><a name="Trends">Changes over Time</font></b>
</td></tr></table></td></tr></table></center><p>
-GNUplot <b>charts</b> showing a couple of things:
-<ol>
-<li>LOC in CVS
-<li>Compile Time
-<li>Testing Time
-<li>Time to run some programs, say all of Olden
-<li>Time to compile something, say Olden.
-<li>Size of bytecode files for Olden
-</ol>
+
+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.<p>
+
+<h2>Compilation Measurements:</h2>
+
+<table border="0" align=center>
+<tr>
+<td width=50% align=center>
+<a href="running_Olden_bytecode_large.png"><img width=480 height=360 border=0 src="running_Olden_bytecode.png"></a><br>
+Size of LLVM bytecode files
+</td>
+<td width=50% align=center>
+<a href="running_Olden_machcode_large.png"><img width=480 height=360 border=0 src="running_Olden_machcode.png"></a><br>
+Size of native machine code for each program (generated by the JIT)
+</td></tr>
+<tr>
+<td align=center>
+<a href="running_Olden_opt_time_large.png"><img width=480 height=360 border=0 src="running_Olden_opt_time.png"></a><br>
+Time to run the LLVM optimizer on each program
+</td>
+<td></td></tr>
+</table>
+
+<h2>Program Execution Measurements:</h2>
+
+<table border="0" align=center>
+<tr>
+<td width=50% align=center>
+<a href="running_Olden_cbe_time_large.png"><img width=480 height=360 border=0 src="running_Olden_cbe_time.png"></a><br>
+Execution time for CBE generated executable
+</td>
+<td width=50% align=center>
+<a href="running_Olden_llc_time_large.png"><img width=480 height=360 border=0 src="running_Olden_llc_time.png"></a><br>
+Execution time for the LLC generated executable
+</td></tr>
+
+<tr>
+<td align=center>
+<a href="running_Olden_jit_time_large.png"><img width=480 height=360 border=0 src="running_Olden_jit_time.png"></a><br>
+Execution time for program in the JIT
+</td>
+<td></td></tr>
+</table>
+
+
+
<br><br><center>
<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000">
<font size=+2 face=Verdana><b><a name="Programs">Program Tests</font></b>
</td></tr></table></td></tr></table></center><p>
-Not yet implemented<p>
+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:<p>
+
+<ol>
+<li><a name="Program">Program</a> - The name of the program for that row.</li>
+<li><a name="GCCAS">GCCAS</a> - Time to run LLVM optimizers on the program.</li>
+<li><a name="Bytecode">Bytecode</a> - The size of the bytecode for the
+ program</li>
+<li><a name="Instrs">Instrs</a> - The number of LLVM instructions in the
+ compiled bytecode</li>
+<li><a name="LLC<br>compile">LLC compile</a> - The time taken compile with
+ LLC (the static backend)</li>
+<li><a name="JIT<br>codegen">JIT codegen</a> - The amount of time spent in the
+ JIT itself, instead of executing the program.</li>
+<li><a name="Machine<br>code">Machine code</a> - The number of bytes of machine
+ code generated by the JIT.</li>
+<li><a name="GCC">GCC</a> - The time taken to execute the program when compiled
+ with GCC -O2.</li>
+<li><a name="CBE">CBE</a> - The time taken to execute the program after
+ compilation through the C backend, compiled with -O2.</li>
+<li><a name="LLC">LLC</a> - How long does the program generated by the static
+ backend LLC take to execute </li>
+<li><a name="JIT">JIT</a> - The amount of time spent running the
+ program with the JIT; this includes the code generation phase (listed above)
+ and actually running the program.</li>
+<li><a name="GCC/LLC">GCC/LLC</a> - The speed-up of the LLC output vs the native
+ GCC output: greater than 1 is a speedup, less than 1 is a slowdown.</li>
+<li><a name="GCC/CBE">GCC/CBE</a> - The speed-up of the CBE output vs the native
+ GCC output: greater than 1 is a speedup, less than 1 is a slowdown.</li>
+<li><a name="LLC-LS">LLC-LS</a> - 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.</li>
+</ol><p>
+
+A complete log of testing
+<a href="$DATE-SingleSource-ProgramTest.txt.gz">SingleSource</a>,
+<a href="$DATE-MultiSource-ProgramTest.txt.gz">MultiSource</a>, and
+<a href="$DATE-External-ProgramTest.txt.gz">External</a> programs are
+available</a> for further analysis.
+
+<h2>Programs/External</h2>
+
+<center>
+<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000">
+$ExternalProgramsTable
+</td></tr></table></center>
+
+<h2>Programs/MultiSource</h2>
+
+<center>
+<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000">
+$MultiSourceProgramsTable
+</td></tr></table></center>
+
+<h2>Programs/SingleSource</h2>
+
+<center>
+<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000">
+$SingleSourceProgramsTable
+</td></tr></table></center>
+
+
<br><br><center>
<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000">