New transformation: tail recursion elimination
[oota-llvm.git] / docs / ReleaseTasks.html
index 83ff80c30d1dd42b2fae64dbd41a279b3e4d3e92..4ba8f58a0565dc0c80fa1ac124a93da9ce96232d 100644 (file)
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
 <head>
-  <title>Open LLVM Projects</title>
+  <title>LLVM Public Release Project</title>
 </head>
   <body bgcolor="white">
-         
-<center>    
+                   
+<center>         
 <h1><font size="7">LLVM Public Release Project</font></h1>
-    </center>
-          
+     </center>
+                    
 <ul>
-       <li><a href="#what">What is this?</a>   </li>
-      <li><a href="#priorities">Priorities</a>                       
+            <li><a href="#what">What is this?</a>   </li>
+           <li><a href="#priorities">Priorities</a>                     
+                          
     <ol>
-         <li><a href="#high">High Priority</a>     </li>
-          <li><a href="#medium">Medimum Priority</a>     </li>
-          <li><a href="#low">Low Priority</a>     </li>
-                       
+              <li><a href="#high">High Priority</a>     </li>
+               <li><a href="#medium">Medimum Priority</a>     </li>
+               <li><a href="#low">Low Priority</a>     </li>
+                                                     
     </ol>
-      </li>
-       
+           </li>
+                 
 </ul>
-      <br>
- <!-- *********************************************************************** -->
-           
+           <br>
+      <!-- *********************************************************************** --> 
+                  
 <table width="100%" bgcolor="#330077" border="0" cellpadding="4"
  cellspacing="0">
-     <tbody>
-        <tr>
-          <td align="center"><font color="#eeeeff" size="+2"
+          <tbody>
+             <tr>
+               <td align="center"><font color="#eeeeff" size="+2"
  face="Georgia,Palatino"><b> <a name="what">What is this? </a></b><a
  name="what"></a></font></td>
-        </tr>
-               
-  </tbody>    
+             </tr>
+                                   
+  </tbody>         
 </table>
-       
+                 
 <ul>
-     <!-- *********************************************************************** --> 
-   This document is a list of things to do before the LLVM project is publicly
-  released. &nbsp;It will provide a checklist so that we know what has been
- done and what is left to be done. &nbsp;It will also keep a "wishlist" of
- desirable features.                       
-  <p>   <!-- *********************************************************************** --> 
-    </p>
-       
+          <!-- *********************************************************************** -->
+      This document is a list of things to do before the LLVM project is
+publicly     released. &nbsp;It will provide a checklist so that we know
+what has been    done and what is left to be done. &nbsp;It will also keep
+a "wishlist" of   desirable features.                                    
+  <p>   <!-- *********************************************************************** -->
+       </p>
+                 
 </ul>
-       
+                 
 <table width="100%" bgcolor="#330077" border="0" cellpadding="4"
  cellspacing="0">
-     <tbody>
-        <tr>
-          <td align="center"><font color="#eeeeff" size="+2"
+          <tbody>
+             <tr>
+               <td align="center"><font color="#eeeeff" size="+2"
  face="Georgia,Palatino"><b> <a name="priorities">Priorities</a></b><a
  name="improving"></a></font></td>
-        </tr>
-               
-  </tbody>    
+             </tr>
+                                   
+  </tbody>         
 </table>
-       
+                 
 <ul>
-     <!-- *********************************************************************** -->The
-  list of things to do...            
-  <p>  <!-- ======================================================================= --> 
-    </p>
-       
+          <!-- *********************************************************************** -->The 
+    list of things to do...                           
+  <p>  <!-- ======================================================================= -->
+       </p>
+                 
 </ul>
-       
+                 
 <table width="50%" bgcolor="#441188" border="0" cellpadding="4"
  cellspacing="0">
-     <tbody>
-        <tr>
-          <td>&nbsp;</td>
-          <td width="100%">&nbsp;&nbsp;<font color="#eeeeff" size="+1"
- face="Georgia,Palatino"><b><a name="high">High Priority</a></b><a
+          <tbody>
+             <tr>
+               <td>&nbsp;</td>
+               <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
size="+1" face="Georgia,Palatino"><b><a name="high">High Priority</a></b><a
  name="glibc"></a></font></td>
-        </tr>
-               
-  </tbody>    
+             </tr>
+                                   
+  </tbody>         
 </table>
-       
+                 
 <ul>
-               
+                                   
   <ul>
-              <li>Modify the build environment so that the LLVM utilities 
-can be built  outside of the research group. &nbsp;This entails:</li>
-                       
+                                                                    
     <ul>
-          <li>Modify the build environment so that it does not use absolute 
- paths.</li>
-        <li>Make the build environment more configurable via Makefile.config.<br>
-        </li>
-          <li>Add support for dynamic build configuration (i.e. autoconf
-or  imake support).</li>
-        <li>Ensure that all build types (debug, optimized, profile) work
-correctly.<br>
-        </li>
-                       
+                                                                        
+                    
+    </ul>
+                  <li>Write regression tests.</li>
+                 
+    <ul>
+         <li>The gccld segfault from GlobalDCE.cpp.</li>
+         <li>The infinite loop for Tail Recursion.</li>
+         <li>The C++ constructor on dlopen() bug on Solaris.<br>
+         </li>
+                 
+    </ul>
+             <li>Get autoconf to configure source and build directories according 
+ to normal autoconf procedures.</li>
+                 
+    <ul>
+         <li>Get test tree to work properly when configuring for a different 
+ object root.</li>
+         <li>Get lex/yacc/etc output to be placed into the build tree, not
+ the source tree.<br>
+         </li>
+                 
     </ul>
-        <li>Ensure that the C front end compiles and installs nicely.</li>
-        <li>Place the C front end into the CVS repository.<br>
-        </li>
-        <li>Get the Reoptimizer code to work, ensuring that it does not rely
-  upon code outside of the source tree.<br>
-        </li>
-        <li>Create a structure that allows for the easy addition of outside 
- projects to the LLVM source tree.</li>
-        <li>Create a system for managing development and releases (i.e. CVS 
- branching, labeling revisions, etc).<br>
-        </li>
-               
+       <li>Test Suite</li>
+                 
+    <ul>
+         <li>Move Test Suite to QMTest.</li>
+         <li>Add Feature and Regression tests to nightly tester.<br>
+         </li>
+    </ul>
+       <li>Move the Reoptimizer code out of mainline CVS  and the release.</li>
+      </li>
+       <li>Documentation</li>
+                 
+    <ul>
+         <li>Write documentation on the LLVM tools.</li>
+         <li>Review docs, ensuring that the information is up to date.</li>
+                 
+    </ul>
+       <li>GCC C Front End<br>
+       </li>
+                   <li>Licenses</li>
+                 
+    <ul>
+         <li>Ensure all software in source tree has proper license.<br>
+         </li>
+                 
+    </ul>
+                 
+    <ul>
+         <li>Check licenses in test/Programs to ensure everything is good.</li>
+         <li>Create license files for anything in the distribution that is
+ not under our license.<br>
+         </li>
+                 
+    </ul>
+       <li>Ensure SafeCode builds.</li>
+                      <li>Create a system for managing development and releases
+  (i.e. CVS   branching, labeling revisions, etc).<br>
+             </li>
+                                   
   </ul>
-               
-  <p>   <!-- ======================================================================= --> 
-    </p>
-       
+                                   
+  <p>   <!-- ======================================================================= -->
+       </p>
+                 
 </ul>
-       
+                 
 <table width="50%" bgcolor="#441188" border="0" cellpadding="4"
  cellspacing="0">
-     <tbody>
-        <tr>
-          <td>&nbsp;</td>
-          <td width="100%">&nbsp;&nbsp;<font color="#eeeeff" size="+1"
- face="Georgia,Palatino"><b><a name="medium">Medium Priority</a></b><a
+          <tbody>
+             <tr>
+               <td>&nbsp;</td>
+               <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
size="+1" face="Georgia,Palatino"><b><a name="medium">Medium Priority</a></b><a
  name="NightlyTest"></a></font></td>
-        </tr>
-               
-  </tbody>    
+             </tr>
+                                   
+  </tbody>         
 </table>
-       
+                 
 <ul>
-               
+                                   
   <ul>
-        <li>Improve the testing framework.</li>
-                 
+             <li>Improve documentation on how to create an LLVM project.<br>
+    </li>
+             <li>Testing</li>
+                                               
     <ul>
-         <li>Cleanup Reoptimizer tests so that they fit into the framework.<br>
-        </li>
-        <li>Create descriptions of what each test is doing (test specifications).</li>
-                        
+              <li>Cleanup Reoptimizer tests so that they fit into the framework.<br>
+             </li>
+                                                                
     </ul>
-        <li>Get the Reoptimizer tests to compile under x86.<br>
-        </li>
-        <li>Determine which sub-projects of LLVM will be distributed.</li>
-        <li>Review and update documentation.</li>
-        <li>Create an installer for the software.<br>
-        </li>
-               
+                                          <li>Create an installer for the 
+software.</li>
+       </li>
+                                             
   </ul>
-               
-  <p>   <!-- ======================================================================= --> 
-    </p>
-       
+                                   
+  <p>   <!-- ======================================================================= -->
+       </p>
+                 
 </ul>
-       
+                 
 <table width="50%" bgcolor="#441188" border="0" cellpadding="4"
  cellspacing="0">
-     <tbody>
-        <tr>
-          <td>&nbsp;</td>
-          <td width="100%">&nbsp;&nbsp;<font color="#eeeeff" size="+1"
- face="Georgia,Palatino"><b><a name="low">Low Priority</a></b><a
+          <tbody>
+             <tr>
+               <td>&nbsp;</td>
+               <td width="100%">&nbsp;&nbsp;<font color="#eeeeff"
size="+1" face="Georgia,Palatino"><b><a name="low">Low Priority</a></b><a
  name="programs"></a></font></td>
-        </tr>
-               
-  </tbody>    
+             </tr>
+                                   
+  </tbody>         
 </table>
-       
+                 
 <ul>
-               
+                                   
   <ul>
-        <li>Find and implement a bug reporting system (i.e. Bugzilla).</li>
-        <li>Test installations on various Linux distributions.</li>
-        <li>Create a license for the UIUC specific LLVM code.</li>
-        <li>Add a license file to the distribution.</li>
-        <li>Add a copyright notice and license information to each source 
-file.</li>
-       <li>Create man pages for the LLVM utilities.<br>
-       </li>
-               
+             <li>GCC C Front End</li>
+                 
+    <ul>
+         <li>Place the C front end into the CVS repository.</li>
+         <li>Ensure that the C front end compiles and installs nicely.</li>
+         <li>Add C++ support.<br>
+         </li>
+                 
+    </ul>
+       <li>Release Management</li>
+                 
+    <ul>
+         <li>Find and implement a bug reporting system (i.e. Bugzilla).</li>
+                 
+    </ul>
+       <li>Make the projects/sample directory an actual example of LLVM code.</li>
+                       <li>Testing</li>
+                 
+    <ul>
+         <li>Create descriptions of what each test is doing (test specifications).<br>
+         </li>
+         <li>Test LLVM on various Linux distributions.</li>
+         <li>Test LLVM on various Solaris distributions.</li>
+         <li>Test LLVM on Solaris/x86.<br>
+         </li>
+                 
+    </ul>
+             <li>Licenses</li>
+                 
+    <ul>
+         <li>Create a license for the UIUC specific LLVM code.</li>
+         <li>Add a license file to the distribution.</li>
+  file.</li>
+                 
+    </ul>
+                                <li>Documentation</li>
+                 
+    <ul>
+         <li>Create man pages for the LLVM utilities.</li>
+         <li>Create man pages for the LLVM libraries.</li>
+                 
+    </ul>
+     <li>Rewrite this page without Netscape Composer :)<br>
+     </li>
+                                   
   </ul>
-       
+                 
 </ul>
-    <font size-1="">     
-<address><a href="mailto:sabre@nondot.org">Chris Lattner</a></address>
-     <!-- Created: Tue Aug  6 15:00:33 CDT 2002 --> <!-- hhmts start -->
-Last   modified: Fri May 30 10:11:00 CDT 2003 <!-- hhmts end --></font> <br>
-   <br>
+         <font size-1="">          
+<address><a href="mailto:criswell@cs.uiuc.edu">John Criswell</a></address>
+          <!-- Created: Tue Aug  6 15:00:33 CDT 2002 --> <!-- hhmts start --> 
+  Last modified: Sat May 31 14:54:03 CDT 2003 <!-- hhmts end --></font> <br>
+        <br>
+        <br>
+     <br>
+    <br>
    <br>
+  <br>
+ <br>
 </body>
 </html>