[LLVMdev] LLVM Status Update
Fri Aug 15 14:06:01 2003
Ok, the last status update (http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-June/000416.html)
was over 7 weeks ago, sorry about that. We've been really busy squishing
bugs, improving stability, and otherwise improving the system for the
release. Here are some of the major accomplishments in LLVM since the
1. We finally have the go-ahead from the university to release LLVM under
the Illinois Open Source License (http://www.opensource.org/licenses/UoI-NCSA.php),
which is an OSI approved license similar in spirit to the BSD license.
This is good for us, because now the barriers to the release are purely
technical, not political. :) :)
2. John has LLVM completely autoconfiscated, which makes the system
dramatically easier to set up and use! He and Dinakar also wrapped up
the "Projects" system, which allows loosely connected LLVM projects to
be built outside of the LLVM tree, while making use of all of the
makefile machinery we already have.
3. Brian finished up the static compiler (LLC) backend for the X86, and it
works great. Misha has the Sparc JIT working, which means that both
the Sparc and X86 backends work in both JIT and Static configurations
now! Misha also added nightly tester support for the Sparc, so we can
track its progress as well.
4. Vikram found and fixed a bunch of bugs in the Sparc backend, which
makes it work a lot better on SPECINT2000!
5. Brian wrote a new Name Mangler interface which allows all of the
back-ends to share a single common implementation, eliminating a bunch
of redundant code!
6. Chris checked in a couple of improvements to the target-independent
portions of the JIT, which sped it up by about 25% overall.
7. Large chunks of the X86 backend are now automatically generated from a
TableGen description file,
8. Misha added a mode to bugpoint to automatically debug buggy code
generators. It supports both the static and JIT compilers.
9. The Data Structure Analysis implementation is now greatly improved and
more efficient than before, and now has a "GraphChecker" pass which
allows us to write nice regression tests for it.
10. Improvements in the C frontend and in the Sparc backend now make LLVM
work a lot better with standard configure scripts (./configure CC=llvmgcc)
11. Minor improvements:
- LOTS of minor bugs fixed
- The C Backend now supports the invoke instruction
- Misha wrote Emacs and VIM syntax highlighting modes for TableGen files
- Substantial improvements to the instcombine and reassociation passes
- New DEBUG_TYPE macro: http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-August/000439.html
- The -trace[m] runtime has been improved
12. Lots of house cleaning and restructuring are happening to the LLVM
sourcebase and build system as we prepare for the big release. LLVM
now compiles with GCC 3.3.
Although a lot of progress is being made, it looks like we may have to
slip the 1.0 release until the middle or end of september (~1 month), to
get the infrastructure for bug-tracking and regression testing up to
speed, as well as perform more testing. We want this to be the most solid
1.0 release possible. :)
That said, if you don't already have a copy of LLVM, and would like one,
we can probably provide you with a prerelease. Just get in touch with
Vikram and myself off list (we don't want the slip to stop anyone from
using LLVM, we just want the final official release to be as useful as
If you have any questions or comments, feel free to email the llvmdev list
or me directly depending on what it is. Have fun LLVMing!