LLVM Public Release Project
This document is a list of things to do before the LLVM project is publicly
released. It will provide a checklist so that we know what has been
done and what is left to be done. It will also keep a "wishlist"
of desirable features.
The
list of things to do...
- Fix currently known bugs and write regression tests.
- The gccld segfault from GlobalDCE.cpp.
- The infinite loop for Tail Recursion.
- The C++ constructor on dlopen() bug on Solaris.
- Get autoconf to configure source and build directories according
to normal autoconf procedures.
- Get test tree to work properly when configuring for a different
object root.
- Get lex/yacc/etc output to be placed into the build tree, not the
source tree.
- Test Suite
- Create a nightly tester for Sparc.
- Modify the test suite to have consistent output.
- Add Pass/Fail tests to nightly tester.
- Make the USE_SPEC option work for the test directory.
- Cleanup test/Programs.
- Move the pool allocator and Reoptimizer code out of mainline CVS
and the release.
- Documentation
- Write documentation on the LLVM tools.
- Review docs, ensuring that the information is up to date.
- GCC C Front End
- Create a fix (i.e. better hack) for the sys/select.h hack.
- Licenses
- Ensure all software in source tree has proper license.
- Check licenses in test/Programs to ensure everything is good.
- Create license files for anything in the distribution that is not
under our license.
- Ensure SafeCode builds.
- Create a system for managing development and releases
(i.e. CVS branching, labeling revisions, etc).
- Improve documentation on how to create an LLVM project.
- Testing
- Cleanup Reoptimizer tests so that they fit into the framework.
- Create an installer for the software.
- Put autoconf files into a separate directory (i.e. not llvm).
- GCC C Front End
- Place the C front end into the CVS repository.
- Ensure that the C front end compiles and installs nicely.
- Add C++ support.
- Release Management
- Find and implement a bug reporting system (i.e. Bugzilla).
- Make the projects/sample directory an actual example of LLVM code.
- Testing
- Create descriptions of what each test is doing (test specifications).
- Test LLVM on various Linux distributions.
- Test LLVM on various Solaris distributions.
- Test LLVM on Solaris/x86.
- Licenses
- Create a license for the UIUC specific LLVM code.
- Add a license file to the distribution.
- Add a copyright notice and license information to each source
file.
- Documentation
- Create man pages for the LLVM utilities.
- Create man pages for the LLVM libraries.
John Criswell
Last modified: Sat May 31 14:54:03 CDT 2003