# LLVM Public Release Project

- What is this?
- Priorities
  1. High Priority
  2. Medimum Priority
  3. Low Priority

What is this?

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.

Priorities

The list of things to do...

| High Priority

- 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

- Move Test Suite to QMTest.
- Add Feature and Regression tests to nightly tester.

- Move the 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
- 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).

| Medium Priority

- 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.

| Low Priority

- 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.
file.

- Documentation

- Create man pages for the LLVM utilities.
- Create man pages for the LLVM libraries.

- Rewrite this page without Netscape Composer :)

Last modified: Sat May 31 14:54:03 CDT 2003