Dynamic Elimination of Pointer-Expressions

  • Authors:
  • Nitzan Weinberg;David Nagle

  • Affiliations:
  • -;-

  • Venue:
  • PACT '98 Proceedings of the 1998 International Conference on Parallel Architectures and Compilation Techniques
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Evaluating high-level language pointer-expressions can require a significant portion of the execution time and memory bandwidth in programs, especially for pointers with multiple memory accesses and address computations. Often such pointers repeatedly follow the same evaluation paths and return the same values. We present a microarchitecture technique that dynamically eliminates the execution of pointers based on results obtained from previous evaluations, without using prediction. We experiment with a benchmark set that includes continuous-speech recognition, MPEG-1 decoding, and SPECint95 ijpeg, li and go programs. Simulations of Digital Alpha 21164 microprocessor show that the eliminated pointers account for up to 11.3% of execution time, and 26% of data memory bandwidth of an entire program. Hence, the proposed microarchitecture provides substantial performance gains by significantly reducing the number of executed pointers.