Author:
Mueller Frank,Whalley David B.
Abstract
This study evaluates a global optimization technique that avoids unconditional jumps by replicating code. When implemented in the back-end of an optimizing compiler, this technique can be generalized to work on almost all instances of unconditional jumps, including those generated from conditional statements and unstructured loops. The replication method is based on the idea of finding a replacement for each unconditional jump which minimizes the growth in code size. This is achieved by choosing the shortest sequence of instructions as a replacement. Measurements taken from a variety of programs showed that not only the number of executed instructions decreased, but also that the total cache work was reduced (except for small caches) despite increases in code size. Pipelined and superscalar machines may also benefit from an increase in the average basic block size.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. PfComp: A Verified Compiler for Packet Filtering Leveraging Binary Decision Diagrams;Proceedings of the 13th ACM SIGPLAN International Conference on Certified Programs and Proofs;2024-01-09
2. Bibliography;Engineering a Compiler;2023
3. Code Shape;Engineering a Compiler;2023
4. Dominance-based duplication simulation (DBDS): code duplication to enable compiler optimizations;Proceedings of the 2018 International Symposium on Code Generation and Optimization;2018-02-24
5. Bibliography;Engineering a Compiler;2012