|  | |
| Original author(s) | Vikram Adve, Chris Lattner | 
|---|---|
| Developer(s) | LLVM Developer Group | 
| Initial release | 2003 | 
| Stable release | 3.9 / 2 September 2016
 | 
| 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.