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 />
var0 −128<br />
xor sc0 : sc0 < 0<br />
or<br />
Abbildung 4.22: Abbildung einer Regel mit eingeschränkter symbolischer Konstante,<br />
Einschränkung ohne Argument (z. B. sc0 ↦→ −2).<br />
Einschränkungen mit einem Argument<br />
Oft sind Regeln nur für bestimmte Kombinationen von Konstanten gültig, wie es bei<br />
der in Abbildung 4.23 dargestellten Regel der Fall ist. Diese ist genau für solche Muster<br />
anwendbar, deren Konstante an der Position von sc1 dem invertierten Bitmuster der<br />
Konstante an der Position von sc0 entspricht. Konkrete Beispiele hierfür wären u. a.<br />
sc0 ↦→ 2, sc1 ↦→ −3 oder sc0 ↦→ 5, sc1 ↦→ −6. Um solche Abhängigkeiten darstellen<br />
zu können, werden daher komplexere Einschränkungsmöglichkeiten benötigt, die den<br />
Wertebereich abhängig von einer anderen symbolischen Konstante einschränken. Einige<br />
Einschränkungen sind nachfolgend aufgeführt:<br />
⇒<br />
var0<br />
• sc1 entspricht dem invertierten Bitmuster von sc0 (inverted)<br />
• sc1 enthält nur gesetzte Bits, die auch in sc0 gesetzt sind (common ones)<br />
• sc1 besitzt nur gesetzte Bits, die in sc0 nicht gesetzt sind (disjunct ones)<br />
4.5.3 Geschwindigkeit vs. Vollständigkeit bei der Regel-Aggregation<br />
Durch die Verwendung symbolischer Konstanten wird eine Aggregation der Regeln erreicht.<br />
Es stellt sich nun die Frage, zu welchem Zeitpunkt diese Aggregation stattfinden<br />
soll. Prinzipiell bestehen hierzu zwei mögliche Varianten mit jeweils Vor- und Nachteilen,<br />
auf die im Folgenden eingegangen wird.<br />
Frühe Aggregation<br />
Bei der frühen Aggregation wird versucht, möglichst früh allgemeine Regeln (durch symbolische<br />
Konstanten) zu finden, so dass speziellere Muster aufgrund der bereits vorhandenen<br />
allgemeineren Regel nicht mehr betrachtet werden müssen. Dies beschleunigt den<br />
<strong>Generierung</strong>svorgang, da vor allem weniger Muster durch den langsamen Erfüllbarkeits-<br />
56<br />
or<br />
sc0