Release Notes: This release includes improved compilation speed, support for multiple return values in LLVM IR, and initial support for PIC16. llvmc2 (the generic compiler driver) gained plugin support. It is now easier to experiment with llvmc2 and build your own tools based on it. This release also includes an optional build system based on CMake. It still is in its early stages, but can be useful for Visual C++ users who cannot use the Visual Studio IDE. Other improvements in LLVM internals include a more efficient representation that leads to lower memory usage and better vector support.
Release Notes: This release includes many bugfixes, vastly improved support for the X86-64 ABI, support for SSE 4.1 on X86 chips, support for functions that return multiple results in memory, a new 'llvmc' tool, support for atomic operations, improved gfortran support, and many new and improved optimizer and code generator passes. A new addition to the LLVM family is "vmkit". vmkit is an implementation of a Java Virtual Machine and a CLI Virtual Machine (".NET") that use the Just-In-Time compiler of LLVM, as well as many facilities provided by the LLVM framework.
Release Notes: Numerous major enhancements and bugfixes.
Release Notes: Two new beta C front-ends were added: a new version of llvm-gcc based on gcc-4.2, and LLVM's own native C and Objective-C front-end, code named "clang". This front-end has a number of great features, primarily aimed at source-level analysis and speeding up compile time. This release includes new optimization passes: memory dependence analysis and global value numbering, and code generator improvements for X86, PPC, and ARM. C++ zero-cost exception handling now works in llvm-gcc-4.0 and llvm-gcc-4.2 on Linux/x86-32.
Release Notes: In this version, the ARM backend is stable and fully supported, x86 backend supports MMX and PIC, and an MSIL (.NET) backend was added. A new loop rotation pass was added, and PassManager and loop strength reduction pass were improved. Integer types are now signless and can support arbitrary bitwidths. Support for software floating point was added, and inline assembly support is improved. Improved DWARF debug information and support for zero-cost DWARF exception handling are now available. There are major changes in the API and the bytecode format.
Release Notes: This release correctly builds itself and passes all its regression tests when self-hosted (~400K lines C/C++). It adds a new x86-64 backend, a library for supporting link-time optimization in the system linker, and support for the SPEC CPU 2006 benchmark set. There are many optimization enhancements, including extensions to loop unrolling, better mod/ref analysis, better branch folding, and faster phi elimination. Target-specific improvements: Darwin/x86 and Linux/x86 debug info support, and the ARM backend can build a simple cross-compiler.
Release Notes: This release adds DWARF debugging support (for C and C++ on Darwin/PPC), improved inline assembly support, a new nightly tester, and llvm-config enhancements. It also includes many bugfixes and performance and compile time improvements, such as improved loop unswitching using loop-closed SSA form in the loop optimizer and deallocation of machine code in the JIT compiler.
Release Notes: This release contains a completely rewritten C/C++ frontend (based on GCC-4.01), a brand new SPARC backend that supports GCC-style generic vectors, support for SSE and Altivec intrinsics, and support for Objective C/C++. The X86 backend generates much better code and can produce scalar SSE code. This release has initial DWARF debugging support, includes a new llvm-config utility, has initial support for GCC-style inline assembly, and includes many target-independent code generator and optimizer improvements.
Release Notes: The main focus of this release is the improved code generator: it is now easier to write a new LLVM backend target with the target description language, LLVM generates better code, and several of the backends have been improved, in particular the PowerPC and Alpha backends. Other improvements: JIT can now handle threaded code, simple static C++ constructors evaluated at compile time, subtarget support based on target triples, and a new light-weight instruction scheduler. Support has been added for Mac OS X on x86. Warnings/errors have been removed from compilation with GCC 4.
Release Notes: New backends in this release: SparcV8, Alpha, and IA-64. New features added include a completed pattern-matching instruction selection framework, support for per-function calling conventions, and support for tail calls. The target-independent code generator was improved with division-to-multiplication conversion (for constants) and strength reduction. Math intrinsics are converted to assembly instructions when possible. A new prefetch intrinsic was added. This release includes bugfixes for the C/C++ front-end and portability fixes for FreeBSD, Win32, and HP-UX.