Freier Compiler LLVM soll enger mit GCC zusammenarbeiten
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.
Bislang sei LLVM aber nur recht lose mit einer alten GCC-Version, einer Vorabversion des GCC 3.4, verbunden, was sich nun aber ändern soll. Für Apple hat Chris Lattner eine neue Version der LLVN-GCC-Übersetzungsschicht auf Basis des GCC 4 entwickelt, bei der die LLVM-Optimizer und der Code-Generator direkt in den GCC-Prozess integriert sind und die Tree-SSA-Optimizers sowie den RTL-Code-Generator mit LLVM-Komponenten ersetzt.
Laut Lattner erhält man so einen Compiler, der kommandozeilenkompatibel mit GCC ist. Rund einen Monat will Lattner dafür noch benötigen. Darüber hinaus plant er, Link-Zeit-Optimierungen zu integrieren. Seine Pläne erläutert er in der GCC-Mailingliste ausführlich(öffnet im neuen Fenster). Dazu zählt auch die Überlegung, die Rechte an LLVM ganz an die Free Software Foundation (FSF) zu übertragen, sollte von Seiten der GCC-Entwickler der Wunsch bestehen, LLVM zu einem langfristigen GCC-Projekt zu machen.
- 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.



