Projects / Low-Level Virtual Machine

Low-Level Virtual Machine

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

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  17 Mar 2009 16:58
  • Rrelease-after

    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.

    • Rrelease-mid
    •  20 Nov 2008 18:08
    • Rrelease-after

    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.

    • Rrelease-mid
    •  13 Jun 2008 16:59
    • Rrelease-after

    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.

    • Rrelease-mid
    •  30 Apr 2008 23:25
    • Rrelease-after

    Changes: Numerous major enhancements and bugfixes.

    • Rrelease-mid
    •  05 Dec 2007 02:59
    • Rrelease-after

    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.

    Rss Recent comments

    Rcomment-before 06 May 2004 10:36 Rcomment-trans brukman Rcomment-after

    LLVM 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.

    135e14479ab33eb47be010c2769c1fb4_thumb

    Project Spotlight

    Hiawatha

    An advanced and secure Web server.

    C5043c6cc995bb6fcd5021a78a35004e_thumb

    Project Spotlight

    Tiny Core Linux

    A Linux desktop in 10 MB.