blob: 5e8841a7f634f354fa1007154318b7b565090b28 [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">
7
8<center>
John Criswellda8c60d2003-07-02 23:03:18 +00009<h1><font size="7">LLVM Public Release Project</font></h1>
John Criswell908c1f62003-07-21 22:22:48 +000010 </center>
11
John Criswellda8c60d2003-07-02 23:03:18 +000012<ul>
John Criswell908c1f62003-07-21 22:22:48 +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 Criswell908c1f62003-07-21 22:22:48 +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 Criswell908c1f62003-07-21 22:22:48 +000022 </li>
23
John Criswellda8c60d2003-07-02 23:03:18 +000024</ul>
John Criswell908c1f62003-07-21 22:22:48 +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 Criswell908c1f62003-07-21 22:22:48 +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 Criswell908c1f62003-07-21 22:22:48 +000035 </tr>
36
37 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +000038</table>
John Criswell908c1f62003-07-21 22:22:48 +000039
John Criswell0a0d0dc2003-05-31 16:46:21 +000040<ul>
John Criswell908c1f62003-07-21 22:22:48 +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 been
44 done and what is left to be done. &nbsp;It will also keep a "wishlist"
45of desirable features.
46 <p> <!-- *********************************************************************** -->
John Criswellda8c60d2003-07-02 23:03:18 +000047 </p>
John Criswell908c1f62003-07-21 22:22:48 +000048
John Criswell0a0d0dc2003-05-31 16:46:21 +000049</ul>
John Criswell908c1f62003-07-21 22:22:48 +000050
John Criswell0a0d0dc2003-05-31 16:46:21 +000051<table width="100%" bgcolor="#330077" border="0" cellpadding="4"
52 cellspacing="0">
John Criswell908c1f62003-07-21 22:22:48 +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 Criswell908c1f62003-07-21 22:22:48 +000058 </tr>
59
60 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +000061</table>
John Criswell908c1f62003-07-21 22:22:48 +000062
John Criswell0a0d0dc2003-05-31 16:46:21 +000063<ul>
John Criswell908c1f62003-07-21 22:22:48 +000064 <!-- *********************************************************************** -->The
65 list of things to do...
66 <p> <!-- ======================================================================= -->
John Criswellda8c60d2003-07-02 23:03:18 +000067 </p>
John Criswell908c1f62003-07-21 22:22:48 +000068
John Criswell0a0d0dc2003-05-31 16:46:21 +000069</ul>
John Criswell908c1f62003-07-21 22:22:48 +000070
John Criswell0a0d0dc2003-05-31 16:46:21 +000071<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
72 cellspacing="0">
John Criswell908c1f62003-07-21 22:22:48 +000073 <tbody>
74 <tr>
75 <td>&nbsp;</td>
76 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff" size="+1"
John Criswell0a0d0dc2003-05-31 16:46:21 +000077 face="Georgia,Palatino"><b><a name="high">High Priority</a></b><a
78 name="glibc"></a></font></td>
John Criswell908c1f62003-07-21 22:22:48 +000079 </tr>
80
81 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +000082</table>
John Criswell908c1f62003-07-21 22:22:48 +000083
John Criswell0a0d0dc2003-05-31 16:46:21 +000084<ul>
John Criswell908c1f62003-07-21 22:22:48 +000085
John Criswell0a0d0dc2003-05-31 16:46:21 +000086 <ul>
John Criswell908c1f62003-07-21 22:22:48 +000087
John Criswell0a0d0dc2003-05-31 16:46:21 +000088 <ul>
John Criswell908c1f62003-07-21 22:22:48 +000089
90
John Criswell0a0d0dc2003-05-31 16:46:21 +000091 </ul>
John Criswell908c1f62003-07-21 22:22:48 +000092 <li>Fix currently known bugs and write regression tests.</li>
93 <ul>
94 <li>The gccld segfault from GlobalDCE.cpp.</li>
95 <li>The infinite loop for Tail Recursion.</li>
96 <li>The C++ constructor on dlopen() bug on Solaris.<br>
97 </li>
98 </ul>
99 <li>Get autoconf to configure source and build directories according
100to normal autoconf procedures.</li>
101 <ul>
102 <li>Get test tree to work properly when configuring for a different
103object root.</li>
104 <li>Get lex/yacc/etc output to be placed into the build tree, not the
105source tree.<br>
106 </li>
107 </ul>
108 <li>Test Suite</li>
109 <ul>
110 <li>Create a nightly tester for Sparc.</li>
111 <li>Modify the test suite to have consistent output.</li>
112 <li>Add Pass/Fail tests to nightly tester.<br>
113 </li>
114 <li>Make the USE_SPEC option work for the test directory.</li>
115 <li>Cleanup test/Programs.</li>
116 </ul>
117 <li>Move the pool allocator and Reoptimizer code out of mainline CVS
118and the release.</li>
119 <li>Documentation</li>
120 <ul>
121 <li>Write documentation on the LLVM tools.</li>
122 <li>Review docs, ensuring that the information is up to date.</li>
123 </ul>
124 <li>GCC C Front End<br>
John Criswellda8c60d2003-07-02 23:03:18 +0000125 </li>
John Criswell908c1f62003-07-21 22:22:48 +0000126 <ul>
127 <li>Create a fix (i.e. better hack) for the sys/select.h hack.</li>
128 </ul>
129 <li>Licenses</li>
130 <ul>
131 <li>Ensure all software in source tree has proper license.<br>
132 </li>
133 </ul>
134 <ul>
135 <li>Check licenses in test/Programs to ensure everything is good.</li>
136 <li>Create license files for anything in the distribution that is not
137under our license.<br>
138 </li>
139 </ul>
140 <li>Ensure SafeCode builds.</li>
141 <li>Create a system for managing development and releases
John Criswellda8c60d2003-07-02 23:03:18 +0000142(i.e. CVS branching, labeling revisions, etc).<br>
John Criswell908c1f62003-07-21 22:22:48 +0000143 </li>
144
John Criswell0a0d0dc2003-05-31 16:46:21 +0000145 </ul>
John Criswell908c1f62003-07-21 22:22:48 +0000146
147 <p> <!-- ======================================================================= -->
John Criswellda8c60d2003-07-02 23:03:18 +0000148 </p>
John Criswell908c1f62003-07-21 22:22:48 +0000149
John Criswell0a0d0dc2003-05-31 16:46:21 +0000150</ul>
John Criswell908c1f62003-07-21 22:22:48 +0000151
John Criswell0a0d0dc2003-05-31 16:46:21 +0000152<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
153 cellspacing="0">
John Criswell908c1f62003-07-21 22:22:48 +0000154 <tbody>
155 <tr>
156 <td>&nbsp;</td>
157 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff" size="+1"
John Criswell0a0d0dc2003-05-31 16:46:21 +0000158 face="Georgia,Palatino"><b><a name="medium">Medium Priority</a></b><a
159 name="NightlyTest"></a></font></td>
John Criswell908c1f62003-07-21 22:22:48 +0000160 </tr>
John Criswellda8c60d2003-07-02 23:03:18 +0000161
John Criswell908c1f62003-07-21 22:22:48 +0000162 </tbody>
163</table>
164
165<ul>
166
167 <ul>
168 <li>Improve documentation on how to create an LLVM project.<br>
169 </li>
170 <li>Testing</li>
171
John Criswell0a0d0dc2003-05-31 16:46:21 +0000172 <ul>
John Criswell908c1f62003-07-21 22:22:48 +0000173 <li>Cleanup Reoptimizer tests so that they fit into the framework.<br>
174 </li>
175
John Criswell0a0d0dc2003-05-31 16:46:21 +0000176 </ul>
John Criswell908c1f62003-07-21 22:22:48 +0000177 <li>Create an installer for the software.</li>
178 <li>Put autoconf files into a separate directory (i.e. not llvm).<br>
John Criswellda8c60d2003-07-02 23:03:18 +0000179 </li>
John Criswell908c1f62003-07-21 22:22:48 +0000180
John Criswell0a0d0dc2003-05-31 16:46:21 +0000181 </ul>
John Criswell908c1f62003-07-21 22:22:48 +0000182
183 <p> <!-- ======================================================================= -->
John Criswellda8c60d2003-07-02 23:03:18 +0000184 </p>
John Criswell908c1f62003-07-21 22:22:48 +0000185
John Criswell0a0d0dc2003-05-31 16:46:21 +0000186</ul>
John Criswell908c1f62003-07-21 22:22:48 +0000187
John Criswell0a0d0dc2003-05-31 16:46:21 +0000188<table width="50%" bgcolor="#441188" border="0" cellpadding="4"
189 cellspacing="0">
John Criswell908c1f62003-07-21 22:22:48 +0000190 <tbody>
191 <tr>
192 <td>&nbsp;</td>
193 <td width="100%">&nbsp;&nbsp;<font color="#eeeeff" size="+1"
John Criswell0a0d0dc2003-05-31 16:46:21 +0000194 face="Georgia,Palatino"><b><a name="low">Low Priority</a></b><a
195 name="programs"></a></font></td>
John Criswell908c1f62003-07-21 22:22:48 +0000196 </tr>
197
198 </tbody>
John Criswell0a0d0dc2003-05-31 16:46:21 +0000199</table>
John Criswell908c1f62003-07-21 22:22:48 +0000200
John Criswell0a0d0dc2003-05-31 16:46:21 +0000201<ul>
John Criswell908c1f62003-07-21 22:22:48 +0000202
John Criswell0a0d0dc2003-05-31 16:46:21 +0000203 <ul>
John Criswell908c1f62003-07-21 22:22:48 +0000204 <li>GCC C Front End</li>
205 <ul>
206 <li>Place the C front end into the CVS repository.</li>
207 <li>Ensure that the C front end compiles and installs nicely.</li>
208 <li>Add C++ support.<br>
209 </li>
210 </ul>
211 <li>Release Management</li>
212 <ul>
213 <li>Find and implement a bug reporting system (i.e. Bugzilla).</li>
214 </ul>
215 <li>Make the projects/sample directory an actual example of LLVM code.</li>
216 <li>Testing</li>
217 <ul>
218 <li>Create descriptions of what each test is doing (test specifications).<br>
219 </li>
220 <li>Test LLVM on various Linux distributions.</li>
221 <li>Test LLVM on various Solaris distributions.</li>
222 <li>Test LLVM on Solaris/x86.<br>
223 </li>
224 </ul>
225 <li>Licenses</li>
226 <ul>
227 <li>Create a license for the UIUC specific LLVM code.</li>
228 <li>Add a license file to the distribution.</li>
229 <li>Add a copyright notice and license information to each source
230file.</li>
231 </ul>
232 <li>Documentation</li>
233 <ul>
234 <li>Create man pages for the LLVM utilities.</li>
235 <li>Create man pages for the LLVM libraries.<br>
236 </li>
237 </ul>
238
John Criswell0a0d0dc2003-05-31 16:46:21 +0000239 </ul>
John Criswell908c1f62003-07-21 22:22:48 +0000240
John Criswell0a0d0dc2003-05-31 16:46:21 +0000241</ul>
John Criswell908c1f62003-07-21 22:22:48 +0000242 <font size-1="">
Chris Lattner39698a52003-05-31 19:55:19 +0000243<address><a href="mailto:criswell@cs.uiuc.edu">John Criswell</a></address>
John Criswell908c1f62003-07-21 22:22:48 +0000244 <!-- Created: Tue Aug 6 15:00:33 CDT 2002 --> <!-- hhmts start -->
245 Last modified: Sat May 31 14:54:03 CDT 2003 <!-- hhmts end --></font> <br>
246 <br>
247 <br>
248 <br>
John Criswellda8c60d2003-07-02 23:03:18 +0000249 <br>
John Criswell0a0d0dc2003-05-31 16:46:21 +0000250</body>
251</html>