Citations
1405 | Depth-first search and linear graph algorithms
- Tarjan
- 1971
(Show Context)
Citation Context ...salink field. 3.1 Basic Linear Induction Variables Our algorithm to find the induction variables is based on Tarjan's well-known algorithm to find strongly connected regions (SCRs) in directed graphs =-=[Tar72]-=-. The primary observation is that each basic linear induction variable will belong to a nontrivial SCR in the SSA graph. Each such SCR in the SSA graph must include a loop-header OE-function, since al... |
354 | Constant propagation with conditional branches
- Wegman, Zadeck
- 1991
(Show Context)
Citation Context ...of the family differ only by a constant in the initial value. Often the initial value coming in from outside the loop can be evaluated and substituted, using an algorithm such as constant propagation =-=[WZ91]-=-. Actually, the rules for basic linear induction variables can be relaxed a bit. As long as the variable is incremented by the same amount on each path through the loop, the compiler can classify it a... |
329 | Automatic translation of FORTRAN programs to vector form. - Allen, Kennedy - 1987 |
324 |
Advanced compiler optimizations for supercomputers.
- Padua, Wolfe
- 1986
(Show Context)
Citation Context ...r compilers, vendors and researchers found some particular patterns that appeared often enough to warrant special recognition and handling in a compiler. One of these is called a wrap-around variable =-=[PW86]-=-, such as im1 below: im1 = n L9: for i = 1 to n loop A(i) = A(im1) + : : : im1 = i endloop In all iterations but the first, the value of im1 is equal to i-1; in the first iteration, however, im1 has s... |
241 | Detecting equality of variables in programs - Alpern, Wegman, et al. - 1988 |
199 | Global value numbers and redundant computations - Rosen, Wegman, et al. - 1988 |
184 |
The organization of computations for uniform recurrence equations
- Karp, Miller, et al.
- 1967
(Show Context)
Citation Context ...tant. It may also force compilers to implement loop skewing and loop interchanging as a single transformation [Wol86]; this has been formulated in the past as a linear transformation on the index set =-=[KMW67], and is c-=-urrently in vogue as "unimodular transformations" [WL91, Ban91]. 7 Summary and Conclusions We have shown a fast and simple algorithm for classifying all induction variables in a loop; this a... |
174 | Unimodular transformations of double loops - Banerjee - 1990 |
149 |
The program dependence web: a representation supporting control-, data-, and demand-driven interpretation of imperative languages. In PLDI,
- Ottenstein, Ballance, et al.
- 1990
(Show Context)
Citation Context ...nsertion, but it would have been nice if there had already been an SSA name to distinguish the value of the variable upon loop exit. The loop exit j gating function used in the Program Dependence Web =-=[BMO90]-=- serves exactly this purpose. While we don't feel we need all the generality of the PDW, we are investigating adding some of its elements to the factored use-def chains used in our compiler internal r... |
148 | Practical dependence testing - Goff, Kennedy, et al. - 1991 |
126 | Efficient and Exact Data Dependency Analysis,” - Maydan, Hennessy, et al. - 1991 |
96 | Experience in the automatic parallelization of four Perfect benchmark programs
- Eigenmann, Hoeflinger, et al.
- 1991
(Show Context)
Citation Context ...variable from triangular inner loop. k 3 = hL18; hL17; 0; 204i; 2i k 4 = hL18; hL17; 2; 204i; 2i It is interesting to note that the case of generalized induction variables found to be so difficult in =-=[EHLP92]-=- is simple in this framework. Their given example has a doubly nested loop where the inner loop is triangular, that is, its upper limit depends on the outer loop index variable, as in Figure 9. Our me... |
81 |
Data Dependence and its Application to Parallel Processing”,
- Wolfe, Banerjee
- 1987
(Show Context)
Citation Context ...ation and lie within the loop limits. Often, dependence distance or direction information can be found, determining that the solution only occurs when (for instance) i 00 \Gamma i 0 = 1 or i 0 ! i 00 =-=[WB87]-=-. This information is critical to many optimization algorithms. In the case where one of the expressions has the wrap-around attribute, the same dependence equation can be constructed and solved, but ... |
78 | Reduction of operator strength - Allen, Cocke, et al. - 1981 |
31 |
Data dependence in ordinary programs
- Banerjee
- 1976
(Show Context)
Citation Context ...for linear induction variables is generally well-covered in the literature [AK87, BCKT79, GKT91, MHL91]. Banerjee presents some algorithms for handling polynomial induction variables in his MS thesis =-=[Ban76]-=-. After a brief review, we focus on dependence with wrap-around variables, monotonic variables and periodic variables. The algorithm used to classify variables will actually classify each subexpressio... |
26 |
Time and Parallel Processor Bounds for Fortran-Like Loops,”
- Banerjee, Chen, et al.
- 1979
(Show Context)
Citation Context ... changed to: for i = 0 to (11-2)/3 loop \Delta \Delta \Delta A(i*3+2) \Delta \Delta \Delta This transformation was initially designed to simplify the formulation of data dependence testing algorithms =-=[BCKT79]-=-. Since normalization always puts the loop lower limits into subscript expressions, it can complicate life for simple dependence analyzers when the lower limit contains other variables, as shown by th... |
23 | An algorithmic approach to compound loop transformations - Wolf, Lam - 1991 |
22 | Crafting a Compiler", Benjamin-Cummings, Menlo Park - Fischer, LeBlanc - 1988 |
19 |
Yew: “An Empirical Study of Fortran Programs for Parallelizing Compiler
- Shen, Li, et al.
- 1990
(Show Context)
Citation Context ...n always puts the loop lower limits into subscript expressions, it can complicate life for simple dependence analyzers when the lower limit contains other variables, as shown by the work on Parafrase =-=[SLY90]-=-. For this reason, and because it can adversely affect the kinds of transformations allowed in programs (such as loop interchanging), this author has in the past argued against implementing loop norma... |
9 |
Irigoin and Remi Triolet. Supernode Partitioning
- Francois
- 1988
(Show Context)
Citation Context ... More likely, use of this induction variable representation will force compilers to abandon the direction vectorsdependence representation, which has been criticized by many researchers as too coarse =-=[IT88]-=-. A direction vector encodes the sign of the elements of the distance vector; while less precise in general, it can be used effectively when the distance vector is not constant. It may also force comp... |
5 |
Skewing: The Wavefront Method Revisited
- Loop
- 1986
(Show Context)
Citation Context ...s reason, and because it can adversely affect the kinds of transformations allowed in programs (such as loop interchanging), this author has in the past argued against implementing loop normalization =-=[Wol86]-=-. It is interesting to note that this formulation of induction variables essentially normalizes all loops. One example used to argue against normalization is: L23: for i = 1 to n loop L24: for j = i+1... |