Affiliation:
1. University of Delaware, Newark, DE, USA
Abstract
Today's compilers have a plethora of optimizations to choose from, and the correct choice of optimizations can have a significant impact on the performance of the code being optimized. Furthermore, choosing the correct order in which to apply those optimizations has been a long standing problem in compilation research. Each of these optimizations interacts with the code and in turn with all other optimizations in complicated ways. Traditional compilers typically apply the same set of optimization in a fixed order to all functions in a program, without regard the code being optimized.
Understanding the interactions of optimizations is very important in determining a good solution to the phase-ordering problem. This paper develops a new approach that automatically selects good optimization orderings on a per method basis within a dynamic compiler. Our approach formulates the phase-ordering problem as a Markov process and uses a characterization of the current state of the code being optimized to creating a better solution to the phase ordering problem. Our technique uses
neuro-evolution
to construct an artificial neural network that is capable of predicting beneficial optimization ordering for a piece of code that is being optimized. We implemented our technique in Jikes RVM and achieved significant improvements on a set of standard Java benchmarks over a well-engineered fixed order.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
58 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Two-Stage LLVM Option Sequence Optimization Method to Minimize Energy Consumption;Swarm and Evolutionary Computation;2024-07
2. Exponentially Expanding the Phase-Ordering Search Space via Dormant Information;Proceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction;2024-02-17
3. Compiler Auto-Tuning via Critical Flag Selection;2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE);2023-09-11
4. Optimizing the Order of Bytecode Handlers in Interpreters using a Genetic Algorithm;Proceedings of the 38th ACM/SIGAPP Symposium on Applied Computing;2023-03-27
5. Efficiently Learning Locality Optimizations by Decomposing Transformation Domains;Proceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction;2023-02-17