LLVM, pour
Low Level Virtual Machine, est un niveau d'abstraction pouvant se rapprocher d'une machine virtuelle permettant de lancer des programmes compilés en une représentation intermédiaire (
LLVM bytecode), ainsi que de générer directement des binaires natifs pouvant être lancés sans LLVM.
LLVM est entre autres utilisé par
Gallium 3D[en], une infrastructure de pilotes de carte graphique, pour compiler à la volée les
shaders utilisés par les cartes graphiques, et ainsi les optimiser. LLVM est également utilisé par le projet
Clang, un compilateur C, C++, Objective-C et Objective-C++ libre faisant concurrence à GCC, et en partie développé par Apple. Notez que bien que le support du C par Clang soit tout à fait correct, son
support du C++ laisse encore quelque peu à désirer.
Le 23 octobre 2009, la version
2.6 de LLVM est sortie. Cette version apporte pas mal de nouveautés depuis la version 2.5 sortie le 2 mars 2009, version qui a fait l'objet
d'une dépêche. Le détail de ces nouveautés se trouve dans la suite de la dépêche.