ACM Home Page
Please provide us with feedback. Feedback
Nesting of reducible and irreducible loops
Full text PdfPdf (180 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 19 ,  Issue 4  (July 1997) table of contents
Pages: 557 - 567  
Year of Publication: 1997
ISSN:0164-0925
Author
Paul Havlak  Rice University
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 71,   Citation Count: 14
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/262004.262005
What is a DOI?

ABSTRACT

Recognizing and transforming loops are essential steps in any attempt to improve the running time of a program. Aggressive restructuring techniques have been developed for single-entry (reducible) loops, but restructurers and the dataflow and dependence analysis they rely on often give up in the presence of multientry (irreducible) loops. Thus one irreducible loop can prevent the improvement of all loops in a procedure. This article give an algorithm to build a loop nesting tree for a procedure with arbitrary control flow. The algorithm uses definitions of reducible and irreducible loops which allow either kind of loop to be nested in the other. The tree construction algorithm, an extension of Tarjan's algorithm for testing reducibility, runs in almost linear time. In the presence of irreducible loops, the loop nesting tree can depend on the depth-first spanning tree used to build it. In particular, the header node representing a reducible loop in one version of the loop nesting tree can be the representative of an irreducible loop in another. We give a normalization method that maximizes the set of reducible loops discovered, independent of the depth-first spanning tree used. The normalization require the insertion of at most one node and one edge per reducible loop.


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
 
3
4
 
5
SCHWARTZ, J. AND SHARIR, M. 1979. A design for optimizations of the bitvectoring class. Tech. rep., Courant Inst., New York Univ., New York. September.
 
6
SLOMAN, B., LAKE, T., AND WILLIAM, S. 1994. Identifying loops in flowgraphs. Tech. Rep. SEG/GN/94/1, Univ. of Reading, Reading, UK.
 
7
TARJAN, R. E. 1974. Testing flow graph reducibility. J. Comput. Syst. Sc{. 9, 355-365.
 
8

CITED BY  14
 
 
 
 
 


Peer to Peer - Readers of this Article have also read: