Das Seminar vermittelt einen strukturierten Einstieg in LLVM als Compiler-Infrastruktur. Behandelt werden Projektkomponenten, LLVM IR, Optimierungsstufen, Codegenerierung, Clang-Anbindung und typische Werkzeuge für Analyse und Diagnose.
Zwei Tage sind angemessen, weil das Seminar einen belastbaren Überblick mit praktischer IR-Arbeit verbindet, ohne in Backend-Implementierung, MLIR-Entwicklung oder eigene Pass-Architektur einzusteigen.
Kapitel 1: Architektur und Toolchain-Landschaft
Inhaltsverzeichnis
- Projektkomponenten und Rollen
- Compiler-Pipeline vom Quelltext bis zum Objektcode
- Wichtige Kommandozeilenwerkzeuge
Schritt 1: Komponenten zuordnen
LLVM Core, Clang, LLD, LLDB, libc++ und MLIR werden anhand ihrer Aufgaben eingeordnet. Dadurch entsteht ein klares Modell, welche Komponente welche Phase einer Toolchain abdeckt.
Schritt 2: Pipeline nachzeichnen
Ein kleines Programm wird gedanklich durch Präprozessor, Frontend, IR-Erzeugung, Optimierung, Codegenerierung und Linken geführt. Die wichtigsten Artefakte werden benannt.
Schritt 3: Werkzeuge einsetzen
Typische Werkzeuge wie Compiler-Treiber, IR-Assembler, Disassembler und Optimierer werden in ihrer Aufgabe unterschieden. Der Fokus liegt auf reproduzierbaren Aufrufen und interpretierbaren Ausgaben.
Kapitel 2: LLVM IR lesen und verändern
Inhaltsverzeichnis
- Module, Funktionen, Basic Blocks und Instruktionen
- SSA-Form und Typmodell
- IR-Verifikation und einfache Transformationen
Schritt 1: IR-Struktur lesen
Ein IR-Modul wird in Funktionen, Basic Blocks und Instruktionen zerlegt. Kontrollfluss und Datenfluss werden getrennt betrachtet, damit Fehlinterpretationen vermieden werden.
Schritt 2: SSA-Prinzip anwenden
Definitionen und Verwendungen werden verfolgt. Phi-Knoten, Werte und Typen werden so eingeordnet, dass spätere Optimierungen nachvollziehbar bleiben.
Schritt 3: IR validieren
Eine kleine Änderung wird auf Konsistenz geprüft. Verifier-Meldungen werden gelesen und auf typische Ursachen wie falsche Typen oder ungültigen Kontrollfluss zurückgeführt.
Kapitel 3: Optimierung und Diagnose
Inhaltsverzeichnis
- Optimierungsstufen und Pipeline-Idee
- Analyse- und Transformationspässe
- Fehlersuche in Compiler-Ausgaben
Schritt 1: Optimierungsstufen vergleichen
Unterschiedliche Optimierungsgrade werden konzeptionell gegenübergestellt. Der Schwerpunkt liegt darauf, welche Arten von Transformationen zu erwarten sind.
Schritt 2: Pass-Wirkung beobachten
Einzelne Optimierungsschritte werden anhand kleiner IR-Beispiele eingeordnet. Analysepässe und Transformationspässe werden getrennt betrachtet.
Schritt 3: Diagnosemuster aufbauen
Compiler- und Optimierungsausgaben werden systematisch gelesen. Es wird festgelegt, welche Zwischenartefakte bei Build-, Performance- oder Codegen-Problemen zuerst geprüft werden.
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: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmerkreis: | Softwareentwicklung, Architektur, DevOps, Embedded-Teams, technische Projektleitung mit Compiler- oder Toolchain-Bezug |
| Voraussetzungen: | Programmiererfahrung in C oder C++ und Grundkenntnisse zu Build-Prozessen |
| Standorte: | Live-Online, Firmenstandort, Schulungszentrum |
| Unterlagen: | Seminarunterlagen, Übungen, Beispielprojekte |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
