Die SSA-Form für Zwischendarstellungen hat sich nicht nur in der Forschung etabliert, sondern wird seit einigen Jahren auch erfolgreich in industriellen Übersetzern eingesetzt.
Ein gutes Beispiel hierfür ist die an der University of Illinois entwickelte Low Level Virtual Machine (LLVM), die mittlerweile von Apple für Entwicklungswerkzeuge und Grafikarchitekturen eingesetzt wird.
Die meisten Übersetzer setzen bei Zwischendarstellungen immer noch auf Befehlslisten.
Das am Lehrstuhl enwickelte libFirm verfolgt den moderneren Ansatz einer graphbasierten SSA-Zwischendarstellung.
Bisher ist dafür ein C- und ein Java-Frontend vorhanden.
Um die breite Frontend-Unterstützung von llvm zu nutzen soll eine Transformation der llvm-Zwischensprache in die libFirm-Darstellung entwickelt werden.
Dies ermöglicht die Nutzung zahlreicher existierender Frontends und erleichtert das Vergleichen verschiedener Optimierungen in llvm- oder firm-Darstellung.
Aufgabe
- Einarbeitung in llvm- und firm-Zwischendarstellungen
- Entwicklung einer Transformation zwischen den Darstellungen
Literatur
Voraussetzungen
- Spaß am Übersetzerbau
- Gute Programmierkenntnisse in C/C++
Veröffentlichungen
Betreuer
Studenten