Graphbasierte Zwischenrepräsentationen von Compilern wie libFirm bieten
die Möglichkeit, Aliasinformationen direkt im Graph zu kodieren. Dazu wird
die üblicherweise totale Ordnung von Seiteneffekten wie Speicherzugriffen
zu einer Halbordnung relaxiert. Antiketten in dieser Halbordnung
entsprechen genau Seiteneffekten, die sich gegenseitig nicht beeinflussen,
so dass beispielsweise die Befehlsanordnung größere Freiräume hat.
Insbesondere Speicherzugriffe beeinflussen sich gegenseitig nicht, wenn die
zugegriffenen Adressen in keiner Aliasrelation zueinander stehen. Der
libFirm-Pass
Bisher findet diese Speicherpartitionierung erst kurz vor der Befehlsauswahl statt. Damit frühere Optimierungspässe von der reicheren Graphstruktur profitieren können, wäre es aber denkbar, die Paritionierung schon früher vorzunehmen.
Ziel dieser Arbeit ist es,
Aufgabe:
- Ein frühzeitiger Pass von parallelize-mem
- Auftretende Probleme behandeln
- Den Nutzen abzuschätzen
Voraussetzungen
- Programmierkenntnisse in C
- Interesse am Compilerbau und Optimierungen
- Erfahrung in libFirm vorteilhaft
Schlüsselworte
Compiler, libFirm, Optimierung Veröffentlichungen
Veröffentlichung |
Frühzeitige Ausführung von parallelize-mem |
Betreuer
Ehemalige Mitarbeiter |
---|
Dr.-Ing. Sebastian Graf |
M.Sc. Andreas Fried |
Studenten
Ehemalige Studenten |
---|
Jonas Schwabe |