blob: 7ac286a1e8f10de43a0e12bbcfa62b0f96c63406 [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 Criswellb64dbf22003-07-28 19:26:39 +00007
8<center>
John Criswellda8c60d2003-07-02 23:03:18 +00009<h1><font size="7">LLVM Public Release Project</font></h1>
John Criswellb64dbf22003-07-28 19:26:39 +000010 </center>
11
John Criswellda8c60d2003-07-02 23:03:18 +000012<ul>
John Criswellb64dbf22003-07-28 19:26:39 +000013 <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 Criswellb64dbf22003-07-28 19:26:39 +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 Criswellb64dbf22003-07-28 19:26:39 +000022 </li>
23
John Criswellda8c60d2003-07-02 23:03:18 +000024</ul>
John Criswellb64dbf22003-07-28 19:26:39 +000025 <br>
26 <!-- *********************************************************************** -->
27
John Criswell0a0d0dc2003-05-31 16:46:21 +000028<table width="100%" bgcolor="#330077" border="0" cellpadding="4"
29 cellspacing="0">
John Criswellb64dbf22003-07-28 19:26:39 +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 Criswellb64dbf22003-07-28 19:26:39 +000035 </tr>
36
37 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +000038</table>
John Criswellb64dbf22003-07-28 19:26:39 +000039
John Criswell0a0d0dc2003-05-31 16:46:21 +000040<ul>
John Criswellb64dbf22003-07-28 19:26:39 +000041 <!-- *********************************************************************** -->
42 This document is a list of things to do before the LLVM project is publicly
43 released. &nbsp;It will provide a checklist so that we know what has
44been done and what is left to be done. &nbsp;It will also keep a "wishlist"
45of desirable features.
John Criswell908c1f62003-07-21 22:22:48 +000046 <p> <!-- *********************************************************************** -->
John Criswellb64dbf22003-07-28 19:26:39 +000047 </p>
48
John Criswell0a0d0dc2003-05-31 16:46:21 +000049</ul>
John Criswellb64dbf22003-07-28 19:26:39 +000050
John Criswell0a0d0dc2003-05-31 16:46:21 +000051<table width="100%" bgcolor="#330077" border="0" cellpadding="4"
52 cellspacing="0">
John Criswellb64dbf22003-07-28 19:26:39 +000053 <tbody>
54 <tr>
55 <td align="center"><font color="#eeeeff" size="+2"
John Criswell0a0d0dc2003-05-31 16:46:21 +000056 face="Georgia,Palatino"><b> <a name="priorities">Priorities</a></b><a
57 name="improving"></a></font></td>
John Criswellb64dbf22003-07-28 19:26:39 +000058 </tr>
59
60 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +000061</table>
John Criswellb64dbf22003-07-28 19:26:39 +000062
John Criswell0a0d0dc2003-05-31 16:46:21 +000063<ul>
John Criswellb64dbf22003-07-28 19:26:39 +000064 <!-- *********************************************************************** -->The
65 list of things to do...
John Criswell908c1f62003-07-21 22:22:48 +000066 <p> <!-- ======================================================================= -->
John Criswellb64dbf22003-07-28 19:26:39 +000067 </p>
68
John Criswell0a0d0dc2003-05-31 16:46:21 +000069</ul>
John Criswellb64dbf22003-07-28 19:26:39 +000070
John Criswell0a0d0dc2003-05-31 16:46:21 +000071<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
72 cellspacing="0">
John Criswellb64dbf22003-07-28 19:26:39 +000073 <tbody>
74 <tr>
75 <td>&nbsp;</td>
76 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
77 size="+1" face="Georgia,Palatino"><b><a name="high">High Priority</a></b><a
John Criswell0a0d0dc2003-05-31 16:46:21 +000078 name="glibc"></a></font></td>
John Criswellb64dbf22003-07-28 19:26:39 +000079 </tr>
80
81 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +000082</table>
John Criswellb64dbf22003-07-28 19:26:39 +000083
John Criswell0a0d0dc2003-05-31 16:46:21 +000084<ul>
John Criswellb64dbf22003-07-28 19:26:39 +000085
John Criswell0a0d0dc2003-05-31 16:46:21 +000086 <ul>
John Criswellb64dbf22003-07-28 19:26:39 +000087
John Criswell0a0d0dc2003-05-31 16:46:21 +000088 <ul>
John Criswell908c1f62003-07-21 22:22:48 +000089
John Criswellb64dbf22003-07-28 19:26:39 +000090
John Criswell0a0d0dc2003-05-31 16:46:21 +000091 </ul>
John Criswellb64dbf22003-07-28 19:26:39 +000092 <li>Fix currently known bugs and write regression tests.</li>
93
John Criswell908c1f62003-07-21 22:22:48 +000094 <ul>
John Criswellb64dbf22003-07-28 19:26:39 +000095 <li>The gccld segfault from GlobalDCE.cpp.</li>
96 <li>The infinite loop for Tail Recursion.</li>
97 <li>The C++ constructor on dlopen() bug on Solaris.<br>
98 </li>
99
100 </ul>
101 <li>Get autoconf to configure source and build directories according
102 to normal autoconf procedures.</li>
103
104 <ul>
105 <li>Get test tree to work properly when configuring for a different
106 object root.</li>
107 <li>Get lex/yacc/etc output to be placed into the build tree, not
108the source tree.<br>
109 </li>
110
111 </ul>
112 <li>Test Suite</li>
113
114 <ul>
115 <li>Create a nightly tester for Sparc.</li>
116 <li>Modify the test suite to have consistent output.</li>
117 <li>Add Pass/Fail tests to nightly tester.<br>
118 </li>
119 <li>Make the USE_SPEC option work for the test directory.</li>
120 <li>Cleanup test/Programs.</li>
121
122 </ul>
123 <li>Move the pool allocator and Reoptimizer code out of mainline CVS
124 and the release.</li>
125 <li>Add autoconf checks to ensure that the compiler is GCC 3.x or higher.<br>
126 </li>
127 <li>Documentation</li>
128
129 <ul>
130 <li>Write documentation on the LLVM tools.</li>
131 <li>Review docs, ensuring that the information is up to date.</li>
132
133 </ul>
134 <li>GCC C Front End<br>
John Criswell908c1f62003-07-21 22:22:48 +0000135 </li>
John Criswellb64dbf22003-07-28 19:26:39 +0000136
John Criswell908c1f62003-07-21 22:22:48 +0000137 <ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000138 <li>Create a fix (i.e. better hack) for the sys/select.h hack.</li>
139
John Criswell908c1f62003-07-21 22:22:48 +0000140 </ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000141 <li>Licenses</li>
142
John Criswell908c1f62003-07-21 22:22:48 +0000143 <ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000144 <li>Ensure all software in source tree has proper license.<br>
145 </li>
146
John Criswell908c1f62003-07-21 22:22:48 +0000147 </ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000148
John Criswell908c1f62003-07-21 22:22:48 +0000149 <ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000150 <li>Check licenses in test/Programs to ensure everything is good.</li>
151 <li>Create license files for anything in the distribution that is
152not under our license.<br>
153 </li>
154
John Criswell908c1f62003-07-21 22:22:48 +0000155 </ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000156 <li>Ensure SafeCode builds.</li>
157 <li>Create a system for managing development and releases
158 (i.e. CVS branching, labeling revisions, etc).<br>
159 </li>
160
John Criswell0a0d0dc2003-05-31 16:46:21 +0000161 </ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000162
John Criswell908c1f62003-07-21 22:22:48 +0000163 <p> <!-- ======================================================================= -->
John Criswellb64dbf22003-07-28 19:26:39 +0000164 </p>
165
John Criswell0a0d0dc2003-05-31 16:46:21 +0000166</ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000167
John Criswell0a0d0dc2003-05-31 16:46:21 +0000168<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
169 cellspacing="0">
John Criswellb64dbf22003-07-28 19:26:39 +0000170 <tbody>
171 <tr>
172 <td>&nbsp;</td>
173 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
174 size="+1" face="Georgia,Palatino"><b><a name="medium">Medium Priority</a></b><a
John Criswell0a0d0dc2003-05-31 16:46:21 +0000175 name="NightlyTest"></a></font></td>
John Criswellb64dbf22003-07-28 19:26:39 +0000176 </tr>
177
178 </tbody>
John Criswell908c1f62003-07-21 22:22:48 +0000179</table>
John Criswellb64dbf22003-07-28 19:26:39 +0000180
John Criswell908c1f62003-07-21 22:22:48 +0000181<ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000182
John Criswell908c1f62003-07-21 22:22:48 +0000183 <ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000184 <li>Improve documentation on how to create an LLVM project.<br>
185 </li>
186 <li>Testing</li>
187
John Criswell0a0d0dc2003-05-31 16:46:21 +0000188 <ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000189 <li>Cleanup Reoptimizer tests so that they fit into the framework.<br>
190 </li>
191
John Criswell0a0d0dc2003-05-31 16:46:21 +0000192 </ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000193 <li>Create an installer for the
194software.</li>
195 <li>Put autoconf files into a separate directory (i.e. not llvm).<br>
196 </li>
197
John Criswell0a0d0dc2003-05-31 16:46:21 +0000198 </ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000199
John Criswell908c1f62003-07-21 22:22:48 +0000200 <p> <!-- ======================================================================= -->
John Criswellb64dbf22003-07-28 19:26:39 +0000201 </p>
202
John Criswell0a0d0dc2003-05-31 16:46:21 +0000203</ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000204
John Criswell0a0d0dc2003-05-31 16:46:21 +0000205<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
206 cellspacing="0">
John Criswellb64dbf22003-07-28 19:26:39 +0000207 <tbody>
208 <tr>
209 <td>&nbsp;</td>
210 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
211 size="+1" face="Georgia,Palatino"><b><a name="low">Low Priority</a></b><a
John Criswell0a0d0dc2003-05-31 16:46:21 +0000212 name="programs"></a></font></td>
John Criswellb64dbf22003-07-28 19:26:39 +0000213 </tr>
214
215 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +0000216</table>
John Criswellb64dbf22003-07-28 19:26:39 +0000217
John Criswell0a0d0dc2003-05-31 16:46:21 +0000218<ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000219
John Criswell0a0d0dc2003-05-31 16:46:21 +0000220 <ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000221 <li>GCC C Front End</li>
John Criswell908c1f62003-07-21 22:22:48 +0000222
John Criswellb64dbf22003-07-28 19:26:39 +0000223 <ul>
224 <li>Place the C front end into the CVS repository.</li>
225 <li>Ensure that the C front end compiles and installs nicely.</li>
226 <li>Add C++ support.<br>
227 </li>
228
229 </ul>
230 <li>Release Management</li>
231
232 <ul>
233 <li>Find and implement a bug reporting system (i.e. Bugzilla).</li>
234
235 </ul>
236 <li>Make the projects/sample directory an actual example of LLVM code.</li>
237 <li>Testing</li>
238
239 <ul>
240 <li>Create descriptions of what each test is doing (test specifications).<br>
241 </li>
242 <li>Test LLVM on various Linux distributions.</li>
243 <li>Test LLVM on various Solaris distributions.</li>
244 <li>Test LLVM on Solaris/x86.<br>
245 </li>
246
247 </ul>
248 <li>Licenses</li>
249
250 <ul>
251 <li>Create a license for the UIUC specific LLVM code.</li>
252 <li>Add a license file to the distribution.</li>
253 <li>Add a copyright notice and license information to each source
254 file.</li>
255
256 </ul>
257 <li>Documentation</li>
258
259 <ul>
260 <li>Create man pages for the LLVM utilities.</li>
261 <li>Create man pages for the LLVM libraries.</li>
262
263 </ul>
264 <li>Rewrite this page without Netscape Composer :)<br>
265 </li>
266
267 </ul>
268
John Criswell0a0d0dc2003-05-31 16:46:21 +0000269</ul>
John Criswellb64dbf22003-07-28 19:26:39 +0000270 <font size-1="">
Chris Lattner39698a52003-05-31 19:55:19 +0000271<address><a href="mailto:criswell@cs.uiuc.edu">John Criswell</a></address>
John Criswellb64dbf22003-07-28 19:26:39 +0000272 <!-- Created: Tue Aug 6 15:00:33 CDT 2002 --> <!-- hhmts start -->
273 Last modified: Sat May 31 14:54:03 CDT 2003 <!-- hhmts end --></font> <br>
274 <br>
275 <br>
276 <br>
277 <br>
John Criswell908c1f62003-07-21 22:22:48 +0000278 <br>
John Criswellda8c60d2003-07-02 23:03:18 +0000279 <br>
John Criswell0a0d0dc2003-05-31 16:46:21 +0000280</body>
281</html>