LLVM 3.0 setzt verbindlich Clang oder Dragonegg voraus
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:
- Low Level Virtual Machine (LLVM) [7] im heise Software-Verzeichnis
-
(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
Copyright © 2011 Heise Medien