Institut für Computersprachen
Programmiersprachen und Übersetzer
| Diplomarbeit | |
| Titel | Vergleich von Registerallokationsalgorithmen |
| Autor | Ambrosch, Wolfgang |
| Erscheinungsjahr | 1993 |
| Inventardatum | 07.05.1993 |
| Abstract | Die Registerallokation ist in einem modernen Compiler eine der wichtigsten Optimierungen. Die meisten heute verwendeten Registerallokationsverfahren basieren auf der 1981 von Gregory Chaitin erstmals implementierten Methode des Graphenfärbens. Mit diesem Verfahren beschäftigt sich die voliegende Abeit. Nach einer Erklärung der grundlegenden Ideen und Begriffe stellen wir anhand einer konkreten Implementierung ein Phasenmodell für die Registerallokation vor. Wir analysieren bekannte Registerallokationsverfahren und zeigen, wie sich ihre Bestandteile in unser Phasenmodell integrieren und dort miteinander kombinieren lassen. Wichtige Details wie etwa die Anpassung eines Registerallokators an verschiedene Zielmaschinen, die Handhabung verschiedener Registerklassen oder die Behandlung von Unterprogramm-Aufrufkonventionen werden in einem eigenen Kapitel mit Hilfe von Beispielen dargestellt. Wir vergleichen die Verfahren anhand einer größeren Testsuite nach den Kriterien "Resourcenbedarf bei der Allokation" , "Ausnutzung der vorhandenen Register" und "Verhalten beim Auslagern von Pseudoregistern". Eine genaue Beschreibung der von uns als Grundlage verwendeten Verfahren rundet die Arbeit ab. |
| Status | Verfügbar |