Machine-independent register allocation

  • Authors:
  • Richard L. Sites

  • Affiliations:
  • Dept. of Electrical Engineering and Computer Sciences, University of California at San Diego, La Jolla, CA

  • Venue:
  • SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
  • Year:
  • 1979

Quantified Score

Hi-index 0.00

Visualization

Abstract

The context of this paper is a machine-independent Pascal optimizer that transforms an intermediate stack-machine pseudo-code program into a generally smaller and faster pseudo-code program. The emphasis of this current paper is on the approach taken for mapping registers and storage, using an abstract but practical definition of the target machine's storage hierarchy. A companion paper [7] describes the overall optimizer project. After starting on this project, additional input became available from a Fortran-to-Pcode compiler written at Stanford [2]. Our storage mapping design is sufficiently robust that the addition of Fortran EQUIVALENCE and COMMON statements required no changes. Our particular allocation algorithm is not unique or original, but the abstract description of the storage hierarchy, and its inclusion of practical considerations we feel to be an original contribution. The description framework has so far stood the test of describing the storage hierarchy of many commercially-available machines without needing to be extended or embellished. We hope that this is a good predictor for the future.