blob: 4ba8f58a0565dc0c80fa1ac124a93da9ce96232d [file] [log] [blame]
John Criswell0a0d0dc2003-05-31 16:46:21 +00001<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
John Criswellda8c60d2003-07-02 23:03:18 +00002<html>
3<head>
4 <title>LLVM Public Release Project</title>
5</head>
John Criswell908c1f62003-07-21 22:22:48 +00006 <body bgcolor="white">
John Criswell93793202003-08-21 15:06:06 +00007
8<center>
John Criswellda8c60d2003-07-02 23:03:18 +00009<h1><font size="7">LLVM Public Release Project</font></h1>
John Criswell93793202003-08-21 15:06:06 +000010 </center>
John Criswellb64dbf22003-07-28 19:26:39 +000011
John Criswell93793202003-08-21 15:06:06 +000012<ul>
13 <li><a href="#what">What is this?</a> </li>
14 <li><a href="#priorities">Priorities</a>
15
John Criswellda8c60d2003-07-02 23:03:18 +000016 <ol>
John Criswell93793202003-08-21 15:06:06 +000017 <li><a href="#high">High Priority</a> </li>
18 <li><a href="#medium">Medimum Priority</a> </li>
19 <li><a href="#low">Low Priority</a> </li>
20
John Criswellda8c60d2003-07-02 23:03:18 +000021 </ol>
John Criswell93793202003-08-21 15:06:06 +000022 </li>
John Criswellb64dbf22003-07-28 19:26:39 +000023
John Criswell93793202003-08-21 15:06:06 +000024</ul>
25 <br>
26 <!-- *********************************************************************** -->
27
John Criswell0a0d0dc2003-05-31 16:46:21 +000028<table width="100%" bgcolor="#330077" border="0" cellpadding="4"
29 cellspacing="0">
John Criswell93793202003-08-21 15:06:06 +000030 <tbody>
31 <tr>
32 <td align="center"><font color="#eeeeff" size="+2"
John Criswell0a0d0dc2003-05-31 16:46:21 +000033 face="Georgia,Palatino"><b> <a name="what">What is this? </a></b><a
34 name="what"></a></font></td>
John Criswell93793202003-08-21 15:06:06 +000035 </tr>
36
37 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +000038</table>
John Criswell93793202003-08-21 15:06:06 +000039
John Criswell0a0d0dc2003-05-31 16:46:21 +000040<ul>
John Criswell93793202003-08-21 15:06:06 +000041 <!-- *********************************************************************** -->
42 This document is a list of things to do before the LLVM project is
43publicly released. &nbsp;It will provide a checklist so that we know
44what has been done and what is left to be done. &nbsp;It will also keep
45a "wishlist" of desirable features.
46
47 <p> <!-- *********************************************************************** -->
48 </p>
49
John Criswell0a0d0dc2003-05-31 16:46:21 +000050</ul>
John Criswell93793202003-08-21 15:06:06 +000051
John Criswell0a0d0dc2003-05-31 16:46:21 +000052<table width="100%" bgcolor="#330077" border="0" cellpadding="4"
53 cellspacing="0">
John Criswell93793202003-08-21 15:06:06 +000054 <tbody>
55 <tr>
56 <td align="center"><font color="#eeeeff" size="+2"
John Criswell0a0d0dc2003-05-31 16:46:21 +000057 face="Georgia,Palatino"><b> <a name="priorities">Priorities</a></b><a
58 name="improving"></a></font></td>
John Criswell93793202003-08-21 15:06:06 +000059 </tr>
60
61 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +000062</table>
John Criswell93793202003-08-21 15:06:06 +000063
John Criswell0a0d0dc2003-05-31 16:46:21 +000064<ul>
John Criswell93793202003-08-21 15:06:06 +000065 <!-- *********************************************************************** -->The
66 list of things to do...
67 <p> <!-- ======================================================================= -->
68 </p>
69
John Criswell0a0d0dc2003-05-31 16:46:21 +000070</ul>
John Criswell93793202003-08-21 15:06:06 +000071
John Criswell0a0d0dc2003-05-31 16:46:21 +000072<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
73 cellspacing="0">
John Criswell93793202003-08-21 15:06:06 +000074 <tbody>
75 <tr>
76 <td>&nbsp;</td>
77 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
John Criswellb64dbf22003-07-28 19:26:39 +000078 size="+1" face="Georgia,Palatino"><b><a name="high">High Priority</a></b><a
John Criswell0a0d0dc2003-05-31 16:46:21 +000079 name="glibc"></a></font></td>
John Criswell93793202003-08-21 15:06:06 +000080 </tr>
81
82 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +000083</table>
John Criswell93793202003-08-21 15:06:06 +000084
John Criswell0a0d0dc2003-05-31 16:46:21 +000085<ul>
John Criswell93793202003-08-21 15:06:06 +000086
John Criswell0a0d0dc2003-05-31 16:46:21 +000087 <ul>
John Criswell93793202003-08-21 15:06:06 +000088
John Criswell0a0d0dc2003-05-31 16:46:21 +000089 <ul>
John Criswell908c1f62003-07-21 22:22:48 +000090
John Criswell93793202003-08-21 15:06:06 +000091
John Criswell0a0d0dc2003-05-31 16:46:21 +000092 </ul>
John Criswell08dbe6b2003-08-21 15:25:20 +000093 <li>Write regression tests.</li>
John Criswell93793202003-08-21 15:06:06 +000094
John Criswell908c1f62003-07-21 22:22:48 +000095 <ul>
John Criswell93793202003-08-21 15:06:06 +000096 <li>The gccld segfault from GlobalDCE.cpp.</li>
97 <li>The infinite loop for Tail Recursion.</li>
98 <li>The C++ constructor on dlopen() bug on Solaris.<br>
99 </li>
100
John Criswellb64dbf22003-07-28 19:26:39 +0000101 </ul>
John Criswell93793202003-08-21 15:06:06 +0000102 <li>Get autoconf to configure source and build directories according
John Criswellb64dbf22003-07-28 19:26:39 +0000103 to normal autoconf procedures.</li>
John Criswell93793202003-08-21 15:06:06 +0000104
John Criswellb64dbf22003-07-28 19:26:39 +0000105 <ul>
John Criswell93793202003-08-21 15:06:06 +0000106 <li>Get test tree to work properly when configuring for a different
John Criswellb64dbf22003-07-28 19:26:39 +0000107 object root.</li>
John Criswell93793202003-08-21 15:06:06 +0000108 <li>Get lex/yacc/etc output to be placed into the build tree, not
109 the source tree.<br>
110 </li>
111
John Criswellb64dbf22003-07-28 19:26:39 +0000112 </ul>
John Criswell93793202003-08-21 15:06:06 +0000113 <li>Test Suite</li>
114
John Criswellb64dbf22003-07-28 19:26:39 +0000115 <ul>
John Criswell08dbe6b2003-08-21 15:25:20 +0000116 <li>Move Test Suite to QMTest.</li>
117 <li>Add Feature and Regression tests to nightly tester.<br>
John Criswell93793202003-08-21 15:06:06 +0000118 </li>
John Criswellb64dbf22003-07-28 19:26:39 +0000119 </ul>
John Criswell93793202003-08-21 15:06:06 +0000120 <li>Move the Reoptimizer code out of mainline CVS and the release.</li>
John Criswell908c1f62003-07-21 22:22:48 +0000121 </li>
John Criswell93793202003-08-21 15:06:06 +0000122 <li>Documentation</li>
123
John Criswell908c1f62003-07-21 22:22:48 +0000124 <ul>
John Criswell93793202003-08-21 15:06:06 +0000125 <li>Write documentation on the LLVM tools.</li>
126 <li>Review docs, ensuring that the information is up to date.</li>
127
John Criswell908c1f62003-07-21 22:22:48 +0000128 </ul>
John Criswell93793202003-08-21 15:06:06 +0000129 <li>GCC C Front End<br>
130 </li>
131 <li>Licenses</li>
132
John Criswell908c1f62003-07-21 22:22:48 +0000133 <ul>
John Criswell93793202003-08-21 15:06:06 +0000134 <li>Ensure all software in source tree has proper license.<br>
135 </li>
136
John Criswell908c1f62003-07-21 22:22:48 +0000137 </ul>
John Criswell93793202003-08-21 15:06:06 +0000138
John Criswell908c1f62003-07-21 22:22:48 +0000139 <ul>
John Criswell93793202003-08-21 15:06:06 +0000140 <li>Check licenses in test/Programs to ensure everything is good.</li>
141 <li>Create license files for anything in the distribution that is
142 not under our license.<br>
143 </li>
144
John Criswell908c1f62003-07-21 22:22:48 +0000145 </ul>
John Criswell93793202003-08-21 15:06:06 +0000146 <li>Ensure SafeCode builds.</li>
147 <li>Create a system for managing development and releases
148 (i.e. CVS branching, labeling revisions, etc).<br>
149 </li>
150
John Criswell0a0d0dc2003-05-31 16:46:21 +0000151 </ul>
John Criswell93793202003-08-21 15:06:06 +0000152
153 <p> <!-- ======================================================================= -->
154 </p>
155
John Criswell0a0d0dc2003-05-31 16:46:21 +0000156</ul>
John Criswell93793202003-08-21 15:06:06 +0000157
John Criswell0a0d0dc2003-05-31 16:46:21 +0000158<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
159 cellspacing="0">
John Criswell93793202003-08-21 15:06:06 +0000160 <tbody>
161 <tr>
162 <td>&nbsp;</td>
163 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
John Criswellb64dbf22003-07-28 19:26:39 +0000164 size="+1" face="Georgia,Palatino"><b><a name="medium">Medium Priority</a></b><a
John Criswell0a0d0dc2003-05-31 16:46:21 +0000165 name="NightlyTest"></a></font></td>
John Criswell93793202003-08-21 15:06:06 +0000166 </tr>
167
168 </tbody>
John Criswell908c1f62003-07-21 22:22:48 +0000169</table>
John Criswell93793202003-08-21 15:06:06 +0000170
John Criswell908c1f62003-07-21 22:22:48 +0000171<ul>
John Criswell93793202003-08-21 15:06:06 +0000172
John Criswell908c1f62003-07-21 22:22:48 +0000173 <ul>
John Criswell93793202003-08-21 15:06:06 +0000174 <li>Improve documentation on how to create an LLVM project.<br>
175 </li>
176 <li>Testing</li>
177
John Criswell0a0d0dc2003-05-31 16:46:21 +0000178 <ul>
John Criswell93793202003-08-21 15:06:06 +0000179 <li>Cleanup Reoptimizer tests so that they fit into the framework.<br>
180 </li>
181
John Criswell0a0d0dc2003-05-31 16:46:21 +0000182 </ul>
John Criswell93793202003-08-21 15:06:06 +0000183 <li>Create an installer for the
John Criswellb64dbf22003-07-28 19:26:39 +0000184software.</li>
John Criswell93793202003-08-21 15:06:06 +0000185 </li>
186
John Criswell0a0d0dc2003-05-31 16:46:21 +0000187 </ul>
John Criswell93793202003-08-21 15:06:06 +0000188
189 <p> <!-- ======================================================================= -->
190 </p>
191
John Criswell0a0d0dc2003-05-31 16:46:21 +0000192</ul>
John Criswell93793202003-08-21 15:06:06 +0000193
John Criswell0a0d0dc2003-05-31 16:46:21 +0000194<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
195 cellspacing="0">
John Criswell93793202003-08-21 15:06:06 +0000196 <tbody>
197 <tr>
198 <td>&nbsp;</td>
199 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
John Criswellb64dbf22003-07-28 19:26:39 +0000200 size="+1" face="Georgia,Palatino"><b><a name="low">Low Priority</a></b><a
John Criswell0a0d0dc2003-05-31 16:46:21 +0000201 name="programs"></a></font></td>
John Criswell93793202003-08-21 15:06:06 +0000202 </tr>
203
204 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +0000205</table>
John Criswell93793202003-08-21 15:06:06 +0000206
John Criswell0a0d0dc2003-05-31 16:46:21 +0000207<ul>
John Criswell93793202003-08-21 15:06:06 +0000208
John Criswell0a0d0dc2003-05-31 16:46:21 +0000209 <ul>
John Criswell93793202003-08-21 15:06:06 +0000210 <li>GCC C Front End</li>
211
John Criswellb64dbf22003-07-28 19:26:39 +0000212 <ul>
John Criswell93793202003-08-21 15:06:06 +0000213 <li>Place the C front end into the CVS repository.</li>
214 <li>Ensure that the C front end compiles and installs nicely.</li>
215 <li>Add C++ support.<br>
216 </li>
217
John Criswellb64dbf22003-07-28 19:26:39 +0000218 </ul>
John Criswell93793202003-08-21 15:06:06 +0000219 <li>Release Management</li>
220
John Criswellb64dbf22003-07-28 19:26:39 +0000221 <ul>
John Criswell93793202003-08-21 15:06:06 +0000222 <li>Find and implement a bug reporting system (i.e. Bugzilla).</li>
223
John Criswellb64dbf22003-07-28 19:26:39 +0000224 </ul>
John Criswell93793202003-08-21 15:06:06 +0000225 <li>Make the projects/sample directory an actual example of LLVM code.</li>
226 <li>Testing</li>
227
John Criswellb64dbf22003-07-28 19:26:39 +0000228 <ul>
John Criswell93793202003-08-21 15:06:06 +0000229 <li>Create descriptions of what each test is doing (test specifications).<br>
230 </li>
231 <li>Test LLVM on various Linux distributions.</li>
232 <li>Test LLVM on various Solaris distributions.</li>
233 <li>Test LLVM on Solaris/x86.<br>
234 </li>
235
John Criswellb64dbf22003-07-28 19:26:39 +0000236 </ul>
John Criswell93793202003-08-21 15:06:06 +0000237 <li>Licenses</li>
238
John Criswellb64dbf22003-07-28 19:26:39 +0000239 <ul>
John Criswell93793202003-08-21 15:06:06 +0000240 <li>Create a license for the UIUC specific LLVM code.</li>
241 <li>Add a license file to the distribution.</li>
John Criswell93793202003-08-21 15:06:06 +0000242 file.</li>
243
John Criswellb64dbf22003-07-28 19:26:39 +0000244 </ul>
John Criswell93793202003-08-21 15:06:06 +0000245 <li>Documentation</li>
246
John Criswellb64dbf22003-07-28 19:26:39 +0000247 <ul>
John Criswell93793202003-08-21 15:06:06 +0000248 <li>Create man pages for the LLVM utilities.</li>
249 <li>Create man pages for the LLVM libraries.</li>
250
John Criswellb64dbf22003-07-28 19:26:39 +0000251 </ul>
John Criswell93793202003-08-21 15:06:06 +0000252 <li>Rewrite this page without Netscape Composer :)<br>
253 </li>
254
John Criswellb64dbf22003-07-28 19:26:39 +0000255 </ul>
John Criswell93793202003-08-21 15:06:06 +0000256
John Criswell0a0d0dc2003-05-31 16:46:21 +0000257</ul>
John Criswell93793202003-08-21 15:06:06 +0000258 <font size-1="">
Chris Lattner39698a52003-05-31 19:55:19 +0000259<address><a href="mailto:criswell@cs.uiuc.edu">John Criswell</a></address>
John Criswell93793202003-08-21 15:06:06 +0000260 <!-- Created: Tue Aug 6 15:00:33 CDT 2002 --> <!-- hhmts start -->
John Criswellb64dbf22003-07-28 19:26:39 +0000261 Last modified: Sat May 31 14:54:03 CDT 2003 <!-- hhmts end --></font> <br>
John Criswell93793202003-08-21 15:06:06 +0000262 <br>
263 <br>
264 <br>
John Criswellb64dbf22003-07-28 19:26:39 +0000265 <br>
266 <br>
John Criswell908c1f62003-07-21 22:22:48 +0000267 <br>
John Criswellda8c60d2003-07-02 23:03:18 +0000268 <br>
John Criswell0a0d0dc2003-05-31 16:46:21 +0000269</body>
270</html>