Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
4 Implementierung<br />
Die in Kapitel 3 erwähnten Arbeiten betrachten alle Ausdrücke in Form von Codesequenzen<br />
auf Assembler-Ebene. Dem entgegen ist das in dieser Arbeit vorgestellte Verfahren,<br />
im Folgenden als Optgen bezeichnet, auf eine maschinenunabhängige Zwischendarstellung<br />
ausgerichtet, weswegen in Anlehnung an Firm, Ausdrücke als Muster in Graphform<br />
betrachtet werden.<br />
Dieses Kapitel teilt sich in zwei Themenbereiche. Der erste Teil befasst sich mit dem<br />
allgemeinen Aufbau und Ablauf des Verfahrens, während sich der zweite Teil speziell<br />
mit der Thematik von Konstanten befasst.<br />
Zunächst noch einige Bemerkungen, die sich auf die in diesem Kapitel angeführten Beispiele<br />
beziehen:<br />
Bemerkung 1 (Reihenfolge der Operanden einer Operation). Bei den in den Abbildungen<br />
dargestellten Mustern wird auf eine explizite Auszeichnung des Kanten-Index<br />
(pos-Abbildung), also der Angabe, ob es sich um den ersten oder zweiten Operanden<br />
handelt, der Übersicht wegen verzichtet. Es wird angenommen, dass die linke Kante dem<br />
linken bzw. ersten Operanden einer Operation zugeordnet ist und entsprechend die rechte<br />
Kante dem rechten bzw. zweiten Operanden.<br />
Bemerkung 2 (Datentypbreite). Für alle Beispiele in diesem, sowie in Kapitel 5 gilt,<br />
sofern nichts anderes angegeben ist, dass die Datentypbreite auf 8 Bit festgelegt ist. Der<br />
Wertebereich von −128, . . . , 127 bzw. 0, . . . 255 wird als Z8Bit angegeben.<br />
Bemerkung 3 (Semantik von Operationen). Die Semantik aller in den Beispielen verwendeter<br />
Operationen entspricht der Semantik der Operationen in libFirm. Es handelt<br />
sich dabei um eine Modulo-Semantik, ähnlich zu den entsprechenden Hardware-Befehlen<br />
auf Assembler-Ebene. Dies ist vor allem im Zusammenhang mit Überläufen zu beachten.<br />
4.1 Ansatz<br />
Zunächst soll ein grober Überblick über die Arbeitsweise des hier vorgestellten Verfahrens<br />
Optgen zur <strong>Generierung</strong> <strong>lokaler</strong> Optimierungsregeln gegeben und die einzelnen<br />
Komponenten kurz erläutert werden.<br />
23