Architectural support for compiler-synthesized dynamic branch prediction strategies: Rationale and initial results

D.I. August, D.A. Connors, J.C. Gyllenhaal, W.-M.W. Hwu
Proceedings Third International Symposium on High-Performance Computer Architecture  
This paper introduces a new architectural approach that supports compiler-synthesized dynamic branch predication. 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 p r oposed and evaluated. In Predicate Only Prediction POP, the hardware
more » ... mply uses the condition generated by the code sequence a s a p r e diction. In Predicate Enhanced Prediction PEP, the hardware uses the generated c ondition 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 c ompiler techniques which have the potential to achieve extremely high branch prediction accuracies. Several such compiler techniques are p r oposed in this paper. POP BTB Tag, etc. Pred. Reg. File Pred Value Predicate Register # Branch Address Branch Prediction
doi:10.1109/hpca.1997.569617 dblp:conf/hpca/AugustCGH97 fatcat:x5xfvu4lfjbcpoferykymojgba