Seminar LLVM Backend-Entwicklung mit TableGen und Code Generation

Das Seminar behandelt die technische Struktur eines LLVM-Backends von der Target-Registrierung bis zur Ausgabe von Maschinencode oder Assembler. Die Themen werden an einem didaktischen Zielsystem erklärt, damit Registermodell, Instruktionsbeschreibung und Codegen-Pipeline transparent nachvollzogen werden können.

Die Dauer von fünf Tagen ist erforderlich, weil Backend-Entwicklung mehrere gekoppelte Teilsysteme umfasst: TargetMachine, TableGen, SelectionDAG oder GlobalISel, Machine IR, Register Allocation, Scheduling, MC-Schicht und Tests. Die Übungen bauen deshalb in kleinen Schritten ein konsistentes Backend-Verständnis auf.

Kapitel 1: Target-Struktur und TableGen-Grundlagen

Inhaltsverzeichnis

  • TargetMachine und Subtarget-Modell
  • Registerklassen und Instruktionsformate
  • TableGen-Dateien strukturieren

Schritt 1: Target registrieren

Die grundlegenden Target-Komponenten werden eingeordnet: TargetInfo, TargetMachine, Subtarget, InstrInfo, RegisterInfo und FrameLowering. Zuständigkeiten und Initialisierungsreihenfolge werden getrennt betrachtet.

Schritt 2: Registermodell beschreiben

Register, Registerklassen, Aliase und Reservierungen werden modelliert. Dabei werden spätere Auswirkungen auf Register Allocation und Calling Convention berücksichtigt.

Schritt 3: Instruktionen formulieren

Instruktionsformate und einzelne Instruktionen werden in TableGen beschrieben. Operanden, Constraints, Assembler-Strings und Pattern werden schrittweise ergänzt.

Kapitel 2: Instruction Selection und Machine IR

Inhaltsverzeichnis

  • IR bis Machine IR nachvollziehen
  • SelectionDAG und GlobalISel einordnen
  • Legalisierung und Pattern Matching

Schritt 1: Codegen-Pipeline verfolgen

Ein kleines LLVM-IR-Beispiel wird durch die Codegen-Pipeline geführt. Die Zwischenstände werden gelesen und die Rolle von Legalization, Combining und Selection wird getrennt betrachtet.

Schritt 2: Selektionsmuster ergänzen

Einfache arithmetische und Speicheroperationen werden auf Zielinstruktionen abgebildet. Nicht unterstützte Operationen werden durch Expansion oder Custom Lowering behandelt.

Schritt 3: Machine IR prüfen

Ausgewählte Machine-Instruktionen werden inspiziert. Def-Use-Beziehungen, virtuelle Register, Basic Blocks und frühe Optimierungen werden analysiert.

Kapitel 3: Register, Stack und Calling Convention

Inhaltsverzeichnis

  • Register Allocation vorbereiten
  • Frame Lowering und Stack Layout
  • Funktionsaufrufe und ABI-Regeln

Schritt 1: Registerdruck analysieren

Virtuelle Register werden bis zur Allokation verfolgt. Spill-Situationen, Kopierinstruktionen und Registerklassen-Konflikte werden anhand kleiner Beispiele ausgewertet.

Schritt 2: Stack-Frame aufbauen

Prolog, Epilog, Stack-Objekte und Frame-Indizes werden betrachtet. Die Implementierung wird mit einfachen Funktionen, lokalen Variablen und Call-Szenarien geprüft.

Schritt 3: Aufrufkonvention definieren

Argumente, Rückgabewerte und Call-Clobbered-Register werden beschrieben. Danach wird überprüft, ob erzeugter Code konsistent mit den ABI-Annahmen bleibt.

Kapitel 4: Assembler, MC-Schicht und Tests

Inhaltsverzeichnis

  • Assembler-Ausgabe und Disassembler-Grundlagen
  • MCInstrInfo und Kodierung
  • lit-Tests und FileCheck-Strategien

Schritt 1: Assembler-Ausgabe erzeugen

Instruktionen werden in lesbare Assemblerform gebracht. Formatierungsregeln, Operandenreihenfolge und symbolische Referenzen werden abgestimmt.

Schritt 2: Kodierung nachvollziehen

Die MC-Schicht wird als Brücke zwischen Instruktionsmodell und Objektcode eingeordnet. Kodierungsfelder werden geprüft und mit erwarteten Bytefolgen verglichen.

Schritt 3: Regressionstests aufbauen

Tests werden für IR-zu-Assembler, Machine IR und negative Fälle strukturiert. FileCheck-Muster werden so geschrieben, dass sie robust gegen irrelevante Änderungen bleiben.

Fachbereichsleitung / Trainerleitung / Ansprechpartner

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.

Mehr dazu...

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.

Mehr dazu...

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.

Mehr dazu...

Fachbereichsleitung / Trainerleitung / Ansprechpartner

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-Entwicklung, Embedded-Teams, Prozessor- und Plattformentwicklung, Toolchain-Verantwortliche
Voraussetzungen: Gute C++-Kenntnisse, Verständnis von Assembler, ABI-Grundlagen und Compiler-Zwischendarstellungen
Standorte: Live-Online, Firmenstandort, Schulungszentrum
Unterlagen: Seminarunterlagen, Übungen, Beispielprojekte

Seminartermine

Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.

Seminar Startdatum Enddatum Ort Dauer
Konstanz 5 Tage
Freiburg 5 Tage
Potsdam 5 Tage
Flensburg 5 Tage
Leipzig 5 Tage
Hamm 5 Tage
Rostock 5 Tage
Hamburg 5 Tage
Luxemburg 5 Tage
Hannover 5 Tage
Stuttgart 5 Tage
Dresden 5 Tage
Madgeburg 5 Tage
Regensburg 5 Tage
Jena 5 Tage
Trier 5 Tage
München 5 Tage
Friedrichshafen 5 Tage
Kassel 5 Tage
Ulm 5 Tage
Münster 5 Tage
Nürnberg 5 Tage
Köln 5 Tage
Wuppertal 5 Tage
Bremen 5 Tage
Berlin 5 Tage
Mainz 5 Tage
Erfurt 5 Tage
Darmstadt 5 Tage
Frankfurt 5 Tage
Paderborn 5 Tage
Essen 5 Tage
Flensburg 5 Tage
Konstanz 5 Tage
Freiburg 5 Tage
Potsdam 5 Tage
Hamburg 5 Tage
Leipzig 5 Tage
Hamm 5 Tage
Rostock 5 Tage
Nach oben
Seminare als Stream SRI zertifiziert
© 2026 www.seminar-experts.de All rights reserved. | Kontakt | Impressum | Nach oben