Skip to Main Content
One of the potential difficulties in developing cost-effective value prediction mechanisms is determining which instructions should be selected for prediction when the hardware resources are limited. The authors examine a compiler algorithm that statically assigns priorities to instructions using approximate critical path information to identify the best candidates for value prediction. This static priority information is encoded into the instructions and subsequently used by the hardware to choose the most critical instructions at run-time for value prediction. The algorithm is implemented in the GCC compiler and performance potential is evaluated using an extended version of the SimpleScalar processor simulator. Our results with the SPEC95 and SPEC2000 benchmark programs show that this approximate algorithm can effectively capture the critical path information to consistently improve the performance of a processor with a hybrid value predictor compared to using no information about the criticality of instructions. Furthermore, it is shown that using only four priority levels encoded into two instruction bits is sufficient to capture enough priority information to effectively use the value prediction hardware.