This paper shows how to software pipeline a loop for minimal register pressure withoutsacrificing the loop’s minimum execution time. This novel bidirectional slack-scheduling method has been implemented in a FORTRAN compiler and tested on many scientific benchmarks. The empirical results—when measured against an absolute lower bound on execution time, and against a novel schedule-independent absolute lower bound on register pressure—indicate nearoptimal performance.
Richard A. Huff