Original-URL des Artikels: https://www.golem.de/1112/88159.html    Veröffentlicht: 02.12.2011 11:11    Kurz-URL: https://glm.io/88159

LLVM 3.0

Clang und Dragonegg statt LLVM-gcc

Mit neuen Funktionen haben die Entwickler LLVM 3.0 veröffentlicht. Die Unterstützung für LLVM-gcc haben die Entwickler zugunsten der Projekte Clang und Dragonegg eingestellt.

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 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 zusammengefasst. Die aktuelle Version steht auf den Servern zum Download bereit. LLVM erscheint unter der University of Illinois Open Source License.  (jt)


Verwandte Artikel:
Saphira: Compiler-Patches verraten neue Qualcomm-CPU   
(06.11.2017, https://glm.io/130991 )
LLVM 2.9: Compiler-rt und Libc++ mit Lizenzänderungen   
(07.04.2011, https://glm.io/82636 )
Arduino: IDE 1.9 implementiert heiß ersehnte Funktion   
(14.10.2017, https://glm.io/130613 )
Compiler-Baukasten: LLVM 5.0 erweitert Ryzen- und AMDGPU-Unterstützung   
(14.09.2017, https://glm.io/130049 )
Autonomes Fahren: Leiter der Autopilot-Software verlässt Tesla   
(21.06.2017, https://glm.io/128493 )

© 1997–2019 Golem.de, https://www.golem.de/