LLVM ist ein ein C- und C++-Compiler, der umfangreiche Optimierungen ermöglicht. Er compiliert für einen virtuellen Befehlssatz, der an RISC-Maschinen angelehnt ist, aber reichhaltige Typinformation und Datenfluß-Information zur Verfügung stellt. Dies ermöglicht zum einen ausgefeilte Transformationen des Objektcodes, andererseits kann die Information an das ausführbare Programm angehängt werden. Dies erlaubt weitere Transformationen während des Linkens, zur Laufzeit und an der ausführbaren Datei selbst, während das Programm nicht läuft. So kann während des Linkens eine interprozedurale Optimierung vorgenommen werden. Dies ist alles transparent für Entwickler und Anwender und kompatibel zu existierenden Build-Skripten.
Ferner ist LLVM eine Compiler-Infrastruktur. Es wird zur Zeit verwendet für Forschungen im Bereich von Compilern, Architekturen, Sicherheit und Betriebssysteme. Der Compiler von LLVM beruht auf GCC 3.4. (hjb)