Die Entwickler der LLVM-Compiler-Infrastruktur (Low Level Virtual Machine) haben Version 3.5 in die freie Wildbahn entlassen, die Änderungen für verschiedene Plattformen an Bord hat, darunter ARM und MIPS.
Das LLVM-Frontend Clang kann sich demnach nun selbst auf den Plattformen Linux/Sparc64 und Free BSD/Sparc64 hosten. Die von LLVM unterstützten Plattformen verwenden fortan den Machine-Code-ASM-Drucker und nicht mehr den ohne Maschinencode-Support. Außerdem geht LLVM davon aus, dass Assembler das “.loc”-Format unterstützen, um Debug-Zeilennummern zu erzeugen.
Der integrierte Assembler parst in der neuen Version standardmäßig Inline-Assembler-Quelltexte. Vorher klappte das nur mit Ausgaben von Objektdateien. Wer dieses Verhalten deaktivieren möchte, zieht die Option “-no-integrated-as” heran. IR-Code behandelt “llvm-ar” nun wie normale Objektdateien.
Das ARM-Backend hat nun standardmäßig den integrierten Assembler (IAS) und das ARM Exception Handling (EHABI) aktiviert. Ersterer sei nun gut genug, um große Projekte zu übersetzen, letzteres sei ebenfalls ausgiebig getestet, die Optionen “-arm-enable-ehabi” und “-arm-enable-ehabi-descriptors” nicht mehr funktional.
Für die MIPS-Plattform gibt es im wesentlichen Änderungen an den Subtargets, API und ABI-Erweiterungen sowie Modifikationen am integrierten Assembler. Wer sich im Detail für die diversen MIPS-Neuerungen interessiert, findet Informationen in den Release Notes zu LLVM 3.5.
[Update, 12.9.]: Redigierleichen im 2. Absatz entfernt.




