Release Notes: Type Based Alias Analysis is now implemented and turned on by default in Clang. Inline assembly now supports multiple alternative constraints. LLVM IR now supports the unnamed_addr attribute to indicate that constant global variables with identical initializers can be merged. Link Time Optimization has been improved to use MC for parsing inline assembly. The new TargetLibraryInfo interface allows mid-level optimizations to know whether the current target's runtime library has certain functions. LLVM has a new RegionPass infrastructure for region-based optimizations.
Release Notes: Clang C++ is now feature-complete with respect to the ISO C++ 1998 and 2003 standards. Support for Objective-C++ was added. Many new warnings were introduced and format string checking was greatly improved. A C interface was introduced to Clang, intended to support IDE clients. Support for SSE, ARM NEON, and Altivec was added. Support for many Microsoft extensions was improved. Support for blocks and precompiled headers in C++ was implemented. Abstract syntax trees were improved to retain more accurate source information. There were numerous other enhancements and bugfixes.
Release Notes: This release includes a new XCore backend. The gcc-4.2-based front-end now includes support for the C, C++, Objective-C, Ada, and Fortran programming languages. LLVM now uses CMake for Windows builds and supports arbitrary precision integers in the code generator. The '.ll' parser was completely rewritten to provide better diagnostics, and no longer relies on bison. Several analysis and optimization passes have been improved for speed and aggressiveness, including register promotion, scalar replacement of unions, and memory dependence analysis. This release ships with a new version of the driver llvmc which also supports the Clang plugin.
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.