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 last update... 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 possible). 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! -Chris -- http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/