Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Testprogramm libFirm libFirm + Optgen<br />
gesamt Optgen- ∆ Regel-Nr. [Häufigkeit]<br />
Regeln libFirm<br />
164.gzip 1 389 1 391 2 2 1[1], 2[1]<br />
175.vpr 2 850 2 853 3 3 1[3]<br />
176.gcc 60 317 60 332 19 15 1[10], 3[4], 4[2], 5[1], 9[1], 10[1]<br />
181.mcf 368 368 0 0<br />
186.crafty 7 804 7 851 78 47 3[1], 4[73], 6[2], 7[2]<br />
197.parser 2 507 2 511 6 4 1[3], 3[3]<br />
253.perlbmk 18 684 18 691 7 7 1[3], 2[1], 3[1], 4[1], 8[1]<br />
254.gap 25 081 25 136 130 55 1[28], 2[87], 3[2], 4[13]<br />
255.vortex 9 987 9 988 1 1 1[1]<br />
256.bzip2 1 058 1 060 2 2 1[2]<br />
300.twolf 6 810 6 817 7 7 1[4], 5[3]<br />
5 Evaluation<br />
400.perlbench 45 186 45 202 16 16 1[4], 2[6], 3[1], 4[3], 8[1], 11[1]<br />
401.bzip2 2 880 2 882 2 2 1[1], 10[1]<br />
403.gcc 169 956 170 535 226 579 1[21], 2[2], 3[3], 4[8], 6[2], 13[177], 14[13]<br />
429.mcf 457 459 2 2 5[2]<br />
445.gobmk 26 113 26 099 15 -14 2[2], 3[2], 4[6], 11[5]<br />
456.hmmer 9 009 9 008 2 -1 4[1], 12[1]<br />
458.sjeng 5 099 5 113 8 14 1[1], 3[4], 4[3],<br />
464.h264ref 22 725 22 976 304 251 1[259], 2[16], 4[15], 3[1], 10[13]<br />
Summe: 418 280 419 272 830 992<br />
Tabelle 5.3: Anzahl angewendeter <strong>lokaler</strong> Optimierung durch libFirm und durch libFirm<br />
mit zusätzlichen Optgen Regeln (libFirm + Optgen) in der SPEC<br />
CINT2000 und CINT2006, Auflistung der angewandten Optgen-Regeln.<br />
ten symbolischen Konstante sc0[and set : sc1] handelt es sich um eine eingeschränkte<br />
symbolische Konstante, die von sc1 abhängig ist. sc0 darf nur Werte annehmen, die nur<br />
an höherwertigen Bit-Stellen, als die höchste Position einer Eins in sc1, Einsen besitzen<br />
(z. B. sc1 ↦→ 00001 ⇒ sc0 ↦→ 0000).<br />
Um herauszufinden, ob die angewandten Optgen-Regeln in ihrer Summe Auswirkungen<br />
auf die Laufzeiten der übersetzten Programme haben, wurden zunächst die Laufzeiten<br />
der durch libFirm erzeugten Programme, mit den Laufzeiten der durch libFirm<br />
+ Optgen erzeugten Programme verglichen. Dies ergab jedoch keine verwertbaren Ergebnisse,<br />
da sich die Laufzeitdifferenzen innerhalb der Messschwankungen bewegen und<br />
somit keine definitive Aussage über eine Laufzeitänderung möglich ist. Um dennoch eine<br />
Aussage über die Auswirkungen der zusätzlichen Regeln geben zu können wurde statt<br />
der Laufzeit die Anzahl der ausgeführten Instruktionen pro Testprogramm ermittelt. Die<br />
Ergebnisse sind in Tabelle 5.5 dargestellt.<br />
71