LLVM 3.0: Clang und Dragonegg statt LLVM-gcc
LLVM 3.0 ist mit etlichen neuen Funktionen erschienen, darunter Optimierungen an dem In-Memory-Compiler (IR). Die Unterstützung für die MIPS-Architektur ist nicht mehr als experimentell eingestuft und LLVM-ggc wird künftig nicht mehr unterstützt. Stattdessen sollen Entwickler die externen Module Clang und Dragonegg verwenden. LLVM ist eine Sammlung von Bibliotheken und Werkzeugen, mit der sich Code plattformunabhängig in Echtzeit kompilieren lässt.
Mit einer neuen Registerzuteilung(öffnet im neuen Fenster) soll besserer Code generiert werden können. Der In-Memory-Compiler unterstützt atomare Speicheroperationen und orientiert sich damit an dem aktuellen Standard C++11 der Programmiersprache C++. Nach zahlreichen Verbesserungen stufen die Entwickler das MIPS-Backend nicht mehr als experimentell ein. Dabei haben sie die Unterstützung für MIPS1 und MIPS2 entfernt und für MIPS64 hinzugefügt. Im ARM-Backend wurden die Code-Generierung für Cortex-A9-CPUs und die ARM-Erweiterung Neon optimiert.
Das Clang-Plugin erhält unter anderem eine Referenzzählung für Objective-C und hat die Unterstützung für den C++0x-Standard optimiert. Außerdem wurden einige Funktionen des C1x-Standards implementiert. Das GCC-Frontend Dragonegg kann mit GCC 4.6 verwendet werden, eine Anpassung an die GNU Compiler Collection ist nicht mehr nötig. Der Java-Compiler VMKit kann eine Untermenge der Java-Kernbibliotheken vorab kompilieren. Damit soll die JIT-Geschwindigkeit erhöht werden.
Alle Änderungen an LLVM und den Werkzeugen haben die Entwickler in den Release Notes(öffnet im neuen Fenster) zusammengefasst. Die aktuelle Version steht auf den Servern zum Download(öffnet im neuen Fenster) bereit. LLVM erscheint unter der University of Illinois Open Source License.
- Anzeige Hier geht es zu C++: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.


