## Beyond Induction Variables: Detecting and Classifying Sequences Using a Demand-driven SSA Form (1995)

Venue: | ACM Transactions on Programming Languages and Systems |

Citations: | 102 - 5 self |

### BibTeX

@ARTICLE{Gerlek95beyondinduction,

author = {Michael P. Gerlek and Eric Stoltz and Michael Wolfe},

title = {Beyond Induction Variables: Detecting and Classifying Sequences Using a Demand-driven SSA Form},

journal = {ACM Transactions on Programming Languages and Systems},

year = {1995},

volume = {17},

pages = {85--122}

}

### Years of Citing Articles

### OpenURL

### Abstract

this paper we present a practical technique for detecting a broader class of linear induction variables than is usually recognized, as well as several other sequence forms, including periodic, polynomial, geometric, monotonic, and wrap-around variables. Our method is based on Factored Use-Def (FUD) chains, a demand-driven representation of the popular Static Single Assignment form. In this form, strongly connected components of the associated SSA graph correspond to sequences in the source program: we describe a simple yet efficient algorithm for detecting and classifying these sequences. We have implemented this algorithm in Nascent, our restructuring Fortran 90+ compiler, and we present some results showing the effectiveness of our approach.

### Citations

993 | Depth-first search and linear graph algorithms
- Tarjan
- 1972
(Show Context)
Citation Context ...st "demand" the classification of any components it requires for its own classification. This demand process is performed by using Tarjan's well-known algorithm for detecting SCCs in directe=-=d graphs [Tarjan 1972]. Tarjan'-=-s algorithm has the property that SCCs are visited only after visiting all "descendant" components in the graph; intuitively, a DAG of components is formed and processed in postorder during ... |

840 | Efficiently computing static single assignment form and the control dependence graph - CYTRON, FERRANTE, et al. - 1991 |

302 |
Advanced Compiler Optimizations for Supercomputers
- Padua, Wolfe
- 1986
(Show Context)
Citation Context ...c permission. c fl : : : 2 \Delta Michael P. Gerlek and Eric Stoltz and Michael Wolfe Many modern compilers now include advanced loop transformations such as loop distribution and loop interchanging [=-=Padua and Wolfe 1986-=-] that have proven useful on a wide variety of systems, ranging from uniprocessor workstations to vector multiprocessors and massively parallel processors. These transformations require analysis of ar... |

212 | An Efficient Method of Computing Static Single Assignment Form - Cytron, Ferrante, et al. - 1989 |

132 | The Program Dependence Web: A Representation Supporting Control-, Data-, and Demand-Driven Interpretation of Imperative Languages - Ballance, Maccabe, et al. - 1990 |

120 | Automatic array privatization
- Tu, Padua
- 1993
(Show Context)
Citation Context ...echnique for linear induction (and monotonic) variable detection in order to perform symbolic analysis of array bounds and subscript expressions within conditionals and loops for array privatization [=-=Tu and Padua 1993-=-]. They have found that in order to fully accommodate conditional expressions by symbolic analysis, however, more detailed predicate information is needed. Other current work by Havlak and others may ... |

99 | An overview of the PTRAN analysis system for multiprocessing - Allen, Burke, et al. - 1988 |

92 | Experience in the Automatic Parallelization of Four PerfectBenchmark Programs
- Eigenmann, Hoeflinger, et al.
- 1991
(Show Context)
Citation Context ...ing compilers have pointed out specific types of nested induction variable forms that, while relatively infrequent, can lead to significant parallelism if the subscript expressions can be classified [=-=Eigenmann et al. 1992-=-; Haghighat and Polychronopoulos 1992]. A typical example is a triangular loop containing a polynomial induction variable, similar to the Fortran program and its SSA form shown in Figures 9 and 10. 7 ... |

90 | Beyond induction variables
- Wolfe
- 1992
(Show Context)
Citation Context ...esponding to various forms of these sequences. Symbolic expressions are used to represent the value of each expression within the program and these expressions are then propagated across the program [=-=Wolfe 1992-=-]. The method presented here is simple and intuitive. In its simplest form, it represents a new approach to SSA-based constant propagation; taken further, it provides a method for detecting linear ind... |

77 |
Data Dependence and its Application to Parallel Processing
- Wolfe, Banerjee
- 1987
(Show Context)
Citation Context ...bles, this test may not be used. Other tests have other constraints. It is important to examine the types of expressions that occur in the subscript expressions that produce the dependence equations [=-=Wolfe and Banerjee 1987-=-]. Our algorithm for classifying induction variables was run on the Perfect Club 32 \Delta Michael P. Gerlek and Eric Stoltz and Michael Wolfe Table III. Subscript classifications in innermost loops q... |

73 | Reduction of operator strength - Allen, Cooke, et al. - 1981 |

65 | Supercomputer Performance Evaluation and the Perfect Benchmarks - Cybenko, Pointer, et al. - 1990 |

56 |
A survey of data flow analysis techniques
- Kennedy
- 1981
(Show Context)
Citation Context ...re array address expressions in inner loops. Techniques for detecting and classifying linear induction variables have a long history and are well-known [Aho, Sethi, and Ullman 1986; Allen, Cocke, and =-=Kennedy 1981; Allen, B-=-urke, Charles, Cytron, and Ferrante 1988]. This research was supported by ARPA under grant F3062-92-C-135. A preliminary paper, "Beyond Induction Variables", appeared in the Proceedings of t... |

44 |
Symbolic dependence analysis for high performance parallelizing compilers
- Haghighat, Polychronopoulos
- 1990
(Show Context)
Citation Context ...nknown sign, then the compiler cannot determine if the sequence is increasing or decreasing. Other researchers have recently examined various aspects of subscript expressions [Shen, Li, and Yew 1990; =-=Haghighat 1990-=-], with similar results. These results represent a first approximation to help determine what types of data dependence tests should be applied. Further study is needed, particularly in analyzing pairw... |

35 | Symbolic program analysis and optimization for parallelizing compilers
- Haghighat, Polychronopoulos
- 1992
(Show Context)
Citation Context ...r may profit by determining that, on any given iteration, k and kold have distinct values. Periodic variables may follow more complex sequences as well, if arithmetic operations occur in the pattern [=-=Haghighat and Polychronopoulos 1992-=-]: k = 1 kold = 2 3 An alternate form of the swap operation involves integer subtraction, e.g. k = 3 - k. In this form, k may be recognized as a geometric IV with base \Gamma1. 8 \Delta Michael P. Ger... |

34 | Automatic recognition of induction variables and recurrence relations by abstract interpretation - Ammerguallat, Harrison - 1990 |

33 | An empirical study of Fortran programs for parallelizing compilers - Shen, Li, et al. - 1990 |

30 | Construction of thinned gated single-assignment form
- Havlak
- 1993
(Show Context)
Citation Context ...ate conditional expressions by symbolic analysis, however, more detailed predicate information is needed. Other current work by Havlak and others may address the use of fl-functions for this purpose [=-=Havlak 1993-=-; Stoltz, Wolfe, and Gerlek 1994]. 7.2 Sequence Detection Recently, other researchers have considered various ways of extending the class of sequences usually detected. Spezialetti and Gupta have exte... |

8 |
A program form based on data dependency in predicate regions
- Ferrante, Ottenstein
- 1983
(Show Context)
Citation Context ...er on program dependence graphs by Ferrante and Ottenstein suggests that basic linear IVs may be found by identifying strongly connected components of subgraphs corresponding to loops in the program [=-=Ferrante and Ottenstein 1983-=-]. Unsurprisingly, their representation of program graphs has many features in common with SSA form, e.g. merge nodes, data dependence edges. Still earlier, Loveman and Faneuf noted that in their p-gr... |

8 | Constant Propagation: A Fresh Demand-Driven Look - Stoltz, Wolfe, et al. - 1994 |

6 |
Loop monotonic computations: An approach for the efficient run-time detection of races
- Gupta, Spezialetti
- 1991
(Show Context)
Citation Context ... the traditional dataflow approach to classify "monotonic" statements for such diverse applications as run-time array bounds checking, dependence analysis, and run-time detection of access a=-=nomalies [Gupta and Spezialetti 1991]. Their technique u-=-ses an iterative algorithm to detect "basic" and "dependent" monotonic statements in loops which are not nested, including both regular (arithmetic, geometric) and irregular monoto... |

2 |
Program Optimization | Theory and Practice
- Loveman, Faneuf
- 1975
(Show Context)
Citation Context ... Still earlier, Loveman and Faneuf noted that in their p-graph representation variables introduced by strength reduction "have two generations and one merge, and all uses are generated by the mer=-=ge" [Loveman and Faneuf 1975-=-], which is closely related to our property of -functions. Although developed independently, our work may be viewed as a (much expanded) current treatment of these early ideas. Classical linear induct... |

1 | Experience in the automatic parallelizationof four Perfect-Benchmarkprograms - Eigenmann, Hoeflinger, et al. - 1992 |

1 | Beyond Induction Variables \Delta 39 - Stoltz, Gerlek, et al. - 1994 |