blob: 44e24a786460799fd6ce9683b28d01d80549a09c [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 Criswell93793202003-08-21 15:06:06 +000093 <li>Fix currently known bugs and write regression tests.</li>
94
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 Criswell93793202003-08-21 15:06:06 +0000116 <li>Create a nightly tester for Sparc.</li>
117 <li>Modify the test suite to have consistent output.</li>
118 <li>Add Pass/Fail tests to nightly tester.<br>
119 </li>
120 <li>Cleanup test/Programs.</li>
121
John Criswellb64dbf22003-07-28 19:26:39 +0000122 </ul>
John Criswell93793202003-08-21 15:06:06 +0000123 <li>Move the Reoptimizer code out of mainline CVS and the release.</li>
124 <li>Add autoconf checks to ensure that the compiler is GCC 3.x or higher.<br>
John Criswell908c1f62003-07-21 22:22:48 +0000125 </li>
John Criswell93793202003-08-21 15:06:06 +0000126 <li>Documentation</li>
127
John Criswell908c1f62003-07-21 22:22:48 +0000128 <ul>
John Criswell93793202003-08-21 15:06:06 +0000129 <li>Write documentation on the LLVM tools.</li>
130 <li>Review docs, ensuring that the information is up to date.</li>
131
John Criswell908c1f62003-07-21 22:22:48 +0000132 </ul>
John Criswell93793202003-08-21 15:06:06 +0000133 <li>GCC C Front End<br>
134 </li>
135 <li>Licenses</li>
136
John Criswell908c1f62003-07-21 22:22:48 +0000137 <ul>
John Criswell93793202003-08-21 15:06:06 +0000138 <li>Ensure all software in source tree has proper license.<br>
139 </li>
140
John Criswell908c1f62003-07-21 22:22:48 +0000141 </ul>
John Criswell93793202003-08-21 15:06:06 +0000142
John Criswell908c1f62003-07-21 22:22:48 +0000143 <ul>
John Criswell93793202003-08-21 15:06:06 +0000144 <li>Check licenses in test/Programs to ensure everything is good.</li>
145 <li>Create license files for anything in the distribution that is
146 not under our license.<br>
147 </li>
148
John Criswell908c1f62003-07-21 22:22:48 +0000149 </ul>
John Criswell93793202003-08-21 15:06:06 +0000150 <li>Ensure SafeCode builds.</li>
151 <li>Create a system for managing development and releases
152 (i.e. CVS branching, labeling revisions, etc).<br>
153 </li>
154
John Criswell0a0d0dc2003-05-31 16:46:21 +0000155 </ul>
John Criswell93793202003-08-21 15:06:06 +0000156
157 <p> <!-- ======================================================================= -->
158 </p>
159
John Criswell0a0d0dc2003-05-31 16:46:21 +0000160</ul>
John Criswell93793202003-08-21 15:06:06 +0000161
John Criswell0a0d0dc2003-05-31 16:46:21 +0000162<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
163 cellspacing="0">
John Criswell93793202003-08-21 15:06:06 +0000164 <tbody>
165 <tr>
166 <td>&nbsp;</td>
167 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
John Criswellb64dbf22003-07-28 19:26:39 +0000168 size="+1" face="Georgia,Palatino"><b><a name="medium">Medium Priority</a></b><a
John Criswell0a0d0dc2003-05-31 16:46:21 +0000169 name="NightlyTest"></a></font></td>
John Criswell93793202003-08-21 15:06:06 +0000170 </tr>
171
172 </tbody>
John Criswell908c1f62003-07-21 22:22:48 +0000173</table>
John Criswell93793202003-08-21 15:06:06 +0000174
John Criswell908c1f62003-07-21 22:22:48 +0000175<ul>
John Criswell93793202003-08-21 15:06:06 +0000176
John Criswell908c1f62003-07-21 22:22:48 +0000177 <ul>
John Criswell93793202003-08-21 15:06:06 +0000178 <li>Improve documentation on how to create an LLVM project.<br>
179 </li>
180 <li>Testing</li>
181
John Criswell0a0d0dc2003-05-31 16:46:21 +0000182 <ul>
John Criswell93793202003-08-21 15:06:06 +0000183 <li>Cleanup Reoptimizer tests so that they fit into the framework.<br>
184 </li>
185
John Criswell0a0d0dc2003-05-31 16:46:21 +0000186 </ul>
John Criswell93793202003-08-21 15:06:06 +0000187 <li>Create an installer for the
John Criswellb64dbf22003-07-28 19:26:39 +0000188software.</li>
John Criswell93793202003-08-21 15:06:06 +0000189 <li>Put autoconf files into a separate directory (i.e. not llvm).<br>
190 </li>
191
John Criswell0a0d0dc2003-05-31 16:46:21 +0000192 </ul>
John Criswell93793202003-08-21 15:06:06 +0000193
194 <p> <!-- ======================================================================= -->
195 </p>
196
John Criswell0a0d0dc2003-05-31 16:46:21 +0000197</ul>
John Criswell93793202003-08-21 15:06:06 +0000198
John Criswell0a0d0dc2003-05-31 16:46:21 +0000199<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
200 cellspacing="0">
John Criswell93793202003-08-21 15:06:06 +0000201 <tbody>
202 <tr>
203 <td>&nbsp;</td>
204 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
John Criswellb64dbf22003-07-28 19:26:39 +0000205 size="+1" face="Georgia,Palatino"><b><a name="low">Low Priority</a></b><a
John Criswell0a0d0dc2003-05-31 16:46:21 +0000206 name="programs"></a></font></td>
John Criswell93793202003-08-21 15:06:06 +0000207 </tr>
208
209 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +0000210</table>
John Criswell93793202003-08-21 15:06:06 +0000211
John Criswell0a0d0dc2003-05-31 16:46:21 +0000212<ul>
John Criswell93793202003-08-21 15:06:06 +0000213
John Criswell0a0d0dc2003-05-31 16:46:21 +0000214 <ul>
John Criswell93793202003-08-21 15:06:06 +0000215 <li>GCC C Front End</li>
216
John Criswellb64dbf22003-07-28 19:26:39 +0000217 <ul>
John Criswell93793202003-08-21 15:06:06 +0000218 <li>Place the C front end into the CVS repository.</li>
219 <li>Ensure that the C front end compiles and installs nicely.</li>
220 <li>Add C++ support.<br>
221 </li>
222
John Criswellb64dbf22003-07-28 19:26:39 +0000223 </ul>
John Criswell93793202003-08-21 15:06:06 +0000224 <li>Release Management</li>
225
John Criswellb64dbf22003-07-28 19:26:39 +0000226 <ul>
John Criswell93793202003-08-21 15:06:06 +0000227 <li>Find and implement a bug reporting system (i.e. Bugzilla).</li>
228
John Criswellb64dbf22003-07-28 19:26:39 +0000229 </ul>
John Criswell93793202003-08-21 15:06:06 +0000230 <li>Make the projects/sample directory an actual example of LLVM code.</li>
231 <li>Testing</li>
232
John Criswellb64dbf22003-07-28 19:26:39 +0000233 <ul>
John Criswell93793202003-08-21 15:06:06 +0000234 <li>Create descriptions of what each test is doing (test specifications).<br>
235 </li>
236 <li>Test LLVM on various Linux distributions.</li>
237 <li>Test LLVM on various Solaris distributions.</li>
238 <li>Test LLVM on Solaris/x86.<br>
239 </li>
240
John Criswellb64dbf22003-07-28 19:26:39 +0000241 </ul>
John Criswell93793202003-08-21 15:06:06 +0000242 <li>Licenses</li>
243
John Criswellb64dbf22003-07-28 19:26:39 +0000244 <ul>
John Criswell93793202003-08-21 15:06:06 +0000245 <li>Create a license for the UIUC specific LLVM code.</li>
246 <li>Add a license file to the distribution.</li>
247 <li>Add a copyright notice and license information to each source
248 file.</li>
249
John Criswellb64dbf22003-07-28 19:26:39 +0000250 </ul>
John Criswell93793202003-08-21 15:06:06 +0000251 <li>Documentation</li>
252
John Criswellb64dbf22003-07-28 19:26:39 +0000253 <ul>
John Criswell93793202003-08-21 15:06:06 +0000254 <li>Create man pages for the LLVM utilities.</li>
255 <li>Create man pages for the LLVM libraries.</li>
256
John Criswellb64dbf22003-07-28 19:26:39 +0000257 </ul>
John Criswell93793202003-08-21 15:06:06 +0000258 <li>Rewrite this page without Netscape Composer :)<br>
259 </li>
260
John Criswellb64dbf22003-07-28 19:26:39 +0000261 </ul>
John Criswell93793202003-08-21 15:06:06 +0000262
John Criswell0a0d0dc2003-05-31 16:46:21 +0000263</ul>
John Criswell93793202003-08-21 15:06:06 +0000264 <font size-1="">
Chris Lattner39698a52003-05-31 19:55:19 +0000265<address><a href="mailto:criswell@cs.uiuc.edu">John Criswell</a></address>
John Criswell93793202003-08-21 15:06:06 +0000266 <!-- Created: Tue Aug 6 15:00:33 CDT 2002 --> <!-- hhmts start -->
John Criswellb64dbf22003-07-28 19:26:39 +0000267 Last modified: Sat May 31 14:54:03 CDT 2003 <!-- hhmts end --></font> <br>
John Criswell93793202003-08-21 15:06:06 +0000268 <br>
269 <br>
270 <br>
John Criswellb64dbf22003-07-28 19:26:39 +0000271 <br>
272 <br>
John Criswell908c1f62003-07-21 22:22:48 +0000273 <br>
John Criswellda8c60d2003-07-02 23:03:18 +0000274 <br>
John Criswell0a0d0dc2003-05-31 16:46:21 +0000275</body>
276</html>