2005
DOI: 10.1145/1071604.1071607
|View full text |Cite
|
Sign up to set email alerts
|

Fast and efficient searches for effective optimization-phase sequences

Abstract: It has long been known that a fixed ordering of optimization phases will not produce the best code for every application. One approach for addressing this phase-ordering problem is to use an evolutionary algorithm to search for a specific sequence of phases for each module or function. While such searches have been shown to produce more efficient code, the approach can be extremely slow because the application is compiled and possibly executed to evaluate each sequence's effectiveness. Consequently, evolutiona… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
27
0
1

Year Published

2007
2007
2020
2020

Publication Types

Select...
4
3
2

Relationship

3
6

Authors

Journals

citations
Cited by 38 publications
(28 citation statements)
references
References 20 publications
0
27
0
1
Order By: Relevance
“…Identifying the best combination of optimization flags to activate is difficult. Iterative compilation techniques search the space of optimizations to optimize metrics, such as performance, energy, and code size [Cooper et al 1999;Kulkarni et al 2005;Triantafyllis et al 2005]. Statistical machine learning further improves search efficiency [Cavazos and O'Boyle 2006].…”
Section: Discussionmentioning
confidence: 99%
“…Identifying the best combination of optimization flags to activate is difficult. Iterative compilation techniques search the space of optimizations to optimize metrics, such as performance, energy, and code size [Cooper et al 1999;Kulkarni et al 2005;Triantafyllis et al 2005]. Statistical machine learning further improves search efficiency [Cavazos and O'Boyle 2006].…”
Section: Discussionmentioning
confidence: 99%
“…Agakov et al characterized programs using static features and developed adaptive mechanisms using statistical correlation models to focus their iterative search to those areas of the phase ordering space most likely to provide the greatest performance benefit [1]. A separate study by Kulkarni et al employed several innovative search space pruning techniques to avoid over 84% of program executions, thereby considerably reducing the search overhead [20,23]. Fursin et al devised a novel strategy to evaluate the relative benefit of multiple per-function phase sequences during a single program execution by maintaining different versions of the same function in one executable and switching between them during execution [10].…”
Section: Related Workmentioning
confidence: 99%
“…In other attempts to reduce the cost of iterative optimizations, researchers have used predictive modeling and code context information to focus search on the most fruitful areas of the phase order space for the program being compiled for static compilers [Agakov et al 2006] as well as for dynamic compilers . In our past research, we used genetic algorithms with aggressive pruning of the search space [Kulkarni et al 2004;Kulkarni et al 2005] to make searches for effective optimization phase sequences faster and more efficient. During this work we realized that a significant portion of typical phase order search spaces is redundant because many different orderings of optimization phases produce the same code.…”
Section: Related Workmentioning
confidence: 99%
“…From previous studies we have realized that it is possible for different function instances to be identical except for register numbers used in the instructions [Kulkarni et al 2004;Kulkarni et al 2005]. This situation can occur since different optimization phases compete for registers.…”
Section: Detecting Equivalent Function Instancesmentioning
confidence: 99%