Das Seminar behandelt die praktische Arbeit mit LLVM IR und dem modernen Pass-System. Der Schwerpunkt liegt auf der Entwicklung nachvollziehbarer Analyse- und Transformationspässe, ihrer Einbindung in Pipelines und der Absicherung über Tests.
Drei Tage sind erforderlich, weil IR-Semantik, Analyseinfrastruktur, Transformation, Pipeline-Integration und Teststrategie aufeinander aufbauen. Die Inhalte gehen deutlich über einen reinen IR-Überblick hinaus.
Kapitel 1: IR-Semantik und Analysebasis
Inhaltsverzeichnis
- Module, Funktionen und Kontrollfluss
- Datenfluss, SSA und Dominanz
- Verifier und Debug-Informationen
Schritt 1: IR-Einheiten identifizieren
Module, Funktionen, Basic Blocks und Instruktionen werden getrennt untersucht. Kontrollflussgraphen werden aus Terminatoren und Kanten abgeleitet.
Schritt 2: Datenfluss verfolgen
Werte, Uses, Defs und Phi-Knoten werden anhand konkreter Beispiele verfolgt. Dadurch wird klar, welche Transformationen semantisch sicher sind.
Schritt 3: Konsistenz prüfen
IR wird mit Verifier-Denken betrachtet. Typfehler, ungültige Terminatoren, falsche Dominanz und problematische Metadaten werden systematisch eingeordnet.
Kapitel 2: Analyse- und Transformationspässe
Inhaltsverzeichnis
- Pass-Struktur im New Pass Manager
- Analysemanager und Preserved Analyses
- Transformationen mit Sicherheitsbedingungen
Schritt 1: Pass-Gerüst anlegen
Ein Pass wird in Klassenstruktur, Run-Methode, IR-Einheit und Rückgabewert gegliedert. Die Unterschiede zwischen Modul-, Funktions-, CGSCC- und Loop-Pässen werden geklärt.
Schritt 2: Analyseergebnisse nutzen
Dominanz, Loop-Informationen und weitere Analysen werden als Voraussetzung für Transformationen betrachtet. Ungültigkeiten werden über Preserved Analyses bewusst gesteuert.
Schritt 3: IR ändern
Eine kleine Transformation wird mit klarer Vorbedingung durchgeführt. Danach werden Verifier, Tests und Vergleich der IR-Ausgabe verwendet, um die Änderung abzusichern.
Kapitel 3: Pipeline-Erweiterung und Testbarkeit
Inhaltsverzeichnis
- PassBuilder und Pipeline-Registrierung
- opt-basierte Ausführung
- lit und FileCheck
Schritt 1: Pipeline anbinden
Der Pass wird in eine ausführbare Pipeline eingebunden. Dabei werden Namensgebung, Plugin-Mechanik und Positionierung innerhalb bestehender Optimierungen betrachtet.
Schritt 2: Ausführung reproduzieren
Kleine IR-Dateien werden als stabile Eingaben verwendet. Ausgaben werden so reduziert, dass Ursache und Wirkung einer Transformation sichtbar bleiben.
Schritt 3: Regressionstests schreiben
Tests prüfen positive Fälle, negative Fälle und Grenzsituationen. FileCheck-Muster werden nicht übergenau formuliert, damit fachliche Erwartungen im Vordergrund bleiben.
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 gleichzeitig mehrere Teilnehmer gleichzeitig schulen möchten. Der Trainer kommt zu Ihnen ins Haus und unterrichtet in Ihren Räumlichkeiten. Diese Seminare können auf 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
-

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: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmerkreis: | Compiler-Entwicklung, Performance Engineering, Toolchain-Teams, Forschung und Entwicklung mit IR-Transformationen |
| Voraussetzungen: | C++-Kenntnisse, LLVM-Grundverständnis oder vergleichbare Erfahrung mit Compiler-Zwischendarstellungen |
| Standorte: | Live-Online, Firmenstandort, Schulungszentrum |
| Unterlagen: | Seminarunterlagen, Übungen, Beispielprojekte |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
