Reid implemented this.
[oota-llvm.git] / docs / OpenProjects.html
index f3bfa4cd11f1322b5f742a46424ced5c90b02863..56dcea8602a6686c15acde327a6aaf61ee1def6c 100644 (file)
@@ -16,7 +16,6 @@
   <li><a href="#improving">Improving the current system</a>
   <ol>
     <li><a href="#glibc">Port glibc to LLVM</a></li>
-    <li><a href="#NightlyTest">Improving the Nightly Tester</a></li>
     <li><a href="#programs">Compile programs with the LLVM Compiler</a></li>
     <li><a href="#llvm_ir">Extend the LLVM intermediate representation</a></li>
     <li><a href="#misc_imp">Miscellaneous Improvements</a></li>
   </ol></li>
 </ul>
 
+<div class="doc_author">
+  <p>Written by the <a href="http://llvm.cs.uiuc.edu/">LLVM Team</a></p>
+</div>
+
+
 <!-- *********************************************************************** -->
 <div class="doc_section">
   <a name="what">What is this?</a>
@@ -52,9 +56,12 @@ contributions.</p>
 to the <a href="http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVM
 Developer's</a> mailing list, so that we know the project is being worked on.
 Additionally this is a good way to get more information about a specific project
-or to suggest other projects to add to this page.  Another good place to look
-for ideas is the <a href="http://llvm.cs.uiuc.edu/bugs/">LLVM bug
-tracker</a>.</p>
+or to suggest other projects to add to this page.
+</p>
+
+<p>The projects in this page are open-ended. More specific projects are
+filed as unassigned enhancements in the <a href="http://llvm.cs.uiuc.edu/bugs/">
+LLVM bug tracker</a>. See the <a href="http://llvm.cs.uiuc.edu/bugs/buglist.cgi?keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_severity=enhancement&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=unassigned">list of currently outstanding issues</a> if you wish to help improve LLVM.</p>
 
 </div>
 
@@ -89,24 +96,6 @@ library and the <tt>stdio</tt> related functions... low-level system calls like
 
 </div>
 
-<!-- ======================================================================= -->
-<div class="doc_subsection">
-  <a name="NightlyTest">Improving the Nightly Tester</a>
-</div>
-
-<div class="doc_text">
-
-<p>The <a href="/testresults/">Nightly Tester</a> is a simple perl script
-(located in <tt>utils/NightlyTest.pl</tt>) which runs every night to generate a
-daily report.  It could use the following improvements:</p>
-
-<ol>
-<li>Regression tests - We should run the regression tests in addition to the
-    program tests...</li>
-</ol>
-
-</div>
-
 <!-- ======================================================================= -->
 <div class="doc_subsection">
   <a name="programs">Compile programs with the LLVM Compiler</a>
@@ -136,10 +125,6 @@ all the back-ends: CBE, llc, and lli.</p>
 <div class="doc_text">
 
 <ol>
-
-<li>Add a new conditional move instruction: <tt>X = select bool Cond, Y,
-    Z</tt></li>
-
 <li>Add support for platform-independent prefetch support.  The GCC <a
     href="http://gcc.gnu.org/projects/prefetch.html">prefetch project</a> page
     has a good survey of the prefetching capabilities of a variety of modern
@@ -185,7 +170,7 @@ Irreducible Loops</a>.</li>
 
 <div class="doc_text">
 
-<p>Sometimes creating new things is more fun that improving existing things.
+<p>Sometimes creating new things is more fun than improving existing things.
 These projects tend to be more involved and perhaps require more work, but can
 also be very rewarding.</p>
 
@@ -210,9 +195,6 @@ themselves.  It seems natural to want to take advantage of this...</p>
 <li>Implement a flow-sensitive context-insensitive alias analysis algorithm<br>
   - Just an efficient local algorithm perhaps?</li>
 
-<li>Implement an interface to update analyses in response to common code motion
-    transformations</li>
-
 <li>Implement alias-analysis-based optimizations:
   <ul>
   <li>Dead store elimination</li>
@@ -276,8 +258,6 @@ profiling code to work with the generic profiling interfaces.</li>
      - Design some way to represent and query dep analysis</li>
 <li>Implement a strength reduction pass</li>
 <li>Value range propagation pass</li>
-<li>Implement an unswitching pass</li>
-<li>Write a loop unroller, with a simple heuristic for when to unroll</li>
 </ol>
 
 </div>
@@ -290,7 +270,6 @@ profiling code to work with the generic profiling interfaces.</li>
 <div class="doc_text">
 
 <ol>
-<li>Implement a global register allocator</li>
 <li>Implement a better instruction selector</li>
 <li>Implement support for the "switch" instruction without requiring the 
     lower-switches pass.</li>
@@ -299,19 +278,27 @@ profiling code to work with the generic profiling interfaces.</li>
 </div>
 
 <!-- ======================================================================= -->
-<div class="doc_subsection">
+<div class="doc_section">
   <a name="misc_new">Miscellaneous Additions</a>
 </div>
 
 <div class="doc_text">
 
 <ol>
-<li>Write a new frontend for some language (Java? OCaml? Forth?)</li>
+<li>Port the <A HREF="http://www-sop.inria.fr/mimosa/fp/Bigloo/">Bigloo</A>
+Scheme compiler, from Manuel Serrano at INRIA Sophia-Antipolis, to
+output LLVM bytecode. It seems that it can already output .NET
+bytecode, JVM bytecode, and C, so LLVM would ostensibly be another good
+candidate.</li>
+<li>Write a new frontend for some other language (Java? OCaml? Forth?)</li>
 <li>Write a new backend for a target (IA64? MIPS? MMIX?)</li>
+<li>Write a disassembler for machine code that would use TableGen to output 
+<tt>MachineInstr</tt>s for transformations, optimizations, etc.</li>
 <li>Random test vector generator: Use a C grammar to generate random C code;
 run it through llvm-gcc, then run a random set of passes on it using opt.
 Try to crash opt. When opt crashes, use bugpoint to reduce the test case and
 mail the result to yourself.  Repeat ad infinitum.</li>
+<li>Design a simple, recognizable logo.</li>
 </ol>
 
 </div>
@@ -319,12 +306,16 @@ mail the result to yourself.  Repeat ad infinitum.</li>
 <!-- *********************************************************************** -->
 
 <hr>
-<div class="doc_footer">
-  <address><a href="mailto:sabre@nondot.org">Chris Lattner</a></address>
-  <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a>
-  <br>
+<address>
+  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
+  src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
+  <a href="http://validator.w3.org/check/referer"><img
+  src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a>
+
+  <a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
+  <a href="http://llvm.cs.uiuc.edu">LLVM Compiler Infrastructure</a><br>
   Last modified: $Date$
-</div>
+</address>
 
 </body>
 </html>