29 citations found. Retrieving documents...
C. Click and K. D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181 { 196, 1995.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
VISTA: A System for Interactive Code Improvement - Zhao, Cai, Whalley, Bailey.. (2002)   (2 citations)  (Correct)

.... generators use run time profiles to perform code improvements on the most frequent sections of the code before the less frequently executed sections [23] Genetic algorithms have been used to experiment with different orders of applying code improvement phases in an attempt to reduce code size [9, 10]. Iterative compilation techniques have been used to determine good phase orderings for specific programs [18] and values for optimization parameters such as loop unroll factors and blocking sizes [17] In contrast, vista allows a user to interactively specify the order and scope in which code ....

Cliff Click and Keith D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, 1995.


Turning Java into Hardware: Caffinated Compiler Construction - Ananian (2002)   (1 citation)  (Correct)

....analysis possible. The necessary analysis has much in common with the Wegman and Zadeck s Sparse Conditional Constant optimization [16] where the constants being propagated can be imagined as constant pointers to class instances. Cliff Click s work on combining optimizations is instructive [7]: the best extended type analysis is possible only in conjunction with standard constant propagation and dead code analysis. The algorithm for this analysis pass will probably be based on Click s optimistic analysis described in [6] The extended type analysis pass should produce a call graph and ....

C. Click and K. D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, Mar. 1995.


Composing Dataflow Analyses and Transformations - Lerner, Grove, Chambers (2001)   (3 citations)  (Correct)

....explicit code to exploit the beneficial interactions. For example, each of Wegman and Zadeck s conditional constant propagation algorithms [28, 29] is a specialpurpose monolithic super analysis that simultaneously performs constant propagation and unreachable code elimination. Click and Cooper [9] provide a lattice theoretic explanation of conditional constant propagation with special flow functions defined over the composed domain. Pioli and Hind [24] developed a monolithic analysis that combines constant propagation and pointer analysis using special combined flow functions. Chambers and ....

....address integrating transformations with analyses, nor automatically combining analyses profitably. Nelson and Oppen [23] describe how under certain conditions satisfiability programs for several theories can be combined into a satisfiability program for the combined theory. Click and Cooper [9] define formally the circumstances in which two dataflow analyses should be integrated to reach better fixed points than repeated sequences of the two analyses run separately. Cousot and Cousot [11] also point out that such interactions can arise. However, in all these cases, the composition needs ....

Cli# Click and Keith D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, March 1995.


Guaranteed Optimization: Proving Nullspace Properties of.. - Veldhuizen, Lumsdaine (2002)   (2 citations)  (Correct)

....and uses of the variables. superanalysis approach in which all analyses are performed simultaneously, followed by a single transformation step. This approach is known to be more powerful than applying individual optimizations in sequence (even iteratively) since optimizations are synergistic ([22, 1]) It also enables a proof of the nullspace property: any sequence of rule applications is undone by a single application of the optimizer. The nullspace proof is an induction over rule applications: for each rule we consider the changes made to the analysis equations, show the resulting system of ....

....4.3 Analysis equations We limit our attention to simplifying optimizations that reduce or eliminate code. Optimizations that reorder code for example, loop nest optimizations are interesting but we regard them as an orthogonal issue. We formulate the analyses as an optimistic superanalysis [22, 1]. An optimistic analysis is one that starts with the optimistic assumption of and iterates to a least xpoint. In an optimistic analysis, intermediate results during a xpoint iteration are not conservative and may not be used for transformation. We adopt the terminology of [8] in calling ....

Cli Click and Keith D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181-196, March 1995.


Guaranteed Optimization: Proving Nullspace Properties of.. - Veldhuizen, Lumsdaine (2002)   (2 citations)  (Correct)

....and uses of the variables. superanalysis approach in which all analyses are performed simultaneously, followed by a single transformation step. This approach is known to be more powerful than applying individual optimizations in sequence (even iteratively) since optimizations are synergistic ([22, 1]) It also enables a proof of the nullspace property: any sequence of rule applications is undone by a single application of the optimizer. The nullspace proof is an induction over rule applications: for each rule we consider the changes made to the analysis equations, show the resulting system of ....

....Analysis equations We limit our attention to simplifying optimizations that reduce or eliminate code. Optimizations that reorder code for example, loop nest optimizations are interesting but we regard them as an orthogonal issue. We formulate the analyses as an optimistic superanalysis [22, 1]. An optimistic analysis is one that starts with the optimistic assumption of and iterates to a least fixpoint. In an optimistic analysis, intermediate results during a fixpoint iteration are not conservative and may not be used for transformation. We adopt the terminology of [8] in calling ....

Cliff Click and Keith D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, March 1995.


On the Complexity of Constant Propagation - Müller-Olm, Rüthing   (Correct)

.... of value d at node n, then this branch can be classified unexecutable (cf. Figure 3(a) Since (must )constant propagation and the elimination of unexecutable branches mutually benefit from each other, approaches for conditional constant propagation where developed taking this e#ect into account [20, 2]. May Constants. Complementary to the must constancy problem an expression e is a may constant of value d # Z at node n if and only if # # # #n . E(e) #) d. Note that opposed to the must constancy definition here the value of the constant is given as an additional input parameter. ....

C. Click and K. D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181 -- 196, 1995.


Basic-block Graphs: Living Dinosaurs? - Knoop, Koschützki, Steffen (1997)   (Correct)

....we will use as an identifier for edges. A finite path in G is a sequence (n 1 ; n q ) of nodes such that (n j ; n j 1 ) 2 E for j 2 f1; q Gamma 1g. PG [m; n] denotes the set of all finite paths from m to n, and PG [m; n[ the set of all finite paths from m to 2 See e.g. [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 20, 21, 23, 24, 25, 26, 27, 28, 32, 33, 34]. One of the few exceptions is [22] considering edge labeled SI graphs. 4 recommended by this article Flow graph variant Basic Blocks Single Instructions Edge labeled Basic Blocks Flow Graphs most widely used Flow graph variant Node labeled Single Instructions Fig. 1: A taxonomy of ....

C. Click and K. D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181 -- 196, 1995.


Integrating Scalar Analyses And Optimizations In A Parallelizing.. - Zheng (2000)   (4 citations)  (Correct)

....hand, can also refine the analyzed result. Furthermore, performing an optimization can also expose opportunity for further optimization. These interactions make it difficult to determine an optimal ordering among the analyses and the optimizations, so called the phase ordering problem [Bin94, CC95, Cli95, WS97] To 2 achieve good results, we often have to repeat the analyses and the optimizations multiple times. Finding a way to exploit the interaction and to avoid the expensive repetition is important and challenging. In this dissertation, we present a new algorithm to improve the ....

....is to obtain high quality dataflow information for later phases in the compiler and to improve the efficiency of the compiled code. 1. 2 The Phase Ordering Problem The phase ordering problem refers to the difficulty in determining an optimal order for a group of analyses and optimizations [Bin94, CC95, Cli95, WS97] This is because the analyses and optimizations interact with each other: one analysis optimization may provide more information for another analysis optimization. To achieve a good result thus often requires repetitive analyses and optimizations. We illustrate this phase ordering ....

[Article contains additional citation context not shown here]

Cliff Click and Keith D. Cooper. Combing Analyses Combing Optimizations. ACM Transactions on Programming Languages and Systems, Vol.17, No.2, pages 181-196, March 1995.


Graphical User Interface for Compiler Optimizations with.. - Harvey, Tyson (1996)   (2 citations)  (Correct)

....avoid. Research in this area has proposed several solutions for specific transformations in which the phases are combined. A framework for describing optimizations and an example framework in which constant propagation, value numbering and unreachable code elimination are combined is presented in [7]. Combining these phases allows for more information about the program to be discovered and thus more opportunities for optimization. In [25] register allocation and instruction scheduling are combined. A heuristic algorithm is used in which weights are used for controlling register pressure and ....

Cliff Click and Keith D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181-- 196, March 1995.


Performance Guidance Despite Optimization Interaction - Strout (1999)   (Correct)

....Evaluation of the technique has only been in terms of how many optimization points where found and what interactions occurred. This doesn t necessarily map directly to application performance which is the ultimate goal. 2. 2 Optimization Combination In Combining Analyses and Optimizations [CC95] Click describes a framework for the combination of analyses for various optimizations. He shows that with constant propagation, global value numbering, and dead code elimination, doing a combined analyses leads to more optimization opportunities. Here the guidance comes through combining ....

....whether other optimizations can be combined within this framework. Performance results are not given. As in the Whiteld [WS97] work, the hope is that increasing the number of optimization applications will result in increased application performance. 2 2. 3 Static Performance Models [WS97] and [CC95] use the number of optimization applications as their model in determining what order or how to combine optimizations. The IBM XLF Fortran compiler [Sar97] is an example of a production compiler which has a more complicated cost model to determine when and how to apply high level optimizations ....

Clioe Click and Keith D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181196, March 1995. URL: http://www.acm.org/pubs/citations/journals/toplas/1995-17-2/p181-click/.


Flow Analysis for Verifying Specifications of Concurrent and.. - Dwyer, Clarke (1999)   (4 citations)  (Correct)

....fix point computation is guaranteed by use of general iterative solution algorithms [Hec77] We use a bounded monotone framework in the analysis at the core of FLAVERS and describe this algorithm in Section 6. FLAVERS uses an approach that combines multiple flow analyses into a single analysis [CC95, HR81, WZ91] Combining multiple dependent flow analyses into a single flow analysis offers the potential to improve the precision of analysis results, for example, by eliminating some infeasible paths. In some cases the combined problem is actually less costly to execute than the constituent ....

Cliff Click and Keith D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, March 1995.


Frameworks for Intra- and Interprocedural Dataflow Analysis - Chambers, Dean, Grove (1996)   (10 citations)  (Correct)

....the analyses flow functions at each flow graph node. Each composed analysis can examine the intermediate dataflow information computed by the other composed analyses in order to share results and reach better fixpoints faster than would be possible by running each analysis separately in sequence [Click Cooper 95] In addition, complex monolithic analyses can be broken up into modular analysis components that may be reused as part of other analyses, and new analysis components can be written and added to existing composed analyses easily. For example, separate modules performing alias analysis, constant ....

....for clients. 3 Composing Intraprocedural Analyses Intraprocedural analyses often can leverage off of each others intermediate results, enabling integrated analyses potentially to compute more precise solutions faster than separate analyses run in sequence until none makes any more changes [Click Cooper 95] For example, a pass integrating constant propagation and folding, alias analysis, receiver class set analysis, and inlining would be more powerful than each run separately, since each analysis and transformation interacts with the others, enabling the others to work better. However, writing a ....

Cliff Click and Keith D. Cooper. Combining Analyses, Combining Optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, March 1995.


Combining Interprocedural Pointer Analysis and Conditional.. - Pioli, Hind (1999)   (5 citations)  (Correct)

....will compute the constant value of a at S7 as 911. This mutual dependence between the two analyses can be partially solved by iterating over the two analyses. Conditional constant, by combining these into a single analysis, obtains better results than is possible by iterating over analyses [40, 11, 12]. 2.2 Flow Sensitive Pointer Alias Analysis The pointer analysis we use is the interprocedural flow sensitive analysis of Choi et. al [8, 20] The algorithm uses a subset of the CFG, called the sparse evaluation graph (SEG) 9] to improve efficiency [21, 32] The algorithm is a nested fixed point ....

....that uses procedure integration to perform interprocedural constant propagation, though no implementation of this analysis is reported. The authors describe how Fortran style aliasing can be accomodated in their algorithms, but do not address the issue of pointer aliasing. Click and Cooper [11, 10] extend the idea that a combined analysis may be more powerful than repeated applications of separate analyses to include constant propagation, unexecutable code removal, and global value numbering. They also show that when combining these analyses that the combination s transfer functions 1) must ....

Cliff Click and Keith D. Cooper. Combining anayses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, March 1995.


Using Static Single Assignment Form to Improve.. - Hasti, Horwitz (1998)   (15 citations)  (Correct)

....translate a program into SSA form (including renaming) is cubic. Moreover, the resulting program can be quadratic in the size of the original program. However, experimental evidence suggests that both the time to translate and the size of the translated program are linear in practice [CFR 91] CC95] Andersen [And94] gives a flow insensitive pointer analysis algorithm that computes the greatest fixed point of the set of equations (2) given in Section 1.1. Andersen s algorithm is cubic in the worst case. Experimental evidence intended to evaluate the algorithm s performance in practice[SH97] ....

C. Click and K.D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, 1995.


Fast, Effective Dynamic Compilation - Auslander, Philipose, Chambers.. (1996)   (8 citations)  (Correct)

....technique does not extend easily to unstructured control flow graphs. The reachability analysis uses the results of run time constants analysis to identify run time constant branches, and the run time constants analysis uses the results of reachability analysis to choose between f merge rules [CC95] test is a constant if (test) x 1 = 1; else x 2 = 2; x 1 and x 2 are constants x 3 = f(x 1 ,x 2 ) x 3 is constant t 1 x 1 : 1 x 2 : 2 x 3 : f(x 1 ,x 2 ) t 1 : test t 1 t 1 t 1 x 1 ,t 1 x 2 ,t 1 x 3 ,t 1 x 1 ,x 2 ,t 1 const: in this ....

C. Click and K.D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2), March 1995.


Towards Identifying and Monitoring Optimization Impacts - Way, Pollock (1997)   (2 citations)  (Correct)

....[10, 40] which attempts to replace a set of instructions that each compute the same value with a single instruction, by combining constant folding and propagation, static single assignment, dead code elimination, loop invariant code motion, and common subexpression elimination. Click and Cooper [11] present a framework for combining constant propagation, value numbering, and unreachable code elimination, and describe how to reason about the properties of the resulting framework. In particular, they discuss how the framework for describing optimizations can indicate whether combining the ....

....of optimizations after other optimizations, and examines the interactions on a pairwise basis. In summary, the program characteristics that are used by these previous efforts for dealing with optimization interactions include: dependence analysis based on the Static Single Assignment (SSA) form [10, 11, 12], assigning costs to assignment statements to guide elimination of partial redundancies [26] and characteristics of loop structures [25] such as nesting level and dependences. The more unified approaches take a broader look, considering the use of an axiomatic scheme to represent and analyze ....

Cliff Click and Keith D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181-- 196, March 1995.


Combining Optimizations, Combining Theories - Veldhuizen, Siek   Self-citation (Combining)   (Correct)

....analyses without manually specifying their interaction The answers to these questions impact the structure of optimizing compilers in a fundamental way. We investigate these questions by relating two avours of imperative program improvement often called pessimism and optimism (e.g. WZ91,CC95] to ideas from algebra and coalgebra. We consider a restricted subset of program improvements that t the following model: the improvement decides some relation (for example, def use, congruence, must alias) and then transforms the program based on this relation. Within this model we contend ....

....abstract interpretation domains and showed that automatic combination of domains would not yield optimal results, and introduced the idea of a reduced product. More recent work on combining abstract interpretations can be found in [CMB 93,CCH94] In the imperative world, Click and Cooper [CC95] took CCP as inspiration and developed a general approach to combining analyses. In their approach, one formulates each analysis as a system of lattice equations, and encodes interactions between them using special terms. The equations are then solved simultaneously using a global optimistic ....

Cli Click and Keith D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181-196, March 1995.


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

....detect and remove common subexpressions. The algorithm must be a global technique, otherwise it will not handle values that flow along back edges in the control flow graph (in particular, induction variables) 7] The Alpern, Wegman, and Zadeck partitioning technique will discover identical values [3, 15], as will several other global algorithms [7] The ssa graph in Figure 9 contains a great deal of dead code. This is because many of the use definition edges in the original ssa graph have been changed, resulting in orphaned nodes. We rely on a separate pass of dead code elimination to remove ....

C. Click and K. D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2), Mar. 1995.


An Efficient Static Analysis Algorithm to Detect Redundant.. - Cooper, Xu (2002)   (4 citations)  Self-citation (Cooper)   (Correct)

No context found.

Cli# Click and Keith D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems (TOPLAS), 17(2):181--196, March 1995.


On Combining Program Improvers - Veldhuizen, Siek (2003)   Self-citation (Combining)   (Correct)

....analyses without manually specifying their interaction The answers to these questions impact the structure of optimizing compilers in a fundamental way. We investigate these questions by relating two flavours of imperative program improvement often called pessimism and optimism (e.g. WZ91,CC95] to ideas from algebra and coalgebra. We consider a restricted subset of program improvements that fit the following model: the improvement decides some relation (for example, def use, congruence, must alias) and then transforms the program based on this relation. Within this model we contend ....

....abstract interpretation domains and showed that automatic combination of domains would not yield optimal results, and introduced the idea of a reduced product. More recent work on combining abstract interpretations can be found in [CMB 93,CCH94] In the imperative world, Click and Cooper [CC95] took CCP as inspiration and developed a general approach to combining analyses. In their approach, one formulates each analysis as a system of lattice equations, and encodes interactions between them using special terms. The equations are then solved simultaneously using a global optimistic ....

Cli# Click and Keith D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, March 1995.


Branch Path Re-Aliasing - Jiménez, Lin   Self-citation (Branch)   (Correct)

....instnction caches. Other techniques use the compiler to help with branch prediction without changing the prediction mechanism. For instance, branch alignment [4, 28] increases instnction fetch bandwidth by minimizing the number of taken branches in a program. Static correlated branch prediction [27, 29] is another optimization that introduces duplicate basic blocks, encoding in the program counter information about the path taken to reach a particular static branch and increasing the accuracy of static prediction. Our idea works on the same principle as branch allocation [15] Branch allocation ....

Cliff Young and Michael D. Smith. Static correlated branch prediction. ACM Transactions on Programming Languages and Systems, May 1999.


Branch Path Re-Aliasing - Jimenez, Lin   Self-citation (Branch)   (Correct)

....caches. Other techniques use the compiler to help with branch prediction without changing the prediction mechanism. For instance, branch alignment [4, 28] increases instruction fetch bandwidth by minimizing the number of taken branches in a program. Static correlated branch prediction [27, 29] is another optimization that introduces duplicate basic blocks, encoding in the program counter information about the path taken to reach a particular static branch and increasing the accuracy of static prediction. Our idea works on the same principle as branch allocation [15] Branch ....

Cliff Young and Michael D. Smith. Static correlated branch prediction. ACM Transactions on Programming Languages and Systems, May 1999.


Interprocedural Analysis (Almost) for Free - Müller-Olm, Seidl, Steffen   (Correct)

No context found.

C. Click and K. D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181 { 196, 1995.


Testing Herbrand Equalities and Beyond - Müller-Olm, Rüthing, Seidl   (Correct)

No context found.

C. Click and K. D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181 -- 196, 1995.


Flow Analysis for Verifying Properties of Concurrent .. - Dwyer, Clarke.. (2004)   (Correct)

No context found.

C. Click and K.D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, March 1995.


Flow Analysis for Verifying Properties of Concurrent .. - Dwyer, Clarke.. (2004)   (Correct)

No context found.

C. Click and K.D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, March 1995.


Guaranteed Optimization for Domain-Specific Programming - Veldhuizen (2003)   (Correct)

No context found.

Click, C., Cooper, K.D.: Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems 17 (1995) 181-196


Active Libraries and Universal Languages - Veldhuizen (2004)   (1 citation)  (Correct)

No context found.

Cli# Click and Keith D. Cooper. Combining analyses, combining optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, March 1995. URL citeseer.nj.nec.com/article/click95combining.html.


Vortex: An Optimizing Compiler for Object-Oriented.. - Dean, DeFouw, Grove.. (1996)   (68 citations)  (Correct)

No context found.

Cliff Click and Keith D. Cooper. Combining Analyses, Combining Optimizations. ACM Transactions on Programming Languages and Systems, 17(2):181--196, March 1995.

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