Das Intensivseminar bündelt die fachlichen Kernthemen der weiteren LLVM-Seminare in einem zusammenhängenden Wochenformat. Es ersetzt keine mehrwöchige Spezialausbildung, schafft aber eine belastbare Gesamtperspektive auf Frontend, IR, Optimierung, JIT, MLIR, Toolchain-Betrieb und Backend-Strukturen.
Die maximale Dauer von fünf Tagen wird vollständig genutzt, weil die Themen technisch stark gekoppelt sind. Die Inhalte sind priorisiert: Grundlagen und IR bilden die Basis, danach folgen Tooling, Passes, JIT, MLIR, Toolchain Engineering und Backend-Einordnung.
Kapitel 1: Gesamtarchitektur und IR-Fundament
Inhaltsverzeichnis
- LLVM-Projektkomponenten
- IR-Struktur und SSA
- Optimierungspipelines
Schritt 1: Komponentenkarte erstellen
LLVM Core, Clang, LLD, LLDB, MLIR und Runtime-nahe Komponenten werden in einer Architekturkarte verortet. Verantwortlichkeiten und typische Schnittstellen werden klar getrennt.
Schritt 2: IR als gemeinsame Ebene nutzen
Ein Beispiel wird vom Quelltext zur LLVM IR verfolgt. Module, Funktionen, Basic Blocks, Instruktionen, Typen und Metadaten werden als Arbeitsmodell etabliert.
Schritt 3: Optimierung einordnen
Pass-Pipelines werden als Folge von Analysen und Transformationen betrachtet. Die Auswirkungen von Optimierungsstufen auf Debugbarkeit, Performance und Codegröße werden bewertet.
Kapitel 2: Clang Tooling und Pass-Entwicklung
Inhaltsverzeichnis
- AST-basierte Analyse
- New Pass Manager
- Tests und Diagnose
Schritt 1: Frontend-Informationen extrahieren
Clang-basierte Werkzeuge lesen AST-Strukturen, Typinformationen und Quellpositionen. Daraus entstehen Analyseergebnisse für Refactoring, Migration und Richtlinienprüfung.
Schritt 2: IR-Pass strukturieren
Ein einfacher Pass wird konzeptionell in Registrierung, Run-Methode, Analysezugriffe und Preserved Analyses gegliedert. Die Einbettung in Pipelines wird nachvollzogen.
Schritt 3: Qualität absichern
Frontend- und IR-nahe Prüfungen werden mit kleinen Testfällen abgesichert. Erwartete Ausgaben werden stabil formuliert, damit spätere LLVM-Änderungen nicht zu fragilen Tests führen.
Kapitel 3: JIT, MLIR und Toolchain-Betrieb
Inhaltsverzeichnis
- ORC JIT und Symbolauflösung
- MLIR-Dialekte und Lowering
- Build, Cross-Compilation und Sanitizer
Schritt 1: JIT-Architektur modellieren
Module, JIT-Dylibs, Symbolauflösung und Materialisierung werden als Laufzeitmodell betrachtet. Daraus entsteht ein Verständnis für REPLs, Plugins und dynamische Ausführung.
Schritt 2: MLIR-Pipeline skizzieren
Ein höherstufiger Dialekt wird schrittweise in niedrigere Repräsentationen überführt. Dialect Conversion, Pattern Rewriting und LLVM-IR-Übersetzung werden als zusammenhängende Kette eingeordnet.
Schritt 3: Toolchain reproduzierbar machen
Build-Varianten, Zielplattformen, Linker, LTO und Sanitizer werden als Betriebsaspekte einer LLVM-basierten Toolchain betrachtet. Der Fokus liegt auf nachvollziehbaren Artefakten und Diagnosepunkten.
Kapitel 4: Backend-Einordnung und Gesamtprojekt
Inhaltsverzeichnis
- Target-Beschreibung und TableGen
- Codegen-Pipeline
- Abschlussübung ohne Fazit
Schritt 1: Target-Modell verstehen
Register, Instruktionen, Subtargets und Calling Convention werden als zentrale Bausteine eines Backends eingeordnet. TableGen wird als deklarative Beschreibungsschicht genutzt.
Schritt 2: Codegen-Fehler lokalisieren
Fehlerbilder werden verschiedenen Pipeline-Abschnitten zugeordnet: IR, Legalization, Instruction Selection, Register Allocation, Assembler-Ausgabe oder Linken.
Schritt 3: Gesamtübung durchführen
Ein kleines Szenario kombiniert Quellcodeanalyse, IR-Prüfung, Optimierung, JIT-Ausführung und Toolchain-Diagnose. Die Arbeitsschritte werden dokumentiert und fachlich bewertet.
Seminar und Anbieter vergleichen
Öffentliche Schulung
Diese Seminarform ist auch als Präsenzseminar bekannt und bedeutet, dass Sie in unseren Räumlichkeiten von einem Trainer vor Ort geschult werden. Jeder Teilnehmer hat einen Arbeitsplatz mit virtueller Schulungsumgebung. Öffentliche Seminare werden in deutscher Sprache durchgeführt, die Unterlagen sind teilweise in Englisch.
Inhausschulung
Diese Seminarform bietet sich für Unternehmen an, welche gleiche mehrere Teilnehmer gleichzeitig schulen möchten. Der Trainer kommt zu Ihnen ins Haus und unterrichtet in Ihren Räumlichkeiten. Diese Seminare können in Deutsch - bei Firmenseminaren ist auch Englisch möglich gebucht werden.
Webinar
Diese Art der Schulung ist geeignet, wenn Sie die Präsenz eines Trainers nicht benötigen, nicht Reisen können und über das Internet an einer Schulung teilnehmen möchten.
Fachbereichsleitung / Trainerleitung / Ansprechpartner
-

Michael Adler
Telefon: + 41 (800) 225127
E-Mail: michael.adler@seminar-experts.ch -

Stefano Conti
Telefon: + 41 (800) 225127
E-Mail: stefano.conti@seminar-experts.ch
Seminardetails
| Dauer: | 5 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich und Webinar: CHF 2.995 zzgl. MwSt. Inhaus: CHF 8.500 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmerkreis: | Compiler- und Toolchain-Teams, technische Architekten, Plattformteams, Embedded- und Performance-Engineering |
| Voraussetzungen: | Sichere C++-Kenntnisse, Erfahrung mit Build-Systemen und Grundverständnis von Compiler-Konzepten |
| Standorte: | Live-Online, Firmenstandort, Schulungszentrum |
| Unterlagen: | Seminarunterlagen, Übungen, Beispielprojekte |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
