HOME | ENGLISH | IMPRESSUM | KIT

Bachelorarbeit (abgeschlossen): Verbesserung der libFirm Inline-Optimierung

Die Compiler-Optimierungen Inlining transformiert Funktionsaufrufe in den Code der Funktion, so dass die Kosten für den Aufruf eingespart werden. Außerdem werden weitere Optimierungen möglich, die nicht interprozedural arbeiten, aber nun quasi beide Funktionen auf einmal sehen. Insbesondere werden so Funktionen die mehrmals an verschiedenen Orten ge-inline-t werden, auf diese spezielle Situation in optimiert (Konstantfaltung etc.). Das macht Inlining zu einer der wichtigeren Optimierungen, die ein Compiler beherrschen sollte.

Der libFirm-Compiler kann Inlining, jedoch sind ein paar Fälle ausgenommen. Es werden keine Funktionen ge-inline-t, die struct-Argumente haben (Pointer auf struct ist möglich), also zum Beispiel:

void foo(struct Complex {int real; int cmplx;} number);

Aufgabe:

In dieser Arbeit soll die Inline-Optimierungsphase in libFirm verbessert werden. Dazu ist eine C Implementierung in libFirm notwendig.

Voraussetzungen

  • Kenntnisse in C Programmierung
  • Kenntnisse von Compilerbau von Vorteil

Schlüsselworte

Compiler, libFirm, Optimierung, Inlining 

Veröffentlichungen

Veröffentlichung
Verbesserung der libFirm Inline-Optimierung

Betreuer

Wissenschaftliche Mitarbeiter
Andreas Zwinkau

Studenten

Ehemalige Hiwis
Tobias Rapp