Compiler-directed classification of value locality behavior

Qing Zhao, David J Lilja

Research output: Contribution to journalArticlepeer-review

2 Scopus citations

Abstract

Value prediction has been suggested as a way to increase the instruction-level parallelism available in a superscalar processor. One of the potential difficulties in cost-effectively predicting values for a given instruction, however, is selecting the proper type of predictor. We propose a compiler-directed classification scheme that statically partitions instructions in a program into several groups, each of which is associated with a specific value predictability pattern. This value predictability pattern is encoded into the instructions to identify the type of value predictor that will be best suited for each instruction at run-time. Both an idealized profile-based compiler implementation and an implementation based on the GCC compiler are studied. We use execution-driven simulation and SPEC95 and SPEC2000 benchmarks to study the performance of this approach. This work also demonstrates the connection between value locality and source-level program structures thereby leading to a deeper understanding of the causes of this behavior.

Original languageEnglish (US)
Article number37
Pages (from-to)240-248
Number of pages9
JournalProceedings - IEEE International Conference on Computer Design: VLSI in Computers and Processors
DOIs
StatePublished - Jan 1 2001

Fingerprint

Dive into the research topics of 'Compiler-directed classification of value locality behavior'. Together they form a unique fingerprint.

Cite this