ACM Home Page
Please provide us with feedback. Feedback
The Compilation of Loop Induction Expressions
Full text PdfPdf (472 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 1 ,  Issue 1  (July 1979) table of contents
Pages: 50 - 57  
Year of Publication: 1979
ISSN:0164-0925
Author
Richard L. Sites  Department of Electrical Engineering and Computer Sciences, C-014, University of California at San Diego, La Jolla, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 38,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/357062.357065
What is a DOI?

ABSTRACT

In an optimizing compiler, it is often desirable to compile subscript expressions such as Abase-2 + I*2 so that the value of the expression is available in a register and is simply incremented whenever I is incremented, thus avoiding the multiplication inside the loop. This change is effected by a standard optimization called strength reduction. Program loops often contain several such expressions stemming perhaps from references to operands A(I), A(I+1), B(I), and C(K,J,I,L). Under what circumstances can we do better than keeping four addresses in four separate registers or temporaries? A general technique is presented which minimizes the number of registers needed to hold such values, while simultaneously minimizing the amount of computation inside the loop. In the above collection, it is possible to use as few as two registers for the four I-dependent values.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
ALLEN, F.E. Program optimization. In Annual Review in Automatic Programming, Vol. 5. Pergamon Press, New York, 1969, pp. 239-307.
 
3
ALLEN, F.E., A~D COCKE, J. A catalogue of optimizing transformations. In Design and Optimization of Compilers, R. Rustin, Ed., Prentice-Hall, Englewood Cliffs, N.J., 1972, pp. 1-30.
 
4
COCKE, J., AND SCHWARTZ, J.T. Programming languages and their compilers. Courant Inst., New York, 1971.
 
5
FTN 4.6 internal maintenance specifications, section 64--global register assignment. Control Data Corp., Minneapolis, Minn.
6
 
7
J ASZK, S. Private communication.