Control CPR
- 1 May 1999
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 34 (5) , 155-168
- https://doi.org/10.1145/301618.301659
Abstract
The challenge of exploiting high degrees of instruction-level parallelism is often hampered by frequent branching. Both exposed branch latency and low branch throughput can restrict parallelism. Control critical path reduction (control CPR) is a compilation technique to address these problems. Control CPR can reduce the dependence height of critical paths through branch operations as well as decrease the number of executed branches. In this paper, we present an approach to control CPR that recognizes sequences of branches using profiling statistics. The control CPR transformation is applied to the predominant path through this sequence. Our approach, its implementation, and experimental results are presented. This work demonstrates that control CPR enhances instruction-level parallelism for a variety of application programs and improves their performance across a range of processors.Keywords
This publication has 10 references indexed in Scilit:
- Improving performance by branch reorderingPublished by Association for Computing Machinery (ACM) ,1998
- Interprocedural conditional branch eliminationPublished by Association for Computing Machinery (ACM) ,1997
- Avoiding conditional branches by code replicationACM SIGPLAN Notices, 1995
- The superblock: An effective technique for VLIW and superscalar compilationThe Journal of Supercomputing, 1993
- Compiling for the CydraThe Journal of Supercomputing, 1993
- The multiflow trace scheduling compilerThe Journal of Supercomputing, 1993
- Predicting conditional branch directions from previous runs of a programPublished by Association for Computing Machinery (ACM) ,1992
- Eliminating branches using a superoptimizer and the GNU C compilerPublished by Association for Computing Machinery (ACM) ,1992
- Avoiding unconditional jumps by code replicationPublished by Association for Computing Machinery (ACM) ,1992
- Conversion of control dependence to data dependencePublished by Association for Computing Machinery (ACM) ,1983