HyperLink   Effective Compiler Support for Predicated Execution Using the Hyperblock.
Received Micro Test-of-Time Award / Paper of IMPACT - Cited Greater Than 750 Times
Publication Year:
  Scott A. Mahlke, David C. Lin, William Y. Chen, Richard E. Hank, Roger A. Bringmann
  Proceedings of the 25th International Symposium on Microarchitecture, pp. 45-54, Dec. 1992

Predicated execution is an effective technique for dealing with conditional branches in application programs. However, there are several problems associated with conventional compiler support for predicated execution. First, all paths of control are combined into a single path regardless of their execution frequency and size with conventional if-conversion techniques. Second, speculative execution is difficult to combine with predicated execution. In this paper, we propose the use of a new structure, referred to as the hyperblock, to overcome these problems. The hyperblock is an efficient structure to utilize predicated execution for both compile-time optimization and scheduling. Preliminary experimental results show that the hyperblock is highly effective for a wide range of superscalar and VLIW processors.