Nesting of reducible and irreducible loops

P Havlak - ACM Transactions on Programming Languages and …, 1997 - dl.acm.org
ACM Transactions on Programming Languages and Systems (TOPLAS), 1997dl.acm.org
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 …
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.
ACM Digital Library
Showing the best result for this search. See all results