Original author(s) | Vikram Adve, Chris Lattner |
---|---|
Developer(s) | LLVM Developer Group |
Initial release | 2003 |
Stable release |
4.0.0 / 13 March 2017
|
Repository | llvm |
Written in | C++ |
Operating system | Cross-platform |
Type | Compiler |
License | University of Illinois/NCSA Open Source License |
Website | llvm |
The LLVM compiler infrastructure project (formerly Low Level Virtual Machine) is a "collection of modular and reusable compiler and toolchain technologies" used to develop compiler front ends and back ends.
LLVM is written in C++ and is designed for compile-time, link-time, run-time, and "idle-time" optimization of programs written in arbitrary programming languages. Originally implemented for C and C++, the language-agnostic design of LLVM has since spawned a wide variety of front ends: languages with compilers that use LLVM include ActionScript, Ada, C#,Common Lisp, Crystal, D, Delphi, Fortran, OpenGL Shading Language, Halide, Haskell, Java bytecode, Julia, Lua, Objective-C, Pony,Python, R, Ruby, Rust, CUDA, Scala, and Swift.