A new algorithm for scalar register promotion based on SSA form

  • Authors:
  • A. V. S. Sastry;Roy D. C. Ju

  • Affiliations:
  • Performance Delivery Laboratory, Hewlett Packard Company, 11000 Wolfe Road, MS 42 U5, Cupertino, CA;Performance Delivery Laboratory, Hewlett Packard Company, 11000 Wolfe Road, MS 42 U5, Cupertino, CA

  • Venue:
  • PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a new register promotion algorithm based on Static Single Assignment (SSA) form. Register promotion is aimed at promoting program names from memory locations to registers. Our algorithm is profile-driven and is based on the scope of intervals. In cases where a complete promotion is not possible because of the presence of function calls or pointer references, the proposed algorithm is capable of eliminating loads and stores on frequently executed paths by placing loads and stores on less frequently executed paths. We also describe an efficient method to incrementally update SSA form when new definitions are cloned from an existing name during register promotion. On SPECInt95 benchmarks, our algorithm removes about ~12% of memory operations which access scalar variables.