Isothermality: making speculative optimizations affordable

dc.contributor.authorPereira, David John
dc.contributor.supervisorHorspool, R. Nigel
dc.date.accessioned2007-12-22T22:05:38Z
dc.date.available2007-12-22T22:05:38Z
dc.date.copyright2007en_US
dc.date.issued2007-12-22T22:05:38Z
dc.degree.departmentDepartment of Computer Science
dc.degree.levelDoctor of Philosophy Ph.D.en_US
dc.description.abstractPartial 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.urihttp://hdl.handle.net/1828/292
dc.languageEnglisheng
dc.language.isoenen_US
dc.rightsAvailable to the World Wide Weben_US
dc.subjectcompileren_US
dc.subjectoptimizationsen_US
dc.subjectcode motionen_US
dc.subjectpartial redudancy eliminationen_US
dc.subjectpartial dead code eliminationen_US
dc.subject.lcshUVic Subject Index::Sciences and Engineering::Applied Sciences::Computer scienceen_US
dc.titleIsothermality: making speculative optimizations affordableen_US
dc.typeThesisen_US

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Pereira_0336403_Thesis-Final_21Dec2007_.pdf
Size:
1.13 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.18 KB
Format:
Item-specific license agreed upon to submission
Description: