Compiler-Infrastruktur LLVM 2.8 veröffentlicht

Zahlreiche Neuerungen haben Einzug in die neue Version der Low Level Virtual Machine gehalten, und mit libc++ und LLDB beherbergt die Compiler-Infrastrukturplattform zwei neue Unterprojekte.

In Pocket speichern vorlesen Druckansicht 49 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Die LLVM-Entwickler haben die Version 2.8 ihrer Low Level Virtual Machine zum Download freigegeben. Das Release folgt rund sechs Monate nach der letzten Version, die den sich erstmals selbst kompilierenden C/C++-Compiler Clang enthielt. Neben den Kernbibliotheken stellen weitere LLVM-Komponenten llvm-gcc und DragonEgg dar, das sind GCC-Abwandlungen zur Codegenerierung von durch den GNU-Compiler unterstützten Sprachen.

Unter den Neuerungen von LLVM 2.8 heben die Entwickler einen sogenannten Drop-in-System-Assembler, die Unterstützung für das Schreiben von Objekt-Dateien (.o) direkt vom Compiler aus, einen ARM-Disassembler, Überarbeitungen bei der ARM-Codegenerierung, eine bessere Unterstützung für das Debuggen von optimiertem Code und ein Verhaltensverbesserungen für X87-Gleitkommazahlen hervor.

In der Ankündigung zur neuen Version wurde des Weiteren bekannt gegeben, dass zwei neue Unterprojekte in den LLVM-Kosmos Einzug gehalten haben. Es handelt sich dabei zum einen mit libc++ um eine neue Implementierung der C++-Standard-Bibliothek. Sie soll bevorzugt mit Clang++ zusammenarbeiten, aber auch mit anderen Compilern funktionieren und den neuen C++-Standard C++0x unterstützen, wenn er denn final freigegeben wurde. Zum anderen liegt mit LLDB ein neuer modularer Debugger vor. Beide Projekte haben aber noch nicht Aufnahme in LLVM 2.8 gefunden.

Bei LLVM handelt es sich um eine Sammlung von Bibliotheken und Tools für optimierende Compiler und Just-in-Time-Codegeneratoren. Die Entwickler bezeichnen sie als "Infrastruktur", mit der es möglich ist, Code nahezu in Echtzeit zu kompilieren, ohne plattformspezifischen Code einführen zu müssen. Ursprünglich war C++-Code als Hauptbetätigungsfeld angedacht, mittlerweile gibt es auch Frontends für Objective-C, Java-Bytecode, Microsofts Common Intermediate Language (CIL), Python und Ruby-Implementierungen.

Gestartet als Projekt an der University of Illinois erhält es mittlerweile Unterstützung auch durch die IT-Schwergewichte Apple und Adobe. In den Release Notes geben die Entwickler einige Beispiele, wo die neue Version ihrer Infrastruktur bereits verwendet wird, etwa die Programmiersprachen Pure und Clay; andere LLVM-Nutzer findet man hier.

Siehe dazu auch:

  • LLVM im heise Software-Verzeichnis

(ane)