-<ol>
- <li>LLVM now includes a JIT for the PowerPC target.</li>
- <li>LLVM now optimizes global variables significantly more than it did
- before.
- </li>
- <li>LLVM now includes the new '<tt>undef</tt>' value and
- <a href="LangRef.html#i_unreachable"><tt>unreachable</tt></a> instruction,
- which give the optimizer more information about the behavior of the
- program.
- </li>
- <li>llvmgcc and llvmg++ now emit source line number information when '-g' is
- passed in. This information can be used with llvm-db or other tools and
- passes.
- </li>
- <li>The test/Programs hierarchy <a href="http://llvm.cs.uiuc.edu/PR257">has
- been moved out of the main LLVM tree</a> into a separate CVS repository and
- tarball. This shrinks the distribution size of LLVM itself significantly.
- </li>
- <li>Bytecode compression with bzip2 has been implemented. All bytecode files
- generated by LLVM will now be compressed by default. Compression can be
- disabled with the <tt>-disable-compression</tt> option to the tools that can
- generate bytecode files.
- </li>
- <li>A generic <a href="http://llvm.cs.uiuc.edu/PR353">compiler driver</a> and
- an associated <a href="CommandGuide/html/llvm-ld.html">generic linker</a> have
- been implemented. The compiler driver is generic because it can be configured
- to pre-process, translate, optimize, assemble, and link code from any source
- language. This aids compiler writers because all that is needed is a
- source-to-bytecode or source-to-assembly translator and a configuration file.
- The linker is generic because it allows dynamically loadable optimization
- modules to be executed for link-time optimization. Language specific
- link-time optimization modules can be created and executed automatically.
- </li>
- <li>The <a href="http://llvm.cs.uiuc.edu/PR263">dependent libraries</a>
- feature has been implemented. This allows front end compilers to indicate in
- the bytecode which libraries the bytecode needs to be linked with. Both the
- C/C++ front end and Stacker support generating the required libraries. The
- Linker now supports using this information to ensure required libaries are
- linked into the module. This minimizes the need to use the <tt>-l</tt> option
- when using <a href="CommandGuide/html/llvmc.html"><tt>llvmc</tt></a>
- </li>
- <li>The LLVM makefiles have been improved to build LLVM faster (2x) and
- includes new targets (like dist-check, uninstall). One important change is
- associated with <a href="http://llvm.cs.uiuc.edu/PR456">PR456</a>. The
- libraries and tools will now be built into <tt>$builddir/Debug/{bin,lib}</tt>
- instead of <tt>$builddir/tools/Debug</tt> and <tt>$builddir/lib/Debug</tt>.
- Similarly for <tt>Release</tt> and <tt>Profile</tt> builds.
- </li>
- <li>The LLVM source code is much more compatible with Microsoft Visual C++,
- including the JIT and runtime-code generation, though the entire system
- may not work with it.
- </li>
- <li>The target-to-JIT interfaces <a href="http://llvm.cs.uiuc.edu/PR283">are
- now much simpler</a> and more powerful.
- </li>
- <li>zlib and libpng are <a href="http://llvm.cs.uiuc.edu/PR417">no longer
- included in the main LLVM tarball</a>.</li>
- <li>The LLVM code generator now generates asm writers for the target from
- an abstract target description, instead of requiring them to be hand
- written.</li>
- <li>LLVM regression and feature tests can now be run with DejaGNU.</li>
-</ol>