Datenflussanalysen sind ein der grundlegenden Techniken für Programmoptimierungen in Compilern. Ihre allgemeine Anwendbarkeit für die verschiedensten Optimierungen (Value Range Propagation, Constant Folding, Liveness, etc.) legen die Verwendung eines Frameworks nahe. Dafür müssten allerdings verschiedene Varianten (vorwärts/rückwärts, Verbandsstruktur, Initialisierung, etc.) unterstützt werden. Insbesondere ist die Iterationsreihenfolge eine offene Frage.
Die Iterationsreihenfolge hat große Auswirkungen auf die Geschwindigkeit. während in der Praxis meistens ein "Worklist"-Algorithmus verwendet wird, verspricht "Reverse Postorder" bessere Effizienz.Literatur: Iterative data-flow analysis, revisited (Keith D. Cooper, Timothy J. Harvey, Ken Kennedy)
Aufgabe:
In dieser Arbeit sollen verschiedene Iterationsstrategien empirisch verglichen werden. Dazu ist eine C Implementierung in libFirm notwendig.
Voraussetzungen
- Kenntnisse in C Programmierung
- Kenntnisse von Compilerbau/Datenflussanalyse von Vorteil
Schlüsselworte
Compiler, libFirm, Datenflussanalyse Veröffentlichungen
Veröffentlichung |
Strategien für Datenflussanalysen auf Steuerflussgraphen |
Betreuer
Ehemalige Mitarbeiter |
---|
Dipl.-Inform. Sebastian Buchwald |
Studenten
Ehemalige Studenten |
---|
Fabian Sperber |