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
Veröffentlichungen
Betreuer
Studenten