HOME | ENGLISH | IMPRESSUM | KIT

Studienarbeit (abgeschlossen): Bitbreitenminimierung per Datenflussanalyse

Die Datentypen einer Programmiersprache müssen auch in der Zwischensprache eines Compilers dargestellt werden. Bei einem (möglicherweise impliziten) type cast muss der Typ umgewandelt werden. In Firm ist das durch sogenannte Conv-Knoten dargestellt. Nicht alle dieser Convs müssen zwingend erforderlich sein. Weniger Convs ermöglichen weitere Optimierung und es muss kein Code für die Konvertierung erzeugt werden, was sich positiv auf die Laufzeit auswirkt.

Das libFirm Compiler Framework beinhaltet bereits eine Deconv Optimierungsphase, die allerdings auf azyklische Teilgraphen beschränkt ist. Durch einen Datenflussanalyse-Ansatz soll eine verbesserte Variante implementiert werden. Indem man die Bitbreite für Werte minimiert können überflüssige Convs identifiziert und entfernt werden.

Aufgabe:

  • Einarbeitung in libFirm
  • Formale Formulierung als Datenflussanalyse
  • Design und Implementierung der Optimierungsphase
  • Evaluation

Voraussetzungen