<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>LLVM Test Results for $DateString</title></head>

<body bgcolor=white>
<center><font size=+3 face=Verdana><b>LLVM Test Results for $DateString</b></font></center>
<hr height=1>

<table width=100%>
<tr><td valign=top align=center>

<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" align=center>
<a href="#Overview">Overview</a><br>
<a href="#Changes">Changes</a><br>
<a href="#Dejagnu">Dejagnu Tests</a><br>
<a href="#Trends">Trends</a><br>
<a href="#Programs">Programs</a><br>
</td></tr></table></td></tr></table>

<p>
<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>Previous:</b></font><br>
</td></tr><tr><td bgcolor="#FFCC99">
  $PrevDaysList
</td></tr></table></td></tr></table>
<p>

<font size=+1><b>Back to:</b></font><br>
<a href="http://llvm.cs.uiuc.edu/testresults/">Test&nbsp;Results</a><br>
<a href="http://llvm.cs.uiuc.edu/">LLVM&nbsp;Page</a><p>

</td><td valign=top>

<center>
<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000"> 
<table border="0" cellpadding="10" cellspacing="0"><tr><td bgcolor="#DDAA77"
<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>Nightly Test Overview:</h2>
<ul>
  <li>Start: <b>$TestStartTime GMT</b></li>
  <li>Finish: <b>$TestFinishTime GMT</b></li>
  <li>Platform: <b>$TestPlatform</b></li>
</ul>
<h2>CVS Tree Overview:</h2>
<ul>
<li><a href="$DATE-CVS-Log.txt">CVS Checkout Log</a>
<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>
<table>
<tr><td><b>Item</b></td><td><b>CPU Time</b></td><td><b>Wall Clock</b></td></tr>
<tr><td>Configure CVS Tree</td><td>$ConfigTime</td><td>$ConfigWallTime</td></tr>
<tr><td>Build CVS Tree</td><td>$BuildTime</td><td>$BuildWallTime</td></tr>
<tr><td>Run Dejagnu Tests</td><td>$DejagnuTime</td><td>$DejagnuWallTime</td></tr>
</table></li>
<li>Number of object files compiled: <b>$NumObjects</b></li>
<li>Number of libraries linked: <b>$NumLibraries</b></li>
<li>Number of executables linked:<b> $NumExecutables</b></li>
<li>Build Status: $BuildStatus</li>
</ul>

<h2>Warnings during the build:</h2>
<ul>$WarningsList
</ul><p>

<br><br><center>
<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000"> 
<table border="0" cellpadding="10" cellspacing="0"><tr><td bgcolor="#DDAA77"
<font size=+2 face=Verdana><b><a name="Changes">Changes from Yesterday</font></b>
</td></tr></table></td></tr></table></center><p>

<h2>Changes to CVS:</h2>
<ul>
<li>Users who committed to CVS: <b>$UserCommitList</b>
<li>Users who updated from CVS: <b>$UserUpdateList</b>
<li>Added Files:    $AddedFilesList
<li>Modified Files: $ModifiedFilesList
<li>Removed Files:  $RemovedFilesList
</ul><p>

<h2>Changes to Warnings:</h2>
<ul>
<li>Warnings Added: $WarningsAdded
<li>Warnings Removed: $WarningsRemoved
</ul><p>

<h2>Changes in the test suite:</h2>
<ul>
<li>New Tests: $TestsAdded
<li>Removed Tests: $TestsRemoved
<li>Newly passing tests: $TestsFixed
<li>Newly failing tests: $TestsBroken
</ul>
</td></tr></tbody></table>


<br/><br/><center>
<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000"> 
<table border="0" cellpadding="10" cellspacing="0"><tr><td bgcolor="#DDAA77"
<font size=+2 face=Verdana><b><a name="Dejagnu">Dejagnu Test Results</font></b>
</td></tr></table></td></tr></table></center>
<br/>
$DejagnuTestResults
<p>A complete log of testing <a href="$DATE-Dejagnu-testrun.log">Feature and Regression</a> is available for further analysis.</p>

<br><br><center>
<table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#000000"> 
<table border="0" cellpadding="10" cellspacing="0"><tr><td bgcolor="#DDAA77"
<font size=+2 face=Verdana><b><a name="Trends">Changes Over Time</font></b>
</td></tr></table></td></tr></table></center><p>


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"> 
<table border="0" cellpadding="10" cellspacing="0"><tr><td bgcolor="#DDAA77"
<font size=+2 face=Verdana><b><a name="Programs">Program Tests</font></b>
</td></tr></table></td></tr></table></center><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-BETA">LLC-BETA</a> - How long does the program generated by the static
    backend LLC take to execute the program, when compiled with new experimental 
    features.  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 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>

</td></tr></html>

