Hi LLVMers, We're actively working on finishing up the release, which has been delayed. Last week was dominated by several paper submissions which were all due at about the same time, so the release fell behind (if you're interested, the papers are available on the main page). We are currently shooting for getting the release out the door early next week. That said, we have made a lot of progress towards the release, as described below: 1. LLVM now supports setjmp/longjmp in C programs, thanks to Bill Wendling. This is described in more detail here: http://mail.cs.uiuc.edu/pipermail/llvm-announce/2003-September/000001.html 2. The -globaldce pass was completely rewritten. It can now delete functions and global variables which have circular references between them, but are otherwise unreachable. 3. Bitfield support in the C/C++ Frontend was dramatically improved. 4. John wrote "man pages" for all of the LLVM tools, which we collectively call the LLVM Command Guide: http://llvm.cs.uiuc.edu/docs/CommandGuide/ 5. There is now a new tail recursion elimination pass. 6. Misha improved the bytecode loader to be able to load individual functions on demand. This is useful for things like the JIT, although nothing is currently using the new capabilities. 7. Misha spearheaded the Great LLVM Tool Renaming project: http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-September/000495.html The old 'as,dis,link' tools are now 'llvm-as,llvm-dis,llvm-link' 8. Bill Wendling contributed an improvement to the switch lowering pass, which changes it to emit a logarithmic comparison tree instead of a linear branch sequence. This should improve the performance of the native code generators on large switch statements. 9. John added a new -native option to gccld, which makes LLVM work much better with off-the-shelf configure scripts. 10. Handling of opaque types has been dramatically improved in the LLVM core. This means that parsing .ll & .bc files is dramatically faster in some cases, and that the nasty "linker bug" is finally gone. http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20030929/007635.html 11. The SSA construction pass (aka "mem2reg") has been dramatically sped up for programs which have high-degree basic blocks. It has also been changed to build pruned SSA form instead of minimal SSA form, which is much more efficient (the dead PHI nodes are never useful anyway). http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20030929/007664.html http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20030929/007691.html http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20030929/007696.html 12. Misha added a new top-level "CREDITS.TXT" file, where we can keep track of all people who have contributed to LLVM. 13. The usual truckload of bug fixes. Of particular note, the C++ front-end has made major improvements, and is now able to compile the 252.eon SPEC benchmark, among others. The sparc back-end also supports the invoke instruction now (although it does not support unwinding), like the X86 backend. Overall, we are making slow but steady progress towards our goal: a feature complete, stable, and reliable 1.0 release we can all be proud of. In particular, we are working on setting up Bugzilla for handling bug reports and setting up a public anonymous CVS server. Our hope is for the 1.0 release to go as smoothly as possible. -Chris -- http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/