52 citations found. Retrieving documents...
F. Allen, J. Cocke, and K. Kennedy. Reduction of Operator Strength, pages 79--101. Prentice-Hall, 1981.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Incremental Computation for Transformational Software.. - Yanhong Liu Tim (1995)   (Correct)

....received much attention in the transformational programming literature [7, 12, 35, 37, 45] where it is commonly known as finite differencing. However, general techniques of incremental computation have far broader application throughout software, e.g. loop optimizations in optimizing compilers [2, 3, 11, 14, 46], interactive systems like editors [6, 13, 43] and programming environments [5, 9, 13, 19, 24, 25, 41, 42] dynamic systems like distributed databases [10, 29] and real time systems [48] and image processing [49, 51, 53, 54] Incremental Computation. Given a program f and an input change ....

....results used in computing the output f(x) also need to be maintained for efficient incremental computation of f(x Phi y) Moreover, certain auxiliary information about x may need to be discovered and maintained as well. Numerous techniques for incremental computation have been developed, e.g. [3, 4, 16, 20, 21, 24, 31, 36, 38, 40, 43, 44, 47, 52]. In [31] we give a systematic transformational approach for deriving an incremental program f from a given program f and an input change Phi. The basic idea is to identify in the computation of f(x Phi y) those subcomputations that are also performed in the computation of f(x) and whose ....

[Article contains additional citation context not shown here]

F. E. Allen, J. Cocke, and K. Kennedy. Reduction of operator strength. In S. Muchnick and N. Jones, editors, Program Flow Analysis, pages 79--101. Prentice-Hall, Englewood Cliffs, New Jersey, 1981.


Operator Strength Reduction - Cooper, Simpson, Vick (1995)   (3 citations)  (Correct)

....technique can significantly reduce the execution time of loops that contain array references. This paper presents an algorithm for performing strength reduction on the static single assignment (ssa) form of a procedure [20] It improves upon an earlier algorithm due to Allen, Cocke, and Kennedy [2]. Because our algorithm takes advantage of the properties of ssa form, it has several advantages over that technique: 1) it is far simpler to understand and to implement, 2) it reuses the dominator tree from the ssa construction rather than performing its own control flow analysis in a separate ....

....The classic example replaces certain multiplications inside a loop with equivalent additions. This case arises routinely in loop based array address calculations, and many other operations can be reduced in this manner. Allen, Cocke, and Kennedy provide a detailed catalog of such reductions [2]. This paper presents a new algorithm for performing strength reduction that improves upon the classic Allen, Cocke, and Kennedy algorithm (ack) 2] By assuming some specific prior optimizations and operating on the ssa form of the procedure [20] we have derived a method that 1. is simple to ....

[Article contains additional citation context not shown here]

F. E. Allen, J. Cocke, and K. Kennedy. Reduction of operator strength. In S. S. Muchnick and N. D. Jones, editors, Program Flow Analysis: Theory and Applications. Prentice-Hall, 1981. 16


Strength Reduction of Integer Division and Modulo Operations - Sheldon   (Correct)

.... on such tasks as transforming stand alone operations, such as multiplications by powers of two, into lighter bitwise operations or transforming operations involving loop indexes such as converting repeated multiplications by a loop index to an addition based on the previous iteration s value[1]. Compilers have long supported optimizing modulo and division operations into bitwise operations when working with known power of two denominators. They are also capable of introducing more complicated expressions of bitshifts and subtractions to handle non power of two, but still constant, ....

Frances E. Allen, John Cocke, and Ken Kennedy. Reduction of operator strength. In Steven S. Muchnick and Neil D. Jones, editors, Program Flow Analysis: Theory and Applications, chapter 3. Englewood Cli s, N.J.: Prentice-Hall, 1981.


An Efficient Algorithm for Pointer-to-Array Access.. - van Engelen, Gallivan (2001)   (3 citations)  (Correct)

....details are given. In [21] we introduced a novel method for induction variable recognition as part of an algorithm for induction variable substitution. This earlier work forms the basis of our pointer based code analysis and conversion method. In general, loop induction variable recognition [1, 2, 18, 23, 27] is essential for most loop restructuring transformations. Many ad hoc compiler analysis methods exist that are capable of recognizing linear induction variables, see e.g. 1, 2, 18, 23, 27] These ad hoc techniques fall short of recognizing Generalized Induction Variables (GIVs) with values that ....

....of our pointer based code analysis and conversion method. In general, loop induction variable recognition [1, 2, 18, 23, 27] is essential for most loop restructuring transformations. Many ad hoc compiler analysis methods exist that are capable of recognizing linear induction variables, see e.g. [1, 2, 18, 23, 27]. These ad hoc techniques fall short of recognizing Generalized Induction Variables (GIVs) with values that form polynomial and geometric progressions through loop iterations [4, 10, 11, 14, 15, 22] GIV recognition is an important analysis technique for compilers in general [16, 19, 22] In ....

[Article contains additional citation context not shown here]

F. Allen, J. Cocke, and K. Kennedy. Reduction of operator strength. In S. Muchnick and N. Jones, editors, Program Flow Analysis, pages 79--101, New-Jersey, 1981. PrenticeHall.


Automatic Generation Of Data-Flow Analyzers: A Tool For Building.. - Tjiang (1993)   (5 citations)  (Correct)

....more complex expressions. It can deal with affine expressions where the coefficients are variables that are loop constants. It can replace other expensive operations exponentiations with multiplications, for example. For a comprehensive discussion of strength reduction, see Allen and Cocke [6]. The SUIF optimizer uses a restricted form of strength reduction that operates only on affine expressions whose coefficients are constants. This restricted form is sufficient for I pp O pp O pp B u ( B u ( B u ( B u ( B u ( O pp I pp v ( O pp u ( B v ( I pp u ( ....

F. E. Allen, J. Cocke, and K. Kennedy. Reduction of Operator Strength. In S. S. Muchnick and N. D. Jones, Ed., Program Flow Analysis: Theory and Applications, Prentice-Hall 1981, pp. 79-101.


Efficient Symbolic Analysis for Optimizing Compilers - van Engelen   (Correct)

....order for compilers to effectively transform and optimize loops. Because most of the execution time of an application is spend in loops, restructuring compilers attempt to aggressively optimize loops. To this end, many ad hoc techniques have been developed for loop induction variable recognition [1, 2, 13, 20, 22] for loop restructuring transformations such as generalized loop strength reduction, loop parallelization by induction variable substitution (the reverse of strength reduction) and loop invariant expression elimination (code motion) However, these ad hoc techniques fall short of recognizing ....

....to related work. Section 3 presents our generalized induction variable recognition method. Results are given in Section 4. Section 5 summarizes our conclusions. 2 Related Work Many ad hoc compiler analysis methods exist that are capable of recognizing linear induction variables, see e.g. [1, 2, 13, 20, 22]. Haghighat s symbolic differencing method [10] recognizes generalized induction variables [3, 7, 8, 11, 19] that form polynomial and geometric progressions through loop iterations. More formally, a GIV is characterized by its function defined by (n) n) r a n (1) where n is the loop ....

F. Allen, J. Cocke, and K. Kennedy. Reduction of operator strength. In S. Munchnick and N. Jones, editors, Program Flow Analysis, pages 79--101, New-Jersey, 1981. Prentice-Hall.


Strengthening Invariants for Efficient Computation - Liu, Stoller, Teitelbaum (2001)   (Correct)

....1996. 1 Corresponding author. E mail: liu cs.sunysb.edu Preprint submitted to Elsevier Preprint 6 September 2000 computation relies on e ective use of state, i.e. computing the result of each iteration incrementally using stored results of previous iterations. This is why strength reduction [3], nite di erencing [64] and related techniques are crucial for performance. Given a program f and an input change operation , a program f 0 that computes f(x y) eciently by using the result of the previous computation of f(x) is called an incremental version of f under . Often, ....

....a sequence of inputs that di er only slightly from one another, making use of the previously computed output in computing a new output, instead of computing the new output from scratch. Incremental computation is a fundamental issue relevant throughout computer software, e.g. optimizing compilers [2,3,17,23,78], transformational program development [8,20,62,65,77] and interactive systems [5,6,10,22,33,41,71,72] Numerous techniques for incremental computation have been developed, e.g. 3,4,25,34 36,56,64,68,70,73,76,79,86] Strengthening invariants for incrementalization. We are engaged in an ....

[Article contains additional citation context not shown here]

F. E. Allen, J. Cocke, and K. Kennedy. Reduction of operator strength. In S. S. Muchnick and N. D. Jones, editors, Program Flow Analysis, pages 79-101. Prentice-Hall, Englewood Cli s, N.J., 1981.


Garbage Collection and Other Optimizations - Chase (1987)   (6 citations)  (Correct)

....P # (1) t (n) # P n (1) for x = 1 to 100 . t . t # t t # t # # t # t ## . t (n 1) # t (n 1) t (n) Allen, Cocke and Kennedy give an algorithm for performing reduction in strength on a simple intermediate code that can reduce polynomials in this way [ACK81] 14 2.3.4 Loop invariant code motion Loop invariant code motion attempts to find expressions or code whose results do not change during a given execution of the loop. This is an important optimization because any improvements are multiplied by the number of times the loop is executed. The ....

F. E. Allen, John Cocke, and Ken Kennedy. Reduction of operator strength. In Steven S. Muchnick and Neil D. Jones, editors, Program Flow Analysis: Theory and Applications, pages 79--101. Prentice-Hall, 1981.


Extracting the Parallelism in Program with non-structured.. - Fubo Zhang And   (Correct)

....in this paper only while loops of which the control variables are determined by recurrence relations are considered. Classical compiler optimizations, such as the strength reduction technique, can be inversely used to represent a basic induction variable as a linear function of the loop counter [1, 2]. For instance, i = i 1 is expressed as i = i 0 k. Where i 0 is the initial value of i and k is the loop counter. M. Wolfe [22] eliminates uncoupled non linear induction variables by expressing them as polynomial and geometric functions of the loop counter. Normally, uncoupled induction ....

Allen, F. E., and Cocke, J., and Kennedy K., Reduction in operator strength. In Steven S. Muchnick and Neil D. Jones, editors, Program FLow Analysis, pp. 79-101. Prentice-Hall, Englewood Cliffs, NJ, 1981.


Access Normalization: Loop Restructuring for NUMA Compilers - Li, Pingali (1992)   (34 citations)  (Correct)

....index, is shown below. for i = 1, 3 A[2 i] i for u = 2,6,2 A[u] u 2 (a) original code (b) loop scaling This transformation may introduce integer divisions, as is shown in the example, but these operations can be strength reduced and replaced with additions and conditional move operations [2]. The required conditional move operations can be implemented without branch instructions on modern processors like the DEC Alpha [9] Like skewing or reversal, loop scaling is not particularly interesting in isolation, but combined with the other transformations, it lets us do wholesale loop ....

F. Allen, J. Cocke, and K. Kennedy. Reduction of Operator Strength, pages 79--101. Prentice-Hall, 1981.


Symbolic Evaluation of Chains of Recurrences for Loop Optimization - van Engelen (2000)   (Correct)

....recurrences (CRs) 6] The CR based loop analysis method can be applied in the areas of ffl Program optimization. The CR framework is a firm algebraic basis for loop analysis and optimization that generalizes ad hoc compiler optimization techniques related to loop induction variable recognition [1, 2, 14, 21]. Furthermore, CR based loop analysis and optimization is 1 more powerful compared to the automatic differencing method of Haghighat [12] currently the most powerful method known. The CR loop optimization method is simple to implement in compilers and in code generators of symbolic computing ....

....c 0 b 0 P m Gamman i=0 2 i = b 0 Gamma c 0 , where b 0 and c 0 are the initial values of b and c at the start of the loop. 3.2. 3 Strength Reduction Strength reduction optimization is a technique that substitutes expensive operations by semantically equivalent faster to evaluate operations [1, 2]. The CR analysis method generalizes strength reduction of polynomials, exponentials, logarithms, trigonometric functions, and factorials. Strength reduction replaces the induction variables and expressions in a loop by recurrences. For each recurrence, the template Fig. 5 is used to expand the ....

F. Allen, J. Cocke, and K. Kennedy. Reduction of operator strength. In S. Munchnick and N. Jones, editors, Program Flow Analysis, pages 79--101, New-Jersey, 1981. PrenticeHall.


Multiset Discrimination - a Method for Implementing Programming .. - Cai, Paige   (Correct)

....an expression tree into a dag and the more general basic block optimization of value numbering. Hashing is involved in preprocessing for global optimizations to perform constant propagation [26] global redundant code elimination [4] and code motion [9] The best methods of strength reduction [3, 7] rely on hashed temporaries to obtain practical implementations. There are several reasons why hashing is used in these applications. Hashing has O(1) expected time performance and linear auxiliary space. The method of Universal Hashing, due to Carter and Wegman [6] is especially desirable, ....

....by efficient construction and maintenance of the symbol table. vi) We regard the strength reduction transformation presented by Cocke and Kennedy [7] to be the most practical reduction in strength algorithm published in the literature. Although the transformation due to Allen, Cocke, and Kennedy [3] is more powerful (since it can reduce multivariate products) and analyzes control flow more deeply, this algorithm can degrade performance by introducing far too 3 many sums in order to remove nests of products (as was shown in [16] Although Knoop and Steffen s approach [13] is more ....

[Article contains additional citation context not shown here]

Allen, F. E., Cocke, J., and Kennedy, K., "Reduction of Operator Strength," in Program Flow Analysis, ed. Muchnick, S. and Jones, N., pp. 79-101, Prentice Hall, 1981.


Morton-order Matrices Deserve Compilers' Support - Wise, Frens (1999)   (3 citations)  (Correct)

....today, has been developed and (b) a technique has been found for executing its programs at not much greater cost than of today s programs. 4, p. 29] A justification for this requirement is provided by his description of what later came to be called strength reduction discussed below [4, p. 34][1]. In contrast to this wisdom is the fact that even FORTRAN compilers do not now deliver the relative performance that Backus envisioned. Supercomputing depends on libraries like BLAS3 [16] which are often hand coded by the manufacturer to deliver the performance that sells its big iron. Current ....

....is made, however, various induction variable optimizations could be threatened. The most important of these is strength reduction, by which slower operations within a loop are transmogrified to faster ones. Allen et al. catalog ten opportunities for strength reduction accelerating a loop [1]. Of the ten, seven depend only on addition, subtraction, and branching as provided in Section 3.1. The other three occur more rarely (exponentiation, trig functions, and continuously differentiable functions) Even as integers are translated into dilated notation, therefore, the reductions that ....

F. E. Allen, J. Cocke, & K. Kennedy. Reduction of operator strength. In S. W. Muchnick & N. D. Jones (eds.) Program Flow Analysis: Theory and Applications Englewood Cliffs, NJ: Prentice-Hall (1981), 79--101.


Efficient Computation via Incremental Computation - Liu (1999)   (Correct)

....many methods for program efficiency improvement in optimizing compilers, transformational programming, and programming methodology do derive efficient incremental programs and use them in computing each iteration of an overall computation. Examples are strength reduction in optimizing compilers [17, 5], finite differencing in transformational programming [61, 79] and maintaining loop invariance in programming methodology [21, 35] It is easy to see that methods in this class have the potential to be most general and powerful. Our work falls into the third category. The principles of our ....

....[21, 35] It is easy to see that methods in this class have the potential to be most general and powerful. Our work falls into the third category. The principles of our approach are essentially the same as those underlying the work by Allen, Cocke, Kennedy, and others on strength reduction [4, 17, 34, 16, 5, 59, 42], by Earley on high level iterators [22] by Fong and Ullman 3 on inductive variables [28, 26, 27] by Paige, Schwartz, and Koenig on finite differencing [57, 61, 58] by Dijkstra, Gries, and Reynolds [21, 35, 74, 36] on maintaining and strengthening loop invariants, by Boyle, Moore, Manna, and ....

F. E. Allen, J. Cocke, and K. Kennedy. Reduction of operator strength. In S. S. Muchnick and N. D. Jones, editors, Program Flow Analysis, pages 79--101. Prentice-Hall, Englewood Cliffs, N.J., 1981.


Beyond Induction Variables: Detecting and Classifying.. - Gerlek, Stoltz, Wolfe (1995)   (62 citations)  (Correct)

....the most common candidates for this optimization, and therefore the most important induction variable candidates, are 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, Burke, 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 the ACM SIGPLAN Conference on Programming Language Design and Implementation (June 1992) ....

....: g; n 1)h n 1 k = f2 n; 3 2n; 4 3n; g; n 1)h n 2 l = f8 t; 16 t; 24 t; g; 8h t 8 The variable i is a basic linear IV: its initial value within the loop is 2, and on each subsequent iteration it is incremented by 2. The variables j and k are mutual IVs [Allen, Cocke, and Kennedy 1981], since they are defined in terms of each other: j and k have initial values of n 1 and n 2, respectively, and both are incremented by the loop invariant value n 1 on each subsequent iteration. The variable l is not incremented on each iteration but since it is assigned a linear function of ....

[Article contains additional citation context not shown here]

Allen, F. E., Cocke, J., and Kennedy, K. 1981. Reduction in operator strength. In S. S. Muchnick and N. D. Jones (Eds.), Program Flow Analysis, pp. 79--101. Englewood Cliffs, NJ: Prentice-Hall.


Automatic Translation of FORTRAN Programs to Vector Form - Allen, Kennedy (1987)   (218 citations)  Self-citation (Allen Kennedy)   (Correct)

....an assignment updates the value of KI by the aggregate total of all increments in the loop. Note that since it attempts to replace simple additions with multiplications, induction variable substitution is, in a sense, an inverse of the classical optimization technique operator strength reduction [2, 8]. The final transformation in preparation for dependence testing is expression folding, which substitutes integer expressions and constants forward into ACM Transactions on Programming Languages and Systems, Vol. 9, No. 4, October 1987. subscripts, with simplification where possible. The result ....

ALLEN, F. E., COCKE, J., AND KENNEDY, K. Reduction of operator strength. In Program Flow Analysis: Theory and Applications, N. D. Jones and S.S. Muchnick, Eds. Prentice-Hall, Englewood Cliffs, N.J., 1981.


Compiling Java for High Performance and the Internet - Budimlic (2001)   Self-citation (Kennedy)   (Correct)

....to their effects on procedural programs, once the techniques proposed in this thesis transform object oriented programs into a style similar to old procedural programs. Code motion techniques, such as loop invariant code motion [4, 33] partial redundancy elimination [60] and strength reduction [8] play an important role in every optimizing compiler. They require special attention when adopted for Java. The exception hiding transformation described in this thesis enables implementation of these techniques, although in somewhat limited form. The performance improvements due to these ....

Fren E. Allen, John Cocke, and Ken Kennedy. Reduction of operator strength. In Program Flow Analysis: Theory and Applications. Prentice-Hall, 1972.


Telescoping Languages: A Compiler Strategy for Implementation of.. - Kennedy (2000)   (15 citations)  Self-citation (Kennedy)   (Correct)

....of call. For example, if remote data lookups are invoked on a series of keywords, the keywords could be saved in an array and a request for lookup for all of them could be submitted in a single remote invocation effecting a database analog of the classical reduction in strength optimization [1]. This coalesced remote request is likely to perform much better in most distributed environments. Protection of Source Code. The telescoping languages strategy also answers another common question, namely: How can proprietary library source code be protected A library developer should have ....

....entry point. However, a compiler could recognize that the loop is accessing successive elements in a column of A and call the (presumably faster) entry that provides contiguous portions of a single column. This is a direct analog of the conventional optimization known as reduction in strength[1]. Such a mechanism could be used to add two different new distributions that have been proposed since the final version of the HPF standard was adopted: Space Filling Curves. A number of researchers have experimented with Hilbert curves also known as space filling curves for distribution ....

F. E. Allen, J. Cocke, and K. Kennedy. Reduction of operator strength. In S. S. Muchnick and N. D. Jones, editors, Program Flow Analysis: Theory and Application, pages 79-- 101. Prentice-Hall, New Jersey, 1981.


Strength Reduction via SSAPRE - Robert Kennedy Fred (1998)   (5 citations)  Self-citation (Kennedy)   (Correct)

....variables. There are mainly two families of methods to perform strength reduction in an optimizing compiler. The first family treats strength reduction as a loop optimization problem that requires explicit detection of induction variables, and implements the technique as a stand alone algorithm [CK77, ACK81, CP91, CSV95]. The second family effects strength reduction by data flow analysis in the context of partial redundancy elimination [JD82, Cho83, Dha89, KRS93] The method described in this paper falls in the second family. Partial redundancy elimination (PRE) is a powerful optimization technique first ....

....coverage because it accumulates incremental updates within regions separated by F s, which are at least as large as, and often larger than extended basic blocks. The first family of strength reduction techniques is represented by the classic algorithm by Allen, Cocke and Kennedy, presented in [ACK81] and [CK77] Researchers at Rice University improved on this algorithm by applying techniques that take advantage of an SSA representation of the program. The method presented in this paper shares the characteristics with these algorithms in processing one expression at a time, though we operate ....

[Article contains additional citation context not shown here]

Allen, F., Cocke, J. and Kennedy, K. Reduction of Operator Strength, in Muchnick, S. and Jones, N. (editors) Program Flow Analysis: Theory and Applications, Prentice Hall, 1981, pp. 79-101.


Access Normalization: Loop Restructuring for NUMA Computers - Li, Pingali (1993)   (34 citations)  (Correct)

No context found.

F. Allen, J. Cocke, and K. Kennedy. Reduction of Operator Strength, pages 79--101. Prentice-Hall, 1981.


Access Normalization: Loop Restructuring for NUMA Compilers - Li, Pingali (1992)   (34 citations)  (Correct)

No context found.

F. Allen, J. Cocke, and K. Kennedy. Reduction of Operator Strength, pages 79--101. Prentice-Hall, 1981.


The Opie Compiler: from Row-major Source to Morton-ordered.. - Gabriel, Wise (2004)   (Correct)

No context found.

Allen, F.E., Cocke, J., Kennedy,K.: Reduction of operator strength. In Muchnick, S.W., Jones, N.D., eds.: Program Flow Analysis: Theory and Applications. Prentice-Hall, Englewood Cliffs, NJ (1981) 79--101.


Efficient Computation via Incremental Computation - Yanhong Liu July   (Correct)

No context found.

F. E. Allen, J. Cocke, and K. Kennedy. Reduction of operator strength. In S. S. Muchnick and N. D. Jones, editors, Program Flow Analysis, pages 79--101. Prentice-Hall, Englewood Cliffs, N.J., 1981.


Using the Chains of Recurrences Algebra for Data Dependence.. - Birch (2002)   (Correct)

No context found.

Allen, F., Cocke, J., and Kennedy, K. Reduction of operator strength. In Program Flow Analysis: Theory and Applications, S. Muchnick and N. Jones, Eds. Prentice-Hall Inc. Englewood Cli#s New Jersey, 1981, ch. 3, pp. 79--101.


Value Numbering - Briggs, COOPER, SIMPSON (1997)   (4 citations)  (Correct)

No context found.

Frances E. Allen, John Cocke, and Ken Kennedy, `Reduction of operator strength', in Steven S. Muchnick and Neil D. Jones (eds.), Program Flow Analysis: Theory and Applications, Prentice-Hall, 1981.

First 50 documents  Next 50

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC