Finding effective optimization phase sequences

  • Authors:
  • Prasad Kulkarni;Wankang Zhao;Hwashin Moon;Kyunghwan Cho;David Whalley;Jack Davidson;Mark Bailey;Yunheung Paek;Kyle Gallivan

  • Affiliations:
  • Florida State University;Florida State University;Korea Advanced Institute of Technology;Korea Advanced Institute of Technology;Florida State University;University of Virginia;Hamilton College;Seoul National University;Florida State University

  • Venue:
  • Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

It has long been known that a single ordering of optimization phases will not produce the best code for every application. This phase ordering problem can be more severe when generating code for embedded systems due to the need to meet conflicting constraints on time, code size, and power consumption. Given that many embedded application developers are willing to spend time tuning an application, we believe a viable approach is to allow the developer to steer the process of optimizing a function. In this paper, we describe support in VISTA, an interactive compilation system, for finding effective sequences of optimization phases. VISTA provides the user with dynamic and static performance information that can be used during an interactive compilation session to gauge the progress of improving the code. In addition, VISTA provides support for automatically using performance information to select the best optimization sequence among several attempted. One such feature is the use of a genetic algorithm to search for the most efficient sequence based on specified fitness criteria. We have included a number of experimental results that evaluate the effectiveness of using a genetic algorithm in VISTA to find effective optimization phase sequences.