Adaptive ordering of code transformations in an optimizing compiler

dc.contributor.advisorCooper, Keith D.
dc.creatorGrosul, Alexander
dc.date.accessioned2009-06-04T08:42:44Z
dc.date.available2009-06-04T08:42:44Z
dc.date.issued2005
dc.description.abstractIt has long been known that the quality of the code produced by an optimizing compiler is dependent upon the ordering of transformations applied to the code. In this dissertation, we show that the best orderings vary in unpredictable ways according to the properties of the input code and performance objectives, making adaptation a necessity to obtain the best results. We further demonstrate the most practical techniques to search the spaces of transformation orderings. Our analysis of six exhaustively enumerated subspaces of limited size determines the choice and parameters of search algorithms described and implemented in this work: random sampling, greedy methods, variations of the stochastic hillclimber, and genetic algorithms. We then apply the search algorithms to the full spaces of all available transformations, which are too big to enumerate. We evaluate the performance and cost of running these algorithms and discuss the tradeoffs between the quality of discovered orderings and an effort to find them. Stochastic hillclimbers discover effective orderings within approximately 500 evaluations. Compared to a fixed ordering of transformations, they result in 5%--40% improvements for a variety of input programs and performance objectives. To reduce the computational overhead in finding these orderings, we introduce and analyze a novel approach to precise static estimation of runtime frequencies of basic blocks. Termed "Estimated Virtual Execution", this approach reduces the search time by 40%--60%.
dc.format.extent268 p.en_US
dc.format.mimetypeapplication/pdf
dc.identifier.callnoTHESIS COMP.SCI. 2005 GROSUL
dc.identifier.citationGrosul, Alexander. "Adaptive ordering of code transformations in an optimizing compiler." (2005) Diss., Rice University. <a href="https://hdl.handle.net/1911/18844">https://hdl.handle.net/1911/18844</a>.
dc.identifier.urihttps://hdl.handle.net/1911/18844
dc.language.isoeng
dc.rightsCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.
dc.subjectComputer science
dc.titleAdaptive ordering of code transformations in an optimizing compiler
dc.typeThesis
dc.type.materialText
thesis.degree.departmentComputer Science
thesis.degree.disciplineEngineering
thesis.degree.grantorRice University
thesis.degree.levelDoctoral
thesis.degree.nameDoctor of Philosophy
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
3168790.PDF
Size:
62.44 MB
Format:
Adobe Portable Document Format