zurück zum Artikel

LLVM 3.0 setzt verbindlich Clang oder Dragonegg voraus

Alexander Neumann

Zur "runden" Versionsnummer der Low-Level Virtual Machine haben sich die Entwickler von den in den vorigen Versionen mitgeschleppten Altlasten getrennt.

Die Compiler-Infrastruktur Low-Level Virtual Machine (LLVM [1]) ist nun in Version 3.0 erschienen [2] – rund ein halbes Jahr nach der vorigen größeren Version LLVM 2.9 [3]. Zur "runden" Versionsnummer haben sich die Entwickler von den bisher mitgeschleppten Altlasten getrennt. So unterstützt LLVM 3.0 nicht mehr länger das llvm-gcc-Frontend. Entwickler müssen fortan Clang [4] oder Dragonegg [5] verwenden. Auch funktionieren Dateiformate früherer LLVM-Versionen wie .bc und .ll nicht mehr länger.

Neu sind die Registerzuweisung für eine bessere Codegenerierung, Unterstützung für atomare Operatoren und das Speichermodell des neuen Standards C++11. Das MIPS-Backend hat offenbar nicht mehr experimentellen Status, in dem Kontext wurde die Unterstützung für MIPS1 und MIPS beseitigt und die für MIPS64 ergänzt.

Bei der Erweiterung für den C/C++-Compiler Clang haben die Entwickler das ARC-System (Automatic Reference Counting) von Objective-C sowie zahlreiche Funktionen von C++11 und des zukünftigen C++-Standards C1X implementiert. Eine erste Unterstützung gibt es bei Clang für OpenCL. Dragonegg lässt sich darüber hinaus mit GCC 4.6, der aktuellen GNU Compiler Collection, einsetzen.

C, C++, Fortran und Ada bleiben die offiziell unterstützten Sprachen des GCC-Frontends, während Java, Objective-C, Objective-C++ und Go teilweise funktionieren. Einen detaillierten Einblick über sämtlichen Neuerungen enthalten die Release Notes [6].

Die Low-Level Virtual Machine (LLVM) ist eine unter anderem von Apple geförderte Compiler-Infrastruktur, die aus einer Sammlung von Bibliotheken und Tools für optimierende Compiler und Just-in-Time-Codegeneratoren besteht. Laut den Entwicklern kann mit ihr nahezu in Echtzeit kompiliert werden, ohne plattformspezifischen Code einführen zu müssen.

Siehe dazu auch:

(ane [8])


URL dieses Artikels:
https://www.heise.de/-1388842

Links in diesem Artikel:
[1] http://llvm.org/
[2] http://lists.cs.uiuc.edu/pipermail/llvm-announce/2011-December/000039.html
[3] https://www.heise.de/news/LLVM-2-9-mit-besserer-C-0x-Unterstuetzung-1224268.html
[4] http://clang.llvm.org/
[5] http://dragonegg.llvm.org/
[6] http://www.llvm.org/releases/3.0/docs/ClangReleaseNotes.html
[7] http://www.heise.de/software/download/low_level_virtual_machine_llvm/76698
[8] mailto:ane@heise.de