Practical exhaustive optimization phase order exploration and evaluation

  • Authors:
  • Prasad A. Kulkarni;David B. Whalley;Gary S. Tyson;Jack W. Davidson

  • Affiliations:
  • University of Kansas, Lawrence, Kansas;Florida State University, Tallahassee, Florida;Florida State University, Tallahassee, Florida;University of Virginia, Charlottesville, Virginia

  • Venue:
  • ACM Transactions on Architecture and Code Optimization (TACO)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Choosing the most appropriate optimization phase ordering has been a long-standing problem in compiler optimizations. Exhaustive evaluation of all possible orderings of optimization phases for each function is generally dismissed as infeasible for production-quality compilers targeting accepted benchmarks. In this article, we show that it is possible to exhaustively evaluate the optimization phase order space for each function in a reasonable amount of time for most of the functions in our benchmark suite. To achieve this goal, we used various techniques to significantly prune the optimization phase order search space so that it can be inexpensively enumerated in most cases and reduce the number of program simulations required to evaluate program performance for each distinct phase ordering. The techniques described are applicable to other compilers in which it is desirable to find the best phase ordering for most functions in a reasonable amount of time. We also describe some interesting properties of the optimization phase order space, which will prove useful for further studies of related problems in compilers.