Welcome!
To use the personalized features of this site, please log in or register.
If you have forgotten your username or password, we can help.
My Menu
Saved Items

Genetic Programming Applied to Compiler Heuristic Optimization

Mark StephensonContact Information, Una-May O’ReillyContact Information, Martin C. MartinContact Information and Saman AmarasingheContact Information

(6)  Laboratory for Computer Science, USA
(7)  Artificial Intelligence Laboratory, Massachusetts Inst. of Technology, 02139 Cambridge, MA
Abstract
Genetic programming (GP) has a natural niche in the optimization of small but high payo. software heuristics. We use GP to optimize the priority functions associated with two well known compiler heuristics: predicated hyperblock formation, and register allocation. Our system achieves impressive speedups over a standard baseline for both problems. For hyperblock selection, application-specific heuristics obtain an average speedup of 23% (up to 73%) for the applications in our suite. By evolving the compiler’s heuristic over several benchmarks, the best general-purpose heuristic our system found improves the predication algorithm by an average of 25% on our training set, and 9% on a completely unrelated test set. We also improve a well-studied register allocation heuristic. On average, our system obtains a 6% speedup when it specializes the register allocation algorithm for individual applications. The general-purpose heuristic for register allocation achieves a 3% improvement.

Contact Information Mark Stephenson
Email: mstephen@cag.lcs.mit.edu

Contact Information Una-May O’Reilly
Email: unamay@ai.mit.edu

Contact Information Martin C. Martin
Email: mcm@ai.mit.edu

Contact Information Saman Amarasinghe
Email: saman@cag.lcs.mit.edu
Fulltext Preview (Small, Large)
Image of the first page of the fulltext

References secured to subscribers.



Export this chapter
Export this chapter as RIS | Text
 
Remote Address: 38.107.191.106 • Server: mpweb04
HTTP User Agent: CCBot/1.0 (+http://www.commoncrawl.org/bot.html)