Low-Level Virtual Machine (LLVM) is a compiler infrastructure designed for compile-time, link-time, run-time, and "idle-time" optimization of programs from arbitrary programming languages. It currently supports compilation of C, Objective-C, and C++ programs, using front-ends derived from GCC 4.0, GCC 4.2, and a custom new front-end, "clang". It supports x86, x86_64, ia64, PowerPC, and SPARC, with support for Alpha and ARM under development.
| Tags | Software Development Compilers Code Generators |
|---|---|
| Implementation | C++ C |
Recent releases


Changes: 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.


Changes: 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.


Changes: 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.


Changes: Numerous major enhancements and bugfixes.


Changes: 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.
- All comments
Recent commentsLLVM announcements
If you are signed up for the email list that freshmeat provides, you are only getting the release announcements. However, LLVM also provides regular status updates (http://mail.cs.uiuc.edu/pipermail/llvm-announce/2004-May/000008.html) which you are missing.
You are encouraged to instead subscribe to the llvm-announce (http://mail.cs.uiuc.edu/mailman/listinfo/llvm-announce) list which will get you crisp new status updates and release news.