Abstract

The search for efficient register allocation algorithms dates back to the time of the first FORTRAN compiler for the IBM 704. The model we use in this paper is a single processor with an arbitrarily large number of general registers. The objective is to use as few registers as possible, under the,constraint that no stores into memory are permitted. The programs under consideration are sequences of assignment instructions. We show that, given a program and an integer k, determining if the program can be computed using k registers is polynomial complete. It should be noted that k can be any integer.

Keywords

  1. register allocation
  2. program optimization
  3. polynomial complete
  4. straight line program
  5. basic block
  6. dag

Get full access to this article

View all available purchase options and get full access to this article.

References

1.
Alfred V. Aho, Jeffrey D. Ullman, Optimization of straight line programs, SIAM. J. Comput., 1 (1972), 1–19
2.
J. W. Backus, The Fortran automatic coding system, Proc. Western Joint Computer Conf., 11 (1957), 188–198, also in Programming Systems and Languages, S. Rosen, ed., McGraw-Hill, New York, 1967, pp. 29–47
3.
James C. Beatty, An axiomatic approach to code optimization for expressions, J. Assoc. Comput. Mach., 19 (1972), 613–640; errata, ibid. 20 (1973), 188; erratum, ibid. 20 (1973), 538
4.
S. A. Cook, The complexity of theorem proving procedures, 3rd Ann. ACM Symp. on Theory of Computing, Shaker Heights, Ohio, 1971, 151–158, May
5.
S. A. Cook, An observation on time-storage tradeoff, 5th Ann. ACM Symp. on Theory of Computing, Austin, Texas, 1973, 29–33, May
6.
John E. Hopcroft, Jeffrey D. Ullman, Formal languages and their relation to automata, Addison-Wesley Publishing Co., Reading, Mass.-London-Don Mills, Ont., 1969x+242
7.
Richard M. Karp, R. E. Miller, J. W. Thatcher, Reducibility among combinatorial problemsComplexity of computer computations (Proc. Sympos., IBM Thomas J. Watson Res. Center, Yorktown Heights, N.Y., 1972), Plenum, New York, 1972, 85–103
8.
I. Nakata, On compiling algorithms for arithmetic expressions, Comm. ACM, 10 (1967), 492–494
9.
Ravi Sethi, J. D. Ullman, The generation of optimal code for arithmetic expressions, J. Assoc. Comput. Mach., 17 (1970), 715–728
10.
P. F. Stockhausen, Adapting optimal code generation for arithmetic expressions to the instruction sets available on present-day computers, Comm. ACM, 16 (1973), 353–354
11.
S. A. Walker, Some graph games related to the efficient calculation of expressions, Res. Rep., RC 3628, IBM, Yorktown Heights, N.Y., 1971, Nov.
12.
S. A. Walker, H. R. Strong, Characterization of flowchartable recursions, 4th Ann. ACM Symp. on Theory of Computing, Denver, Colo., 1972, 18–34, short version, May

Information & Authors

Information

Published In

cover image SIAM Journal on Computing
SIAM Journal on Computing
Pages: 226 - 248
ISSN (online): 1095-7111

History

Submitted: 1 February 1973
Published online: 13 July 2006

Keywords

  1. register allocation
  2. program optimization
  3. polynomial complete
  4. straight line program
  5. basic block
  6. dag

Authors

Affiliations

Metrics & Citations

Metrics

Citations

If you have the appropriate software installed, you can download article citation data to the citation manager of your choice. Simply select your manager software from the list below and click Download.

Cited By

View Options

View options

PDF

View PDF

Media

Figures

Other

Tables

Share

Share

Copy the content Link

Share with email

Email a colleague

Share on social media