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. Spezialistin / Spezialist E-Government und Online-Services
    VBL, Karlsruhe
  2. Big Data Engineer (m/w)
    TeamViewer GmbH, Göppingen oder Stuttgart
  3. Applikationsingenieur (m/w) für Mobilfunk-Messungen und Treibersoftware
    ROHDE & SCHWARZ GmbH & Co. KG, München
  4. Anwendungsberater/in für Lösungen im Produktbereich Bürgerservice
    Zweckverband Kommunale Informationsverarbeitung Baden-Franken, Heilbronn

 

Detailsuche


Top-Angebote
  1. BESTSELLER: Game of Thrones - Die komplette 4. Staffel [Blu-ray]
    32,99€
  2. NUR NOCH HEUTE: Filmreife Osterangebote bei Amazon
    (u. a. Avatar 3D + Titanic 3D 19,97€, Rocky 1-6 22,97€ Blu-ray, Stirb langsam 1-5 Blu-ray 24...
  3. VORBESTELL-BESTSELLER: Interstellar [Blu-ray]
    12,90€ (Vorbesteller-Preisgarantie) - Release 31.03.

 

Weitere Angebote


Folgen Sie uns
       


  1. Freie Bürosoftware

    Libreoffice liegt im Rennen gegen Openoffice weit vorne

  2. Smartwatch

    Pebble sammelt über 20 Millionen US-Dollar

  3. Manfrotto

    Winziges LED-Dauerlicht für Filmer und Fotografen

  4. Test Woolfe

    Rotkäppchen schwingt die Axt

  5. Palinopsia Bug

    Das Gedächtnis der Grafikkarte auslesen

  6. Die Woche im Video

    Galaxy S6 gegen One (M9), selbstbremsende Autos und Bastelei

  7. Xbox One

    Firmware-Update bringt Sprachnachrichten auf die Konsole

  8. Elektromobilitätsgesetz

    Bundesrat gibt Elektroautos mehr Freiheiten

  9. 2160p60

    Youtube startet fordernde 60-fps-Videos in scharfem 4K

  10. Nuclide

    Facebook stellt quelloffene IDE vor



Haben wir etwas übersehen?

E-Mail an news@golem.de



Episode Duscae angespielt: Final Fantasy ist endlich wieder zeitgemäß
Episode Duscae angespielt
Final Fantasy ist endlich wieder zeitgemäß
  1. Test Final Fantasy Type-0 HD Chaos und Kampf

KNX-Schwachstellen: Spielen mit den Lichtern der anderen
KNX-Schwachstellen
Spielen mit den Lichtern der anderen
  1. Danalock Wenn das Smartphone die Tür öffnet
  2. Apple Homekit will nicht in jedes Smart Home einziehen
  3. Elgato Eve Heimautomation mit Apple Homekit

Netzneutralität: Autonome Autos brauchen Netz und Mikrochips sind knusprig
Netzneutralität
Autonome Autos brauchen Netz und Mikrochips sind knusprig
  1. Netzneutralität FCC verbietet Überholspuren im Netz
  2. Netzneutralität Was die FCC-Pläne für das Internet bedeuten
  3. Deregulierung FCC soll weitreichende Netzneutralität durchsetzen

  1. Re: Ich dachte schon, ich wäre der Einzige

    Wallbreaker | 06:13

  2. Re: Was kann man da noch gegen machen?

    Wallbreaker | 05:55

  3. LibreOffice macht sich langsam!

    katze_sonne | 04:57

  4. Re: Die "Haben ja nichts zu verbergen" Fraktion

    Moe479 | 04:43

  5. Re: 3 LED's = 60 Euro

    Tzven | 04:27


  1. 17:19

  2. 15:57

  3. 15:45

  4. 15:03

  5. 10:55

  6. 09:02

  7. 17:09

  8. 15:52


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel