Lokale Optimierungen optimieren die Berechnung eines Wertes bezüglich eines gegebenen Kostenmaßes.
Dabei wird nur eine begrenzte Anzahl von involvierten Operationen betrachtet.
Lokale Optimierungen umfassen viele Optimierungen wie z.B. Konstantenfaltung (6 * 7 = 42), arithmetische Vereinfachungen (x - x = 0).
Bei näherer Betrachtung verbessern lokale Optimierungen ein gegebenes Programm nicht in jedem Fall: Eine Anwendung der lokalen Optimierung -((x - y) + z) -> y - (x + z) ist ungeschickt falls der Wert (x - y) + z ebenfalls zur Berechnung anderer Werte genutzt wird.
In dieser Arbeit soll ein Verfahren entwickelt werden, das zu jedem Wert eine möglichst günstige Berechnung wählt.
Der Fokus liegt dabei auf der Wiederverwendung schon bereits berechneter Teilausdrücke.
Aufgabe:
Entwurf und Implementierung eines Verfahrens zur Anwendung lokaler Optimierungen unter Berücksichtigung von mehrfach verwendeten Teilausdrücken.
Voraussetzungen
- Spaß am Übersetzerbau
- Gute Programmierkenntnisse in C
Schlüsselworte
Compiler, Lokale Optimierungen
Veröffentlichungen
Betreuer
Studenten