Login
Login-Name Passwort


 
Newsletter
Werbung

Fr, 20. Mai 2005, 08:04

Software::Entwicklung

LLVM 1.5 freigegeben

Ein Forscherteam an der University of Illinois hat LLVM 1.5 freigegeben, einen C- und C++-Compiler, der umfangreiche Optimierungen ermöglichen soll.

Genau genommen ist LLVM mehr als nur ein Compiler. Das LLVM Team an der University of Illinois in Urbana-Champaign bezeichnet LLVM als eine Compilier-Strategie für effektive Optimierung, einen virtuellen Befehlssatz und eine Compiler-Infrastruktur. Es wird zur Zeit verwendet für Forschungen im Bereich von Compilern, Architekturen, Sicherheit und Betriebssysteme.

LLVM (Low Level Virtual Machine) definiert einen virtuellen Befehlssatz, der an RISC-Maschinen angelehnt ist, aber reichhaltige Typinformation und Datenfluß-Information zur Verfügung stellt. Dies ermöglicht zum einen ausgefeilte Transformationen des Objektcodes, andererseits kann die Information an das ausführbare Programm angehängt werden. Dies erlaubt weitere Transformationen während des Linkens, zur Laufzeit und an der ausführbaren Datei selbst, während das Programm nicht läuft.

Optimierung eines Programmes zu jedem dieser Zeitpunkte ist eine mögliche Anwendung der Transformationen. So kann während des Linkens eine interprozedurale Optimierung vorgenommen werden. Dies ist alles transparent für Entwickler und Anwender und kompatibel zu existierenden Build-Skripten.

Der Compiler von LLVM beruht auf GCC 3.4. Der Compiler kann Code für x86, PowerPC, IA-64, Alpha und SPARC V9 erzeugen oder portablen C-Code ausgeben. Ferner gibt es einen Just-in-Time-Compiler für x86, PowerPC und SPARC V9.

Das auf GCC beruhende Frontend steht unter der GPL, der Rest des Paketes unter der University of Illinois/NCSA Open Source License, einer BSD-ähnlichen Lizenz. LLVM kann von der Download-Seite heruntergeladen werden.

Die aktuelle Version kann unter anderem noch keinen Inline-Assemblercode verarbeiten. Damit ist sie noch nicht geeignet, den Linux-Kernel zu übersetzen. Im Prinzip müßte sich aber ein Großteil der existierenden C- und C++-Programme compilieren lassen. Man kann die Funktionsweise von LLVM anhand einer Online-Demo ausprobieren.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung