Affiliation:
1. Department of Computer Science, Rice University, Houston, Texas
Abstract
Code space is a critical issue facing designers of software for embedded systems. Many traditional compiler optimizations are designed to reduce the execution time of compiled code, but not necessarily the size of the compiled code. Further, different results can be achieved by running some optimizations more than once and changing the order in which optimizations are applied. Register allocation only complicates matters, as the interactions between different optimizations can cause more spill code to be generated. The compiler for embedded systems, then, must take care to use the best sequence of optimizations to minimize code space.Since much of the code for embedded systems is compiled once and then burned into ROM, the software designer will often tolerate much longer compile times in the hope of reducing the size of the compiled code. We take advantage of this by using a genetic algorithm to find optimization sequences that generate small object codes. The solutions generated by this algorithm are compared to solutions found using a fixed optimization sequence and solutions found by testing random optimization sequences. Based on the results found by the genetic algorithm, a new fixed sequence is developed to reduce code size. Finally, we explore the idea of using different optimization sequences for different modules and functions of the same program.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference20 articles.
1. Effective partial redundancy elimination
2. Preston Briggs Keith D. Cooper and L. Taylor Simpson. Value numbering. Software - Practice and Experience 27(6):701-724 June 1997. 10.1002/(SICI)1097-024X(199706)27:6%3C701::AID-SPE104%3E3.3.CO;2-S Preston Briggs Keith D. Cooper and L. Taylor Simpson. Value numbering. Software - Practice and Experience 27(6):701-724 June 1997. 10.1002/(SICI)1097-024X(199706)27:6%3C701::AID-SPE104%3E3.3.CO;2-S
3. Improvements to graph coloring register allocation
Cited by
93 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Exponentially Expanding the Phase-Ordering Search Space via Dormant Information;Proceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction;2024-02-17
2. Complex error minimization algorithm with adaptive change rate;Chaos, Solitons & Fractals;2023-11
3. 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
4. HyBF: A Hybrid Branch Fusion Strategy for Code Size Reduction;Proceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction;2023-02-17
5. A Prediction System Service;Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2;2023-01-27