Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting Generierung lokaler Optimierungen - IPD Snelting

pp.info.uni.karlsruhe.de
von pp.info.uni.karlsruhe.de Mehr von diesem Publisher
25.10.2012 Aufrufe

Inhaltsverzeichnis 1 Einführung 9 1.1 Zielsetzung der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Grundlagen 11 2.1 Lokale Optimierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Graphen, Muster und Regeln . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 Superoptimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4 Das Erfüllbarkeitsproblem der Aussagenlogik . . . . . . . . . . . . . . . . 16 2.5 Satisfiability Modulo Theories . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.6 Firm und libFirm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3 Verwandte Arbeiten 19 4 Implementierung 23 4.1 Ansatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2 Mustererzeugung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.1 Kostenmodell und Mustergröße . . . . . . . . . . . . . . . . . . . . 24 4.2.2 Erzeugen neuer Muster . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.3 Normalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2.4 Reduktion durch Common Subexpression Elimination . . . . . . . 33 4.3 Musteranalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.3.1 Erkennen von nicht-optimalen Mustern durch anwendbare Ersetzungsregeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3.2 Vorabtest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.3.3 Erfüllbarkeitstest . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.4 Zusammenwirken der Komponenten . . . . . . . . . . . . . . . . . . . . . 47 4.4.1 Ablauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.4.2 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.5 Erweiterung im Zusammenhang mit Konstanten . . . . . . . . . . . . . . 51 4.5.1 Symbolische Konstanten und komplexe symbolische Konstanten . 51 4.5.2 Eingeschränkte symbolische Konstanten . . . . . . . . . . . . . . . 55 4.5.3 Geschwindigkeit vs. Vollständigkeit bei der Regel-Aggregation . . . 56 4.5.4 Zyklisch anwendbare Regeln . . . . . . . . . . . . . . . . . . . . . . 59 7

Inhaltsverzeichnis<br />

1 Einführung 9<br />

1.1 Zielsetzung der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

1.2 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

2 Grundlagen 11<br />

2.1 Lokale <strong>Optimierungen</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

2.2 Graphen, Muster und Regeln . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

2.3 Superoptimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

2.4 Das Erfüllbarkeitsproblem der Aussagenlogik . . . . . . . . . . . . . . . . 16<br />

2.5 Satisfiability Modulo Theories . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

2.6 Firm und libFirm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

3 Verwandte Arbeiten 19<br />

4 Implementierung 23<br />

4.1 Ansatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

4.2 Mustererzeugung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

4.2.1 Kostenmodell und Mustergröße . . . . . . . . . . . . . . . . . . . . 24<br />

4.2.2 Erzeugen neuer Muster . . . . . . . . . . . . . . . . . . . . . . . . 26<br />

4.2.3 Normalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

4.2.4 Reduktion durch Common Subexpression Elimination . . . . . . . 33<br />

4.3 Musteranalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />

4.3.1 Erkennen von nicht-optimalen Mustern durch anwendbare Ersetzungsregeln<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

4.3.2 Vorabtest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

4.3.3 Erfüllbarkeitstest . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

4.4 Zusammenwirken der Komponenten . . . . . . . . . . . . . . . . . . . . . 47<br />

4.4.1 Ablauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47<br />

4.4.2 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48<br />

4.5 Erweiterung im Zusammenhang mit Konstanten . . . . . . . . . . . . . . 51<br />

4.5.1 Symbolische Konstanten und komplexe symbolische Konstanten . 51<br />

4.5.2 Eingeschränkte symbolische Konstanten . . . . . . . . . . . . . . . 55<br />

4.5.3 Geschwindigkeit vs. Vollständigkeit bei der Regel-Aggregation . . . 56<br />

4.5.4 Zyklisch anwendbare Regeln . . . . . . . . . . . . . . . . . . . . . . 59<br />

7

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!