Alternativer Compiler LLVM 1.7 mit großen Fortschritten

Unterstützung für inline Assembler und GCC 4.0

In der Version 1.7 wartet der alternative Compiler LLVM mit umfangreicher Unterstützung von Vektorisierung für Intels SSE und Altivec der PowerPCs sowie verbesserten Optimierungen und Code generierenden Backends auf. Damit wird LLVM fit für den Alltagseinsatz und auch eine Integration in den GCC wird ob der interessanten Ansätze von LLVM diskutiert.

Anzeige

Für die interne Darstellung des Programmflusses verwendet LLVM ein eigenes virtuelles Instruction-Set, das eine virtuelle Maschine auch direkt ausführen kann. Der Vorteil ist, dass wie bei Java auch von C, C++ und Objective C Code portable Binaries erstellt werden können, die erst auf dem Zielsystem von einem Just-In-Time Compiler in nativen Code übersetzt werden. Dies ermöglicht nicht nur die Auslieferung portabler Anwendungen, sondern auch neue Optimierungen zur Link- und Laufzeit des Programms. Da dies auch einige GCC-Entwickler für kommende Versionen anstreben, wird sogar über die Verwendung von LLVM in GCC selbst diskutiert.

Anders als vorherige Versionen von LLVM kann die Version 1.7 jetzt auch mit inline Assembler umgehen und sollte so einen Großteil vorhandener Software übersetzen können. Die Zusammenarbeit von LLVM mit GCC 4.0 funktioniert bisher nur unter MacOSX. Seit LLVM-Hauptentwickler Chris Lattner von Apple für die Weiterentwicklung der Compiler-Infrastruktur angestellt ist, schreitet das Projekt deutlich schneller voran.

Unter den zahlreichen Verbesserungen in den Optimierungsschritten des Compilers ist auch Unterstützung für die automatische Vektorisierung unter Verwendung von SSE und Altivec, die, wie auch bei aktuellen GCC- und ICC-Versionen, Bild- und Videodaten verarbeitende Programme enorm beschleunigen können.

Die Anbindung an GCC, um dessen Sprach-Frontends sowie Code generierenden Backends zu verwenden, unterstützt jetzt die Version 4.0 der GNU Compiler Collection. Zurzeit ist diese Unterstützung aber auf MacOS X beschränkt. Die Verwendung von GCC 4.0 soll diverse Fehler beheben und wesentlich mehr Funktionen unterstützen.

Um auch ohne GCC guten Maschinencode zu generieren, wurde unter anderem das SPRAC-Backend komplett neu geschrieben und auch der Code-Generator für IA-64 soll jetzt deutlich schnelleren und kleineren Code erzeugen.

Laut Chris Lattner "ist der Compiler definitiv auf dem Weg, ein komplettes GNU/Linux-System übersetzen zu können" - wie Apple LLVM in zukünftigen OSX-Versionen verwenden will, etwa um Universal Binaries abzulösen, ist noch nicht näher bekannt.

Auf der LLVM-Homepage des Projekts finden sich die Release Notes sowie die Quelltexte und eine umfangreiche Dokumentation. [von René Rebe]


Plattler 23. Apr 2006

100% ACK. Es gab mal vor Urzeiten (90er Jahre) einen ###sauguten### grfischen Debugger...

No Patents 21. Apr 2006

Das war fuer die Intel Platform bei den 2.x und 3.x Versionen so. Bei den 4.x sah das...

Crest 21. Apr 2006

Dies ist kein ersatz für Universal Binaries, weil es die Performance des Host-Computers...

Plattler 21. Apr 2006

Im Artikel wird suggeriert, dass gcc guten Maschinencode produziert. Das ist definitiv...

Nifty 21. Apr 2006

die plattformunabhängigkeit ist eion nebenefect, da die "Low Level Virtual Machine...

Kommentieren




Anzeige
  1. Webentwickler (m/w)
    Global Group Dialog Solutions AG, Idstein
  2. Java-Softwareentwickler (m/w)
    GK SOFTWARE AG, Sankt Ingbert
  3. IT-Projektmanager (m/w) Kundenportale
    WIKA Alexander Wiegand SE & Co. KG, Klingenberg
  4. (Junior) Softwareentwickler C#/VB (m/w)
    Prodefacto Forderungsmanagement GmbH, Osnabrück

 

Detailsuche


Folgen Sie uns
       


  1. Video

    Yahoo gibt Angebot für Hulu ab

  2. Google X

    Google baut mobiles Internet in Afrika und Südostasien

  3. Xbox One

    Handel muss Gebrauchtspiele de-registrieren

  4. Lenovo

    "Wir können uns jede Übernahme leisten"

  5. Bundesdatenschützer

    Jobcenter sollen nicht bei Facebook recherchieren

  6. Navigation

    Google Maps erhält Routenplanung per Fahrrad

  7. Test Call of Juarez Gunslinger

    Hör-Spiel im Wilden Westen

  8. Fonic All-Net Flat

    Telefon-, SMS- und Datenflatrate für 25 Euro

  9. Drosselung

    Die Mär vom teuren Traffic oder wie viel kostet ein GByte?

  10. Telekom

    Bundestagspetition gegen Drosselung erreicht 50.000



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Dying Light: Einsamer Kampf in großer Stadt
Dying Light
Einsamer Kampf in großer Stadt

Tagsüber sammelt der Spieler Vorräte und Waffen, nachts kämpft er gegen Zombies: Das ist das Grundkonzept von Dying Light, das Techland unter anderem für Playstation 4 und Xbox One produziert.

  1. Flying Wild Hog Der Shadow Warrior kämpft wieder
  2. Homosexualität in Spielen Bug oder Feature?
  3. Strategiespiel HTML5-Version von Freeciv veröffentlicht

Offene Formate in Deutschland: "Passiert ist nix!"
Offene Formate in Deutschland
"Passiert ist nix!"

Linuxtag 2013 Im Vergleich zu anderen europäischen Ländern tun sich die deutschen Behörden in Deutschland mit Open-Source-Software noch schwer. Eine Podiumsdiskussion auf dem Open-IT Summit 2013 offenbart das Problem: geschlossene Dokumentenstandards.

  1. Clark Asay Defensive Patente mit freier Software nicht vereinbar?
  2. Adobes CFF Engine Bessere Schriftdarstellung für Android, iOS und Linux
  3. Entwicklerplatinen Spark Core mit WLAN und Cortex-M3-Prozessor

Blackberry Z10 im Langzeittest: Tausche Android gegen Blackberry
Blackberry Z10 im Langzeittest
Tausche Android gegen Blackberry

Mit dem Z10 versucht Blackberry ein Comeback im Smartphone-Markt. Auch Android-Anwendungen lassen sich auf dem Gerät installieren. Golem.de-Autor Tobias Költzsch hat zwei Wochen lang sein Galaxy S3 gegen das Z10 getauscht und im Langzeittest überprüft, wie schwer ein Umstieg ist.

  1. Smartphones Blackberry Q5 im Juli, Blackberry 10.1 wird verteilt
  2. Mobilfunk Fast drei Viertel der Smartphones laufen mit Android
  3. Blackberry-Chef "In fünf Jahren gibt es keine Tablets mehr"

Zum Artikel