| F. Chow, S. Chan, R. Kennedy, et al. A new algorithm for partial redundancy elimination based on SSA form. In Proc. of SIGPLAN '97 Conf. on Programming Language Design and Implementation (PLDI), May 1997. |
....that the work by Knobe and Sarkar is, in our mind, complementary, since they prefer a robust safety net to more elaborate methods. How to use an instance wise reaching definition analysis to improve array SSA has been described in this paper. Other Work on SSA and Privatization Chow et al. [9] proposed an algorithm to derive (scalar) SSA without involving iterative dataflow analysis nor bit vectors. Interestingly enough, the same holds for our algorithm for Array SA. The Array SA we presented takes benefit of structured control flow, and is therefore related to the work by Brandis and ....
F. Chow, S. Chan, R. Kennedy, S.-M. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on ssa form. In ACM SIGPLAN Conf on Prog. Lang. Design and Implem. (PLDI), pages 273--286, Las Vegas, Nevada, June 1997.
....later sections of this paper. A primary objective of scalar optimizations is to minimize the number of computations and the number of references to memory. Scalar optimizations achieve this objective by a natural extension to a well known optimization, called partial redundancy elimination (PRE) [1,2,11], which minimizes the number of times an expression is evaluated. We have extended the PRE of the IA 64 compiler to eliminate both redundant computations and redundant loads of the same or known values. Moreover, the extended PRE uses control and data speculation to increase the number of loads ....
....the loop in Figure 14 has three memory operations per iteration. By using load pair operations, the number of memory references can be reduced to two per iteration. SCALAR OPTIMIZATIONS the number of computations and the number of references to memory. Partial redundancy elimination (PRE) [1, 2, 11] is a well known scalar optimization technique that subsumes global common subexpression elimination (CSE) and loop invariant code motion. CSE removes expressions that are always redundant (redundant on all control flow paths) PRE goes beyond CSE by attempting to remove redundancies that occur ....
F. Chow, S. Chan, R. Kennedy, S. Liu, R. Lo, and P. Tu, "A new algorithm for partial redundancy elimination based on SSA form," in Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, June 1997, pp. 273-286.
....values rather than array values. While McKinley and Temam do not report the percentage of references that are inserted by the register allocator, we do know that every spill is a scalar reference. Other papers have addressed the issue of reducing the cost of programmer inserted scalar references [8, 9]. In this paper, we address the issue of reducing the cost of compiler inserted scalar references. In some ways, these compiler inserted references are more insidious. Since spills are inserted in the final stages of compilation, the earlier transformations cannot see them, analyze them, plan for ....
Fred Chow, Sun Chan, Robert Kennedy, Shin-Ming Liu, Raymond Lo, and Peng Tu. A new algorithm for partial redundancy elimination based on ssa form. SIGPLAN Notices, 32(6):273--286, June 1997. Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation.
.... since be come the canonical SSA paper [10] Johnson and Pingall [20] trace the development of SSA form back to Shapiro and Saint in [37] while Havlak [17] views qb functions as descendants of the birthpoints introduced in [34] Despite industry adoption of SSA form in production compilers [8, 9], academic research into alternative representations continues. Recent pro posals have included Value Dependence Graphs [45] Program Dependence Webs [5] the Program Structure Tree [19] DJ graphs [39] and Depedence Flow Graphs [20] In comparison to these representations, the dominant ....
....as a set of simultaneous equations, without resort to graph information. It is simple. A bestiary of new qb like functions have been introduced in the past decade, including , and rl functions in [5, 43] b and functions in [24] interprocedural qb functions in [26] and x functions in [9], and rl functions in [14] and A functions in [27] among others. Some of these are orthogonal to our work the techniques of [24] can be used to extend SSI form to explicitly parallel source languages, and those of [9] to languages with local variable aliasing (absent in Java) Our goal is to ....
[Article contains additional citation context not shown here]
F. Chow, S. Chan, R. Kennedy, S. Liu, R. Lo, and P. Tu. A new algo- rithm for partial redundancy elimination based on SSA form. In Pro- ceedings of the ACM SICPLAN '97 Conference on Programming Language Design and Implementation (PLDI), pages 273-286, Las Vegas, Nevada, May 1997.
.... has since become the canonical SSA paper [10] Johnson and Pingali [20] trace the development of SSA form back to Shapiro and Saint in [37] while Havlak [17] views OE functions as descendants of the birthpoints introduced in [34] Despite industry adoption of SSA form in production compilers [8, 9], academic research into alternative representations continues. Recent proposals have included Value Dependence Graphs [45] Program Dependence Webs [5] the Program Structure Tree [19] DJ graphs [39] and Depedence Flow Graphs [20] In comparison to these representations, the dominant ....
F. Chow, S. Chan, R. Kennedy, S. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on SSA form. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation (PLDI), pages 273--286, Las Vegas, Nevada, May 1997.
....in the two compilers we found employing SSA, neither made further use of the iterated dominance frontier information. Some optimizations necessitate the re generation of minimal SSA form. For example, re minimization is required in the SSA based partial redundancy elimination algorithm of [8], for which they suggest re running the insertion algorithm. Other optimizations may force SSA re generation by changing the structure of the control ow graph. Our algorithm may be useful in these situations. 8 Conclusions We have presented a new, simple method of generating SSA form which ....
F. Chow, S. Chan, R. Kennedy, S.-M. Liu, R. Lo, and P. Tu. A New Algorithm for Partial Redundancy Elimination based on SSA Form. ACM PLDI '97, pp. 273-286.
....as shown in Figure 1. The SGI MIPSpro compiler is an industrystrength highly optimizing compiler. It implements a broad range of optimizations, including interprocedural analysis and optimization (IPA) loop nest optimization and parallelization (LNO) 18] and SSA based global optimization (WOPT) [2, 11] at high level. It also has an efficient backend including software pipelining, integrated global and local scheduler(IGLS) 12] and efficient global and register allocators (GRA and LRA) 3] The legality of loop nest optimizations listed in Section 2 depends on dependence analysis [20] The SGI ....
Fred Chow, Sun Chan, Robert Kennedy, ShinMing Liu, Raymond Lo, and Peng Tu. A new algorithm for partial redundancy elimination 12-6 based on SSA form. In Proc. of the ACM SIGPLAN '97 Conf. on Programming Language Design and Implementation, pages 273--286, Las Vegas, Nev., Jun. 15--18,
....as shown in Figure 1. The SGI MIPSpro compiler is an industrystrength highly optimizing compiler. It implements a broad range of optimizations, including interprocedural analysis and optimization (IPA) loop nest optimization and parallelization (LNO) 18] and SSA based global optimization (WOPT) [2, 11] at high level. It also has an efficient backend including software pipelining, integrated global and local scheduler(IGLS) 12] and efficient global and register allocators (GRA and LRA) 3] The legality of loop nest optimizations listed in Section 2 depends on dependence analysis [20] The SGI ....
Fred Chow, Sun Chan, Robert Kennedy, ShinMing Liu, Raymond Lo, and Peng Tu. A new algorithm for partial redundancy elimination 12-6 based on SSA form. In Proc. of the ACM SIGPLAN '97 Conf. on Programming Language Design and Implementation, pages 273--286, Las Vegas, Nev., Jun. 15--18,
....invalid. We also mention some issues in bidirectional data flow analysis which need to be investigated. 1 Background Language processing tools have employed various combinations of forward and backward data flow dependencies for a variety of purposes viz. Partial Redundancy Elimination (PRE) [5, 9, 22, 44, 47, 54] and related optimizations [6, 16, 39, 53] Code Hoisting and Strength Reduction [15, 17, 21, 26, 29, 30, 36] Live Range Characterisation and Register Assignment [14, 41] Dead Code Elimination [4, 38] Communication Placement [25, 27] Shrink Wrapping of Procedure Calls [8] ....
F. C. Chow, S. Chan, R. Kennedy, S. M. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on SSA form. In Proceesings of ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, pages 273--286, 1997. Also Published as SIGPLAN Notices, 32(5).
....2001 John Wiley Sons, Ltd. Softw. Pract. Exper. 2001; 31:577 600 584 A. L. HOSKING et al. optimizations such as dead code elimination and copy constant propagation, and SSA based value numbering [11] as well as type based alias analysis [2] and the SSA based algorithm for PRE of Chow et al. [12]. SSA form SSA form provides a concise representation of the use definition relationships among the program variables. Efficient global optimizations can be constructed based on this form, including dead store elimination [8] constant propagation [13] value numbering [11,14 17] induction ....
....value numbering [11,14 17] induction variable analysis [18] and global code motion [19] Optimization algorithms based on SSA all exploit its sparse representation for improved speed and simpler coding of combined local and global optimizations. SSA based PRE Prior to the work of Chow et al. [12], PRE lacked an SSA based formulation. As such, optimizers that used SSA were forced to convert to a bit vector representation for PRE and back to SSA for subsequent SSA based optimizations. Chow et al. 12] removed this impediment with an approach (SSAPRE) that retains the SSA representation ....
[Article contains additional citation context not shown here]
Chow F, Chan S, Kennedy R, Liu S-M, Lo R, Tu P. A new algorithm for partial redundancy elimination based on SSA form. Proceedings of the ACM Conference on Programming Language Design and Implementation, Las Vegas, Nevada, June 1997. ACM SIGPLAN Notices 1997; 32(5):273--286.
....Fortran, C, and C on MIPS processors. It implements a broad range of optimizations, including inter procedural analysis and optimization, loop nest rearrangement and parallelization, SSA based global optimization, software pipelining, global and local scheduling, and global register allocation [3, 9, 16]. We performed our experiments on an SGI Onyx machine with a 195 MHz MIPS R10000 processor, 32 KB, two way associative, non blocking, primary Execution Time Performance Improvement Benchmark No No Prof. With Prof. No Prof. With Prof. Prefetch Analysis Analysis Analysis Analysis 181.mcf 3,396 ....
F. Chow, S. Chan, R. Kennedy, S-M Liu, R. Lo, and Peng Tu. A new algorithm for partial redundancy elimination based on SSA form. In International Conference on Programming Languages Design and Implementation, pages 273 - 286, 1997.
....any elimination of redundant loads carried out by these systems is limited to fairly simple load removal. Load redundancy elimination can be seen as a particular case of Partial Redundancy Elimination (PRE) where the expressions to be considered for removing are only load operations. PRE [16, 8] is a well known scalar optimization that subsumes various ad hoc code motion optimizations (as common subexpression elimination and loop invariant code motion) by attempting to remove redundancies that occur only on some control flow paths. Horspool and Ho [14] described a new formulation of PRE ....
F. Chow, S. Chan, R. Kennedy, S.-M. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on SSA from. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, pages 273--286, Las Vegas, Nevada, June 15-- 18 1997.
....location, the computation performed by the expression must be stored in a temporary variable created by the compiler. The original expression is then replaced by the temporary variable. This is the same substitution performed by common sub expression and partial redundancy elimination algorithms [1, 3]. 3. Contrary to the case with statements and control structures, expressions can only be moved against the flow of control. The reason is that the value computed by the expression needs to be available at the statement containing the original expression. Algorithm 2 Lock Independent Code Motion ....
....lock and unlock nodes of BL i (N) 39: end if 40: end for 41: end for Algorithm 3 finds and removes lock independent expressions from mutex bodies in the program. The process of gathering candidate expressions is similar to that of SSAPRE, an SSA based partial redundancy elimination algorithm [3]. Mutex bodies are scanned for lock independent first order expressions, which are expressions that contain only one operator. Higher order expressions are handled by successive iterations of the algorithm. Algorithm 3 Lock Independent Code Motion for Expressions (LICME) INPUT: A CCFG in CSSAME ....
F. Chow, S. Chan, R. Kennedy, S.-M. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on SSA form. In ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, Las Vegas, 1997.
....of the first evaluation of a redundant expression in a temporary, which can then be reused at subsequent occurrences of the redundant expression instead of recomputing it. A similar situation holds for variations on this theme, such as partial redundancy elimination (PRE) Morel and Renvoise 1979; Chow et al. 1997]. Moreover, commonly used intermediate representations for optimizing compilers, such as static single assignment form (SSA) Cytron et al. 1991; Stolz et al. 1994; Gerlek et al. 1995; Wolfe 1996; Chow et al. 1997; Briggs et al. 1998; Hasti and Horwitz 1998; Sastry and Ju 1998] also assume that ....
.... this theme, such as partial redundancy elimination (PRE) Morel and Renvoise 1979; Chow et al. 1997] Moreover, commonly used intermediate representations for optimizing compilers, such as static single assignment form (SSA) Cytron et al. 1991; Stolz et al. 1994; Gerlek et al. 1995; Wolfe 1996; Chow et al. 1997; Briggs et al. 1998; Hasti and Horwitz 1998; Sastry and Ju 1998] also assume that temporaries can be freely created, with lifetimes that do not conform to a last defined first used stack protocol. Generating stack based code from such intermediate representations requires effort to avoid ....
[Article contains additional citation context not shown here]
CHOW, F., CHAN, S., KENNEDY, R., LIU, S.-M., LO, R., AND TU, P. 1997. A new algorithm for partial redundancy elimination based on SSA form. In Proceedings of the ACM Conference on Programming Language Design and Implementation (Las Vegas, Nevada, June). ACM SIGPLAN Notices 32, 5 (May), 273--286.
No context found.
F. Chow, S. Chan, R. Kennedy, S. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on SSA form. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, pages 273--286, June 1997.
....introduction to the problem of partial redundancy elimination and to classical methods for its solution. Each of the above approaches to PRE is based on a bit vector formulation of the problem, and on the iterative solution of data flow equations. This paper presents a new approach called SSAPRE [Chow et al. 1997] that shares the optimality properties of the best prior work [Knoop et al. 1992; Knoop et al. 1994; Drechsler and Stadel 1993] and that is based on static single assignment form. Static single assignment form (SSA) is a popular program representation in modern optimizing compilers. Its ....
....pleasing given that SSAPRE replaces both the solution of data flow equations and the initialization of the local data flow attributes in bit vector based PRE. 7. MEASUREMENTS In this section, we repeat the compile time performance measurements for the SPECint95 and SPECfp95 benchmark suites from [Chow et al. 1997] and the related discussion contrasting the compilation efficiencies between a bit vector based implementation of PRE and an implementation of SSAPRE. Then we offer another perspective on the compilation efficiency of SSAPRE by presenting statistical data that characterize the partial redundancy ....
Chow, F., Chan, S., Kennedy, R., Liu, S., Lo, R., and Tu, P. 1997. A new algorithm for partial redundancy elimination based on SSA form. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation. 273--286.
No context found.
Chow, F., Chan, S., Kennedy, R., Liu, S., Lo, R. and Tu, P. A New Algorithm for Partial Redundancy Elimination based on SSA Form. Proceedings of the SIGPLAN `97 Conference on Programming Language Design and Implementation, June 1997, pp. 273-286.
No context found.
F. Chow, S. Chan, R. Kennedy, et al. A new algorithm for partial redundancy elimination based on SSA form. In Proc. of SIGPLAN '97 Conf. on Programming Language Design and Implementation (PLDI), May 1997.
No context found.
F. Chow, S. Chan, R. Kennedy, S. Liu, R. Lo, and P. Tu, "A new algorithm for partial redundancy elimination based on SSA form," in Proc. of ACM Conf. on Programming Language Design and Implementation (SIGPLAN), pp. 273-286, Jun. 1997.
No context found.
Fred Chow, Sun Chan, Robert Kennedy, Shin-Ming Liu, Raymond Lo, and Peng Tu. A new algorithm for partial redundancy elimination based on ssa form. In Proceedings of the 1997.
No context found.
F. Chow, S. Chan, R. Kennedy, S. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on SSA form. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation (PLDI), pages 273-286, Las Vegas, Nevada, May 1997.
No context found.
F. Chow, S. Chan, R. Kennedy, S.-M. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on SSA form. In Proceedings of the ACM SIGPLAN '97 Conf. on Prog. Language Design and Impl., pages 273--286, June 1997.
No context found.
F. Chow, S. Chan, R. Kennedy, S.-M. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on SSA form. In Proc. of SIGPLAN 97 Conference on Program- ming Language Deisng and Implementation, pages 273--286, May 1997.
No context found.
F. Chow, S. Chan, R. Kennedy, S.-M. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on SSA form. In Proceedings of the ACM SIGPLAN '97 Conf. on Prog. Language Design and Impl., pages 273--286, June 1997.
No context found.
F. Chow, S. Chan, R. Kennedy, S.-M. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on SSA form. In Proceedings of the ACM SIGPLAN '97 Conf. on Prog. Language Design and Impl., pages 273--286, June 1997.
First 50 documents
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