LLVM is a compiler infrastructure used to optimize code for many different programming languages. It provides re-usable “toolchain technologies” to process the intermediate form of a program during the compilation process. This utility allows LLVM to analyzing a program for optimization opportunities and provides modified intermediate form to the compiler itself.
Originally, LLVM was short for Low-Level Virtual Machine when it began in 2000. Since then it has grown in scope and the name no longer stands for anything in particular. LLVM is used by Apple in all its development tools for OS X and iOS, and by Sony for development on the PlayStation 4.
Supported LLVM languages
Languages that can be optimized using LLVM include:
- ActionScript
- Ada
- C
- C++
- C#
- Common Lisp
- D
- Fortran
- Go
- Haskell
- Java
- Julia
- Lua
- Objective-C
- OpenGL
- Python
- Ruby
- Rust
- Scala
- Swift
Optimization, Programming terms