Freier Compiler LLVM 1.5 verspricht besseren Code
LLVM wird an der University of Illinois rund um Chris Lattner entwickelt. Ein eigenes, virtuelles Instruction-Set soll bei der Code-Darstellung und Optimierung helfen. Dabei ist es sogar möglich, den virtuellen Befehlssatz als Ausgabeformat zu verwenden und beispielsweise den Linux-Kernel so zu konfigurieren, dass dieser die Programme automatisch mit einem Just-In-Time Compiler ausführt. Auf diese Weise könnten Programme aller unterstützten Sprachen – darunter C und C++ – ähnlich wie Java einmal kompiliert auf verschiedenen Plattformen verwendet werden.
Der Fokus liegt jedoch darauf, eine moderne Compiler-Infrastruktur zu bieten, die dank der Low Level Virtual Machine (LLVM) sehr viele moderne Optimierungen bieten kann. So kann LLVM anders als zum Beispiel GCC noch zur Linkzeit und damit programmübergreifend Optimierungen vornehmen.
LLVM baut teilweise auf GCC auf und kann so dessen Sprach-Frontends sowie die Code-generierenden Backends verwenden, bietet aber für die Sprachen C++ sowie die CPUs x86, PowerPC, IA-64, Alpha und SPARC eigene, teils bessere Implementierungen und kann sogar portablen Code für jede Sprache erzeugen. Der Just-In-Time-Compiler ist für x86, PowerPC und SPARC V9 verfügbar.
Die Version 1.5 soll gegenüber der Version 1.4 etwa 15 Prozent schneller geworden sein und 30 Prozent weniger Speicher verwenden. Die neue Version bietet zudem erstmals Unterstützung für Alpha, IA-64 und SPARC-V8 sowie diverse Verbesserung in der Code-Generierung. Zudem kann pro Funktion die "Calling Convertion", also die Art, wie die Argumente übergeben werden, variieren.
Auch wenn sich schon viele Programme inklusive der kompletten SPEC-Suite übersetzen lassen, verarbeitet der Compiler noch kein Inline-Assembler, so dass sich Betriebssystem-Kernel und C-Bibliotheken nicht übersetzen lassen.
Laut Chris Lattner "ist der Compiler aber definitiv auf dem Weg ein komplettes GNU/Linux System übersetzen zu können".
Auf der Homepage des Projekts finden sich die Release Notes(öffnet im neuen Fenster) sowie die Quelltexte(öffnet im neuen Fenster) sowie eine umfangreiche Dokumentation(öffnet im neuen Fenster). [von René Rebe]
- Anzeige Hier geht es zum Handbuch für Softwareentwickler 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.


