blob: e84829a3bcea03f78b042d25ff92fc58b5fa0711 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>LLVM Public Release Project</title>
</head>
<body bgcolor="white">
<center>
<h1><font size="7">LLVM Public Release Project</font></h1>
</center>
<ul>
<li><a href="#what">What is this?</a> </li>
<li><a href="#priorities">Priorities</a>
<ol>
<li><a href="#high">High Priority</a> </li>
<li><a href="#medium">Medimum Priority</a> </li>
<li><a href="#low">Low Priority</a> </li>
</ol>
</li>
</ul>
<br>
<!-- *********************************************************************** -->
<table width="100%" bgcolor="#330077" border="0" cellpadding="4"
cellspacing="0">
<tbody>
<tr>
<td align="center"><font color="#eeeeff" size="+2"
face="Georgia,Palatino"><b> <a name="what">What is this? </a></b><a
name="what"></a></font></td>
</tr>
</tbody>
</table>
<ul>
<!-- *********************************************************************** -->
This document is a list of things to do before the LLVM project is
publicly released. &nbsp;It will provide a checklist so that we know
what has been done and what is left to be done. &nbsp;It will also keep
a "wishlist" of desirable features.
<p> <!-- *********************************************************************** -->
</p>
</ul>
<table width="100%" bgcolor="#330077" border="0" cellpadding="4"
cellspacing="0">
<tbody>
<tr>
<td align="center"><font color="#eeeeff" size="+2"
face="Georgia,Palatino"><b> <a name="priorities">Priorities</a></b><a
name="improving"></a></font></td>
</tr>
</tbody>
</table>
<ul>
<!-- *********************************************************************** -->The
list of things to do...
<p> <!-- ======================================================================= -->
</p>
</ul>
<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
cellspacing="0">
<tbody>
<tr>
<td>&nbsp;</td>
<td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
size="+1" face="Georgia,Palatino"><b><a name="high">High Priority</a></b><a
name="glibc"></a></font></td>
</tr>
</tbody>
</table>
<ul>
<ul>
<ul>
</ul>
<li>Write regression tests.</li>
<ul>
<li>The gccld segfault from GlobalDCE.cpp.</li>
<li>The infinite loop for Tail Recursion.</li>
<li>The C++ constructor on dlopen() bug on Solaris.<br>
</li>
</ul>
<li>Get autoconf to configure source and build directories according
to normal autoconf procedures.</li>
<ul>
<li>Get test tree to work properly when configuring for a different
object root.</li>
<li>Get lex/yacc/etc output to be placed into the build tree, not
the source tree.<br>
</li>
</ul>
<li>Test Suite</li>
<ul>
<li>Move Test Suite to QMTest.</li>
<li>Add Feature and Regression tests to nightly tester.<br>
</li>
</ul>
<li>Move the Reoptimizer code out of mainline CVS and the release.</li>
<li>Add autoconf checks to ensure that the compiler is GCC 3.x or higher.<br>
</li>
<li>Documentation</li>
<ul>
<li>Write documentation on the LLVM tools.</li>
<li>Review docs, ensuring that the information is up to date.</li>
</ul>
<li>GCC C Front End<br>
</li>
<li>Licenses</li>
<ul>
<li>Ensure all software in source tree has proper license.<br>
</li>
</ul>
<ul>
<li>Check licenses in test/Programs to ensure everything is good.</li>
<li>Create license files for anything in the distribution that is
not under our license.<br>
</li>
</ul>
<li>Ensure SafeCode builds.</li>
<li>Create a system for managing development and releases
(i.e. CVS branching, labeling revisions, etc).<br>
</li>
</ul>
<p> <!-- ======================================================================= -->
</p>
</ul>
<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
cellspacing="0">
<tbody>
<tr>
<td>&nbsp;</td>
<td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
size="+1" face="Georgia,Palatino"><b><a name="medium">Medium Priority</a></b><a
name="NightlyTest"></a></font></td>
</tr>
</tbody>
</table>
<ul>
<ul>
<li>Improve documentation on how to create an LLVM project.<br>
</li>
<li>Testing</li>
<ul>
<li>Cleanup Reoptimizer tests so that they fit into the framework.<br>
</li>
</ul>
<li>Create an installer for the
software.</li>
</li>
</ul>
<p> <!-- ======================================================================= -->
</p>
</ul>
<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
cellspacing="0">
<tbody>
<tr>
<td>&nbsp;</td>
<td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
size="+1" face="Georgia,Palatino"><b><a name="low">Low Priority</a></b><a
name="programs"></a></font></td>
</tr>
</tbody>
</table>
<ul>
<ul>
<li>GCC C Front End</li>
<ul>
<li>Place the C front end into the CVS repository.</li>
<li>Ensure that the C front end compiles and installs nicely.</li>
<li>Add C++ support.<br>
</li>
</ul>
<li>Release Management</li>
<ul>
<li>Find and implement a bug reporting system (i.e. Bugzilla).</li>
</ul>
<li>Make the projects/sample directory an actual example of LLVM code.</li>
<li>Testing</li>
<ul>
<li>Create descriptions of what each test is doing (test specifications).<br>
</li>
<li>Test LLVM on various Linux distributions.</li>
<li>Test LLVM on various Solaris distributions.</li>
<li>Test LLVM on Solaris/x86.<br>
</li>
</ul>
<li>Licenses</li>
<ul>
<li>Create a license for the UIUC specific LLVM code.</li>
<li>Add a license file to the distribution.</li>
file.</li>
</ul>
<li>Documentation</li>
<ul>
<li>Create man pages for the LLVM utilities.</li>
<li>Create man pages for the LLVM libraries.</li>
</ul>
<li>Rewrite this page without Netscape Composer :)<br>
</li>
</ul>
</ul>
<font size-1="">
<address><a href="mailto:criswell@cs.uiuc.edu">John Criswell</a></address>
<!-- Created: Tue Aug 6 15:00:33 CDT 2002 --> <!-- hhmts start -->
Last modified: Sat May 31 14:54:03 CDT 2003 <!-- hhmts end --></font> <br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>