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.
Fachbereichsleitung / Trainerleitung / Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 5 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.995 zzgl. MwSt. Inhaus: € 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.
