Login
Newsletter
Werbung

Fr, 8. April 2011, 14:29

Software::Entwicklung

LLVM 2.9 mit besserer Code-Erzeugung freigegeben

Version 2.9 des Compiler-Frameworks LLVM bringt sechs Monate nach Version 2.8 verbesserte Code-Optimierung und im C++-Compiler bessere Unterstützung für C++0x.

Das LLVM-Team an der University of Illinois in Urbana-Champaign bezeichnet LLVM als eine Compilier-Strategie für effektive Optimierung, einen virtuellen Befehlssatz und eine Compiler-Infrastruktur. Es wird zur Zeit für Forschungen im Bereich von Compilern, Architekturen, Sicherheit und Betriebssysteme verwendet.

LLVM (Low Level Virtual Machine) definiert einen virtuellen Befehlssatz, der an RISC-Maschinen angelehnt ist, aber reichhaltige Typinformation und Datenfluss-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.

Die neue Version 2.9 ist nach Angaben der Entwickler die letzte 2.x-Version, die nächste Version soll 3.0 sein. Zum letzten Mal wird der llvm-gcc-Compiler angeboten, der durch das Clang-Unterprojekt hinfällig wurde.

LLVM 2.9 bietet, wie die Entwickler schreiben, eine wesentlich verbesserte Code-Generierung und Optimierung gegenüber Version 2.8. Besonders soll sich das auf modernen ARM-CPUs bemerkbar machen. Die Optimierung beim Linken (LTO) wurde verbessert und beschleunigt, so dass nun auch große Anwendungen wie Firefox 4 compiliert werden können, und zahlreiche andere Optimierungen wurden hinzugefügt.

Der Compiler Clang, der C, Objective-C, C++ und Objective-C++ compiliert, hat laut den Entwicklern wesentliche Fortschritte gemacht und ist nun sehr stabil. Auch der kommende Standard C++0x wird besser unterstützt, auch wenn dazu noch vieles fehlt.

DragonEgg, ein Plugin für GCC, das dessen Optimierer durch die Optimierer von LLVM ersetzt, wurde stabiler, besonders wenn Fortran oder Java compiliert wird. Inline-Assembler wird besser unterstützt.

Die Compiler-Laufzeitbibliothek wurde vor allem hinsichtlich der Lizenz modifiziert. Neben der LLVM-Lizenz können Anwender nun auch die MIT-Lizenz wählen. Die gleiche duale Lizenz findet jetzt auch für die C++-Standardbibliothek libc++ Anwendung.

Das neue Projekt LLDB, ein Debugger, ist nach Angaben der Entwickler mittlerweile recht stabil und nützlich. Ein Tutorial ist verfügbar. Weitere neue Mitglieder in der LLVM-Familie sind LLBrowse zum Ansehen der Interna der LLVM-Module und VMKit, eine Implementierung der Java Virtual Machine (JVM), die LLVM sowohl für die statische als auch für die Just-in-Time-Compilierung benutzt. Weitere Informationen enthalten die Anmerkungen zur Veröffentlichung.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung