Critical Path Reduction for Scalar Programs

Michael Schlansker, Vinod Kathail

Abstract

Scalar performance on processors with instruction level parallelism (ILP) is often limited by control and data dependences. This paper describes a family of compiler techniques, called critical path reduction (CPR), which reduce the length of critical paths through control and data dependences. Control CPR reduces the number of branches on the critical path, and improves performance on processors with inadequate branch throughput or excessive branch latency. Data CPR reduces the number of arithmetic operations on the critical path. Optimization and scheduling are adapted to support CPR.

Keywords

critical path reduction, control height reduction, data height reduction, blocked control substitution, instruction level parallelism

Talk Overheads (405143 bytes)