Isothermality: making speculative optimizations affordable
| dc.contributor.author | Pereira, David John | |
| dc.contributor.supervisor | Horspool, R. Nigel | |
| dc.date.accessioned | 2007-12-22T22:05:38Z | |
| dc.date.available | 2007-12-22T22:05:38Z | |
| dc.date.copyright | 2007 | en_US |
| dc.date.issued | 2007-12-22T22:05:38Z | |
| dc.degree.department | Department of Computer Science | |
| dc.degree.level | Doctor of Philosophy Ph.D. | en_US |
| dc.description.abstract | Partial Redundancy Elimination (PRE) is a ubiquitous optimization used by compilers to remove repeated computations from programs. Speculative PRE (SPRE), which uses program profiles (statistics obtained from running a program), is more cognizant of trends in run time behaviour and therefore produces better optimized programs. Unfortunately, the optimal version of SPRE is a very expensive algorithm, of high-order polynomial time complexity, and unlike most compiler optimizations, which run effectively in linear time complexity over the size of the program that they are optimizing. This dissertation uses the concept of “isothermality”—the division of a program into a hot region and a cold region—to create the Isothermal SPRE (ISPRE) optimization, an approximation to optimal SPRE. Unlike SPRE, which creates and solves a flow network for each program expression being optimized—a very expensive operation—ISPRE uses two simple bit-vector analyses, optimizing all expressions simultaneously. We show, experimentally, that the ISPRE algorithm works, on average, nine times faster than the SPRE algorithm, while producing programs that are optimized competitively. This dissertation also harnesses the power of isothermality to empower another kind of ubiquitous compiler optimization, Partial Dead Code Elimination (PDCE), which removes computations whose values are not used. Isothermal Speculative PDCE (ISPDCE) is a new, simple, and efficient optimization which requires only three bit-vector analyses. We show, experimentally, that ISPDCE produces superior optimization than PDCE, while keeping a competitive running time. On account of their small analysis costs, ISPRE and ISPDCE are especially appropriate for use in Just-In-Time (JIT) compilers. | en_US |
| dc.identifier.uri | http://hdl.handle.net/1828/292 | |
| dc.language | English | eng |
| dc.language.iso | en | en_US |
| dc.rights | Available to the World Wide Web | en_US |
| dc.subject | compiler | en_US |
| dc.subject | optimizations | en_US |
| dc.subject | code motion | en_US |
| dc.subject | partial redudancy elimination | en_US |
| dc.subject | partial dead code elimination | en_US |
| dc.subject.lcsh | UVic Subject Index::Sciences and Engineering::Applied Sciences::Computer science | en_US |
| dc.title | Isothermality: making speculative optimizations affordable | en_US |
| dc.type | Thesis | en_US |