• IT-Karriere:
  • Services:

Compiler-Baukasten: LLVM 5.0 erweitert Ryzen- und AMDGPU-Unterstützung

Die Compiler-Werkzeugsammlung LLVM 5.0 erweitert die Unterstützung zahlreicher Architekturen, etwa mit dem Zen-Scheduler in AMDs Ryzen-Prozessoren sowie AMDs Grafikchips Vega und Raven Ridge in AMDGPU. Der Kompilierer Clang 5.0 unterstützt C++17 vollständig.

Artikel veröffentlicht am ,
Mit LLVM 5.0 können Entwickler für AMDs Vega-Grafikkarte kompilieren.
Mit LLVM 5.0 können Entwickler für AMDs Vega-Grafikkarte kompilieren. (Bild: LLVM)

LLVM 5.0 unterstützt weitere Scheduler in diversen Architekturen, darunter den Zen-Scheduler in AMDs Ryzen-Prozessoren. Auch die Scheduler in Intels CPUs Sandy Bridge und Silvermont sowie AMDs Jaguar-Prozessoren werden besser unterstützt. Für den Scheduler des 64-Bit-ARMv8-Prozessors ThunderX2 von Cavium gibt es ebenfalls neue Informationen. Darüber hinaus kann optimierter Code für die Goldmont-Prozessoren von Intel sowie die Prozessoren ARMv8-M, ARMv8.1-A, ARMv8.2-A und ARMv8.3-A generiert werden. Mit der Unterstützung von Gfx9 in AMDGPU kann der Treiber für AMDs Vega-Grafikkarten in der Linux-3D-Bibliothek Mesa kompiliert werden.

Stellenmarkt
  1. EBB Truck-Center GmbH, Baden-Baden
  2. Klinikum Neumarkt, Neumarkt i.d.OPf.

Die neue Bibliothek Binary-Format stammt aus dem Support und bringt die Funktion identify_magic sowie die file_magic-Structure mit. Zudem implementiert die neue Bibliothek Struktur- und Typendefinitionen für Dwarf, Elf, Coff, Wasm und MachO. Mit dem ebenfalls neuen Werkzeug llvm-dll-tool lassen sich aus GNU Style Definition Files Importbibliotheken erzeugen. Optimierungsvorschläge im Yaml-Format können mit dem Python-Tool opt-viewer.py in HTML umgewandelt werden.

Neue Weak-Value-Handles

Der Value Handle WeakVH setzt sich selbst auf null, sobald der Wert, auf den er verweist, gelöscht wird. Der zuvor unter dem Namen WeakVH geführte Value Handle wurde in WeakTrackingVH umbenannt. Einen neuen Namen hat auch das Tool zur Manipulation des Program-Database-Format (PDB) von Microsoft bekommen: llvm-pdbdump heißt jetzt llvm-pdbutil. Mit dem Debugger LLDB lassen sich künftig Hardware-Breakpoints setzen. Außerdem gibt es Vorschläge zur Problembehebung bei Assembler.

LLVMs Compiler-Frontend Clang 5.0 unterstützt C++17 vollständig, wenn der Parameter -std=c++17 gesetzt wird. Zudem werden die Koroutinen TS unterstützt, sie waren in Version 4.0 noch als experimentell gekennzeichnet. Zudem wurden in der Vervollständigung zusätzliche C++-Keywords und Konstrukte eingebaut. Open CL erhält ebenfalls zusätzliche Funktionen. Das Ersetzen des Basic-Block-Vectorizers durch den Superword-Level-Parallelism-Vectorizer schreitet ebenfalls voran: Die Option LLVMAddBBVectorizePass wurde ausgemustert.

Polly linkt besser

Die Linker Lld und Polly erhalten ebenfalls zahlreiche Verbesserungen. Polly kompiliert Android - und besteht dabei sämtliche Robustheitstests. Auch Ffmpeg und die LLVM Testsuite kann mit Polly kompiliert werden. Zudem verwendet Polly die Optimierungs- und Diagnose-API, um Vorschläge im Yaml-Format zu generieren.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Hardware-Angebote
  1. (reduzierte Überstände, Restposten & Co.)

Folgen Sie uns
       


Xbox Series X - Hands on

Golem.de konnte die Xbox Series X bereits ausprobieren und stellt die Konsole vor. Außerdem zeigen wir, wie Quick Resume funktioniert - und die Ladezeiten.

Xbox Series X - Hands on Video aufrufen
    •  /