News

Architectural Support Compiler-Synthesized Dynamic Branch Prediction Strategies: Rationale and Initial Results [abstract] (IEEE Xplore, PDF, PostScript)
David I. August, Daniel A. Connors, John C. Gyllenhaal, and Wen-mei W. Hwu
Proceedings of the Third International Symposium on High-Performance Computer Architecture (HPCA), February 1997.

This paper introduces a new architectural approach that supports compilers-synthesized branch prediction. In compiler-synthesized dynamic branch prediction, the compiler generates code sequences that, when executed, digest relevant state information and execution statistics into a condition bit, or predicate. The Hardware then utilizes this information to make predictions. Two categories of such architectures are proposed and evaluated. In Predicate Only Prediction (POP), the hardware simply uses the condition generated by the code sequence as a prediction. In Predicate Enhanced Prediction (PEP), the hardware uses the generated condition to enhance the accuracy of conventional branch prediction hardware.

The IMPACT compiler currently provides a minimal level of compiler support for the proposed approach. Experiments based on current predicated code show that the proposed predictors achieve better performance than conventional branch predictors. Furthermore, they enable future compiler techniques which have the potential to achieve extremely high branch prediction accuracies. Several such compiler techniques are proposed in this paper.