Virtual registers: reducing register pressure without enlarging the register file

  • Authors:
  • Jun Yan;Wei Zhang

  • Affiliations:
  • Dept. of ECE, Southern Illinois University, Carbondale, IL;Dept. of ECE, Southern Illinois University, Carbondale, IL

  • Venue:
  • HiPEAC'07 Proceedings of the 2nd international conference on High performance embedded architectures and compilers
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper proposes a novel scheme to mitigate the register pressure for statically scheduled high-performance embedded processors without physically enlarging the register file. Our scheme exploits the fact that a large fraction of variables are short-lived, which do not need to be written to or read from real registers. Instead, the compiler can allocate these short-lived variables to the virtual registers, which are simply place holders (instead of physical storage locations in the register file) to identify dependences among instructions. Our experimental results demonstrate that virtual registers are very effective at reducing the number of register spills; which, in many cases, can achieve the performance close to the processor with twice number of real registers. Also, our results indicate that for some multimedia and communication applications, using a large number of virtual registers with a small number of real registers can even achieve higher performance than that of a mid-sized register file without any virtual registers.