Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting Generierung lokaler Optimierungen - IPD Snelting
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
- Seite 1: sc0 Generierung lokaler Optimierung
- Seite 5: Kurzfassung Lokale Optimierungen bi
- Seite 9 und 10: 1 Einführung Die Arbeit eines Übe
- Seite 11 und 12: 2 Grundlagen 2.1 Lokale Optimierung
- Seite 13 und 14: 2 Grundlagen Die Abbildung type ord
- Seite 15 und 16: 2 Grundlagen Definition 11 (Optimal
- Seite 17: 2 Grundlagen Die Formel setzt sich
- Seite 20 und 21: 3 Verwandte Arbeiten signum ( x ) {
- Seite 22 und 23: 3 Verwandte Arbeiten von Bansal und
- Seite 24 und 25: 4 Implementierung Das Grundprinzip
- Seite 26 und 27: 4 Implementierung Codesequenz, eben
- Seite 28 und 29: 4 Implementierung var0 neg var1 add
- Seite 30 und 31: 4 Implementierung Um die Mustererze
- Seite 32 und 33: 4 Implementierung Die Anzahl solche
- Seite 34 und 35: 4 Implementierung 4.3.1 Erkennen vo
- Seite 36 und 37: 4 Implementierung var0 op1 op1 op1
- Seite 38 und 39: 4 Implementierung Regel r ist auf d
- Seite 40 und 41: 4 Implementierung Für die Durchfü
- Seite 42 und 43: 4 Implementierung net werden zunimm
- Seite 44 und 45: 4 Implementierung sofern das zu unt
- Seite 46 und 47: 4 Implementierung Zur Veranschaulic
- Seite 48 und 49: 4 Implementierung Muster (auch opti
- Seite 50 und 51: 4 Implementierung 0 add (e) entf. d
- Seite 52 und 53: 4 Implementierung ist, wenn anstell
- Seite 54 und 55: 4 Implementierung eine Konstantenfa
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