blob: e84829a3bcea03f78b042d25ff92fc58b5fa0711 [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>
121 <li>Add autoconf checks to ensure that the compiler is GCC 3.x or higher.<br>
John Criswell908c1f62003-07-21 22:22:48 +0000122 </li>
John Criswell93793202003-08-21 15:06:06 +0000123 <li>Documentation</li>
124
John Criswell908c1f62003-07-21 22:22:48 +0000125 <ul>
John Criswell93793202003-08-21 15:06:06 +0000126 <li>Write documentation on the LLVM tools.</li>
127 <li>Review docs, ensuring that the information is up to date.</li>
128
John Criswell908c1f62003-07-21 22:22:48 +0000129 </ul>
John Criswell93793202003-08-21 15:06:06 +0000130 <li>GCC C Front End<br>
131 </li>
132 <li>Licenses</li>
133
John Criswell908c1f62003-07-21 22:22:48 +0000134 <ul>
John Criswell93793202003-08-21 15:06:06 +0000135 <li>Ensure all software in source tree has proper license.<br>
136 </li>
137
John Criswell908c1f62003-07-21 22:22:48 +0000138 </ul>
John Criswell93793202003-08-21 15:06:06 +0000139
John Criswell908c1f62003-07-21 22:22:48 +0000140 <ul>
John Criswell93793202003-08-21 15:06:06 +0000141 <li>Check licenses in test/Programs to ensure everything is good.</li>
142 <li>Create license files for anything in the distribution that is
143 not under our license.<br>
144 </li>
145
John Criswell908c1f62003-07-21 22:22:48 +0000146 </ul>
John Criswell93793202003-08-21 15:06:06 +0000147 <li>Ensure SafeCode builds.</li>
148 <li>Create a system for managing development and releases
149 (i.e. CVS branching, labeling revisions, etc).<br>
150 </li>
151
John Criswell0a0d0dc2003-05-31 16:46:21 +0000152 </ul>
John Criswell93793202003-08-21 15:06:06 +0000153
154 <p> <!-- ======================================================================= -->
155 </p>
156
John Criswell0a0d0dc2003-05-31 16:46:21 +0000157</ul>
John Criswell93793202003-08-21 15:06:06 +0000158
John Criswell0a0d0dc2003-05-31 16:46:21 +0000159<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
160 cellspacing="0">
John Criswell93793202003-08-21 15:06:06 +0000161 <tbody>
162 <tr>
163 <td>&nbsp;</td>
164 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
John Criswellb64dbf22003-07-28 19:26:39 +0000165 size="+1" face="Georgia,Palatino"><b><a name="medium">Medium Priority</a></b><a
John Criswell0a0d0dc2003-05-31 16:46:21 +0000166 name="NightlyTest"></a></font></td>
John Criswell93793202003-08-21 15:06:06 +0000167 </tr>
168
169 </tbody>
John Criswell908c1f62003-07-21 22:22:48 +0000170</table>
John Criswell93793202003-08-21 15:06:06 +0000171
John Criswell908c1f62003-07-21 22:22:48 +0000172<ul>
John Criswell93793202003-08-21 15:06:06 +0000173
John Criswell908c1f62003-07-21 22:22:48 +0000174 <ul>
John Criswell93793202003-08-21 15:06:06 +0000175 <li>Improve documentation on how to create an LLVM project.<br>
176 </li>
177 <li>Testing</li>
178
John Criswell0a0d0dc2003-05-31 16:46:21 +0000179 <ul>
John Criswell93793202003-08-21 15:06:06 +0000180 <li>Cleanup Reoptimizer tests so that they fit into the framework.<br>
181 </li>
182
John Criswell0a0d0dc2003-05-31 16:46:21 +0000183 </ul>
John Criswell93793202003-08-21 15:06:06 +0000184 <li>Create an installer for the
John Criswellb64dbf22003-07-28 19:26:39 +0000185software.</li>
John Criswell93793202003-08-21 15:06:06 +0000186 </li>
187
John Criswell0a0d0dc2003-05-31 16:46:21 +0000188 </ul>
John Criswell93793202003-08-21 15:06:06 +0000189
190 <p> <!-- ======================================================================= -->
191 </p>
192
John Criswell0a0d0dc2003-05-31 16:46:21 +0000193</ul>
John Criswell93793202003-08-21 15:06:06 +0000194
John Criswell0a0d0dc2003-05-31 16:46:21 +0000195<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
196 cellspacing="0">
John Criswell93793202003-08-21 15:06:06 +0000197 <tbody>
198 <tr>
199 <td>&nbsp;</td>
200 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
John Criswellb64dbf22003-07-28 19:26:39 +0000201 size="+1" face="Georgia,Palatino"><b><a name="low">Low Priority</a></b><a
John Criswell0a0d0dc2003-05-31 16:46:21 +0000202 name="programs"></a></font></td>
John Criswell93793202003-08-21 15:06:06 +0000203 </tr>
204
205 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +0000206</table>
John Criswell93793202003-08-21 15:06:06 +0000207
John Criswell0a0d0dc2003-05-31 16:46:21 +0000208<ul>
John Criswell93793202003-08-21 15:06:06 +0000209
John Criswell0a0d0dc2003-05-31 16:46:21 +0000210 <ul>
John Criswell93793202003-08-21 15:06:06 +0000211 <li>GCC C Front End</li>
212
John Criswellb64dbf22003-07-28 19:26:39 +0000213 <ul>
John Criswell93793202003-08-21 15:06:06 +0000214 <li>Place the C front end into the CVS repository.</li>
215 <li>Ensure that the C front end compiles and installs nicely.</li>
216 <li>Add C++ support.<br>
217 </li>
218
John Criswellb64dbf22003-07-28 19:26:39 +0000219 </ul>
John Criswell93793202003-08-21 15:06:06 +0000220 <li>Release Management</li>
221
John Criswellb64dbf22003-07-28 19:26:39 +0000222 <ul>
John Criswell93793202003-08-21 15:06:06 +0000223 <li>Find and implement a bug reporting system (i.e. Bugzilla).</li>
224
John Criswellb64dbf22003-07-28 19:26:39 +0000225 </ul>
John Criswell93793202003-08-21 15:06:06 +0000226 <li>Make the projects/sample directory an actual example of LLVM code.</li>
227 <li>Testing</li>
228
John Criswellb64dbf22003-07-28 19:26:39 +0000229 <ul>
John Criswell93793202003-08-21 15:06:06 +0000230 <li>Create descriptions of what each test is doing (test specifications).<br>
231 </li>
232 <li>Test LLVM on various Linux distributions.</li>
233 <li>Test LLVM on various Solaris distributions.</li>
234 <li>Test LLVM on Solaris/x86.<br>
235 </li>
236
John Criswellb64dbf22003-07-28 19:26:39 +0000237 </ul>
John Criswell93793202003-08-21 15:06:06 +0000238 <li>Licenses</li>
239
John Criswellb64dbf22003-07-28 19:26:39 +0000240 <ul>
John Criswell93793202003-08-21 15:06:06 +0000241 <li>Create a license for the UIUC specific LLVM code.</li>
242 <li>Add a license file to the distribution.</li>
John Criswell93793202003-08-21 15:06:06 +0000243 file.</li>
244
John Criswellb64dbf22003-07-28 19:26:39 +0000245 </ul>
John Criswell93793202003-08-21 15:06:06 +0000246 <li>Documentation</li>
247
John Criswellb64dbf22003-07-28 19:26:39 +0000248 <ul>
John Criswell93793202003-08-21 15:06:06 +0000249 <li>Create man pages for the LLVM utilities.</li>
250 <li>Create man pages for the LLVM libraries.</li>
251
John Criswellb64dbf22003-07-28 19:26:39 +0000252 </ul>
John Criswell93793202003-08-21 15:06:06 +0000253 <li>Rewrite this page without Netscape Composer :)<br>
254 </li>
255
John Criswellb64dbf22003-07-28 19:26:39 +0000256 </ul>
John Criswell93793202003-08-21 15:06:06 +0000257
John Criswell0a0d0dc2003-05-31 16:46:21 +0000258</ul>
John Criswell93793202003-08-21 15:06:06 +0000259 <font size-1="">
Chris Lattner39698a52003-05-31 19:55:19 +0000260<address><a href="mailto:criswell@cs.uiuc.edu">John Criswell</a></address>
John Criswell93793202003-08-21 15:06:06 +0000261 <!-- Created: Tue Aug 6 15:00:33 CDT 2002 --> <!-- hhmts start -->
John Criswellb64dbf22003-07-28 19:26:39 +0000262 Last modified: Sat May 31 14:54:03 CDT 2003 <!-- hhmts end --></font> <br>
John Criswell93793202003-08-21 15:06:06 +0000263 <br>
264 <br>
265 <br>
John Criswellb64dbf22003-07-28 19:26:39 +0000266 <br>
267 <br>
John Criswell908c1f62003-07-21 22:22:48 +0000268 <br>
John Criswellda8c60d2003-07-02 23:03:18 +0000269 <br>
John Criswell0a0d0dc2003-05-31 16:46:21 +0000270</body>
271</html>