| |
Ist Variable tiefer im Graph nicht mehr lebendig, so wäre es völlig überflüssig noch
Aufwand in die Bildung einer Φ-Funktion zu stecken, da nie auf den dort berechneten
Wert zugegriffen werden würde.
In der Praxis bedeutet dies, daß während des Aufbaus der Φ-Funktionen eine
Vorausschau gemacht wird, ob die betreffende Variable tiefer im Graph noch
vorkommt oder nicht. Wird die Variable gefunden, so wird für sie eine Φ-Funktion
eingefügt, ist dies nicht der Fall, so wird auch keine Φ-Funktion gebildet.
Beim Aufbau auf Anfrage dagegen wird zunächst erst einmal gar keine Φ-Funktion
gebildet. Kommt man später bei der Ausführung an eine Stelle, wo nicht klar ist,
welchen Wert eine Variable hat, wird nachträglich durch die Rückverfolgung des
Ablaufgraphen eine Φ-Funktion generiert und damit der richtige Wert ermittelt.
9. Vorteile von SSA
Der Prozeß, ein Programm in SSA-Form zu bringen, bringt zwar Aufwand mit sich,
dieser zahlt sich aber dadurch aus, daß SSA viele Vorteile bietet.
Zunächst
vereinfacht
die
SSA-Form
deutlich
Optimierungen
auf
der
Zwischensprachenebene.
Zwar
gilt
es
auch
hier
abzuwägen,
welche
Optimierungsverfahren in welcher Reihenfolge angewendet das beste Ergebnis
ergeben, jedoch sind Optimierungen aufgrund der klaren Struktur von SSA einfach
auf das jeweilige Programm anzuwenden.
Des weiteren wurde festgestellt, daß sich SSA gut dazu eignet, Programm-
Äquivalenzen zu erkennen [AWZ, YHR], Parallelismus in imperativen Programmen
zu erhöhen [CF2] und einfache Datenflußinformationen kompakter darzustellen [RL].
Für Leser, die sich genauer über diese Gegebenheiten informieren möchten, sei auf
die angegebenen Quellen verwiesen.
10. AST
Das Thema dieser Ausarbeitung lautet ja SSA - Definition und Aufbau aus dem
AST. Warum hier bisher nicht direkt auf das Thema AST eingegangen wurde, hat
vor allen Dingen damit zu tun, daß Cytron et al. [CEtAl] und Cytron/Ferrante [CF] als
Grundlage für ihre Arbeiten immer von einem Ablaufgraph ausgehen. Diese Quellen
waren die Grundlage für die Seminararbeit.
Die Übertragung der Algorithmen auf den AST geschieht ohne Komplikationen: sie
können genauso angewandt werden.
Simone Forster
9
02.6.2003
|  |
|
| |
|
|