entfernen unnötige Anweisungen mittels lokal wirkender Optimierungen
konstruieren den Kontrollflussgraphen für gegebenen Code
wenden den Fixpunktalgorithmus zur Berechnung der Dominanz in Kontrollflussgraphen an
wenden den Lengauer-Tarjan-Algorithmus zur Berechnung der Dominanz in Kontrollflussgraphen an
konstruieren den Dominatorbaum für einen Kontrollflussgraphen
berechnen die Dominanzgrenzen für die Knoten eines Kontrollflussgraphen
bestimmen die Kontrollflussabhängigkeiten der Knoten eines Kontrollflussgraphen
wenden einen Fixpunktalgorithmus zur Bestimmung von Datenflusswissen an
adaptieren den Fixpunktalgorithmus für neue Datenflussprobleme
weisen die Korrektheit des Fixpunktalgorithmus zur Datenflussberechnung nach
bestimmen lebendige Variablen und verfügbare Ausdrücke in einem Kontrollflussgraphen
begründen die Legalität durchgeführter Optimierungstechniken
überführen ein gegebenes Programm mit Hilfe des Dominanzgrenzenverfahrens in seine SSA-Form
überführen ein gegebenes Programm mit Hilfe des Wertnummerierungsverfahrens in seine SSA-Form
wenden SSA-basierte Optimierungstechniken an
optimieren ein gegebenes Programm mittels Kopienfortschreibung und Konstantenweitergabe
entfernen redundante Berechnungen aus Programmen
entfernen toten oder unerreichbaren Code aus Programmen
transformieren Programme in SSA-Form wieder aus dieser heraus
erläutern die Notwendigkeit von Alias-Analysen in optimierenden Übersetzern
kennen verschiedene Arten von Alias-Analysen
bestimmen Aliase mit Hilfe eines Fixpunktalgorithmus
bestimmen Aliase mit Hilfe des Steensgaard-Algorithmus
unterscheiden natürliche von unnatürlichen Schleifen
analysieren, ob ein Programm unnatürliche Schleifen beinhaltet
erkennen natürliche Schleifen in einem Kontrollflussgraphen
bestimmen Induktionsvariablen von Schleifen
eliminieren Induktionsvariablen durch eine Reduktion der Ausdrucksstärke
bestimmen schleifeninvarianten Code und ziehen diesen, falls möglich, vor die jeweilige Schleife
erkennen schleifenunabhängige und schleifenabhängige Abhängigkeiten
bestimmen Abhängigkeitsdistanzen
wenden die Fourier-Motzkin-Elimination zur Index-Analyse an
analysieren, ob eine Schleife parallelisierbar ist
weisen die Legalität von Schleifentransformationen nach und wenden diese, falls möglich, an
weisen die Legalität von Schleifenrestrukturierungen nach und wenden diese, falls möglich, an
wenden Unimodulare Transformationen von Schleifen an
wandeln mittels Schleifenneuausrichtung und Skalarvervielfachung schleifengetragene Abhängigkeiten
in schleifenunabhängige Abhängigkeiten um
verbessern ihre Fähigkeit, effizienten Code zu schreiben
erläutern die Möglichkeiten und Grenzen unterschiedlicher Optimierungstechniken