HOME | ENGLISH | IMPRESSUM | KIT

Bachelor-/Masterarbeit (offen): Registerallokation mit Doppelregistern

Die Registerallokation ist die Compilerphase, die den Variablen eines Programms Hardwareregister zuweist. Eine gute Registerallokation ist für die Performance des kompilierten Programms sehr wichtig, weil damit Speicherzugriffe vermieden werden können.

In dieser Arbeit geht es um Registerallokation von Floating-Point-Registern auf SPARC-Prozessoren. Diese haben die Besonderheit, dass entweder in einem Register ein float-Wert gespeichert werden kann, oder ein double-Wert in einem Paar von Registern. Der Registerallokator in libfirm kann bisher nicht mit solchen Registern umgehen. Sie sollen dies nachrüsten.

Aufgabe:

  • Entwicklung eines geeigneten Verfahrens zur Doppelregisterallokation
  • Integration Ihres Verfahrens in libfirm

Voraussetzungen

  • Programmierkenntnisse in C
  • Interesse am Compilerbau

Schlüsselworte

Compiler, Registerallokation 

Betreuer

Wissenschaftliche Mitarbeiter
Andreas Fried