33 citations found. Retrieving documents...
G. Ammons and J. Larus. Improving Data-flow Analysis with Path Profiles. In Programming Languages Design and Implementation, 1998.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Online Feedback-Directed Optimization of Java - Arnold, Hind, Ryder (2002)   (3 citations)  (Correct)

....By performing splitting early in the compilation process, optimization opportunities are automatically exposed to the optimizations that follow. However, this second advantage can also be a limitation. Unlike previous approaches that consider the impact of splitting on data flow analysis [3, 14], our splitting decisions are based purely on edge profiling information until a threshold is reached. Thus, it may perform splitting that does not improve data flow information or may miss an opportunity to improve data flow information because a merge node was not hot enough. The splitting ....

....initial superblock formation is mentioned [18] but not fully described. Our splitting algorithm repeatedly selects the hottest basic block for splitting regardless of whether it has already been duplicated, and thus allows full duplication of multiple hot paths through a method. Ammons and Larus [3] and Melski [36] use o#ine path profiles to guide code duplication aimed at improving the precision of data flow analysis, and thus potentially facilitating path specialized optimizations. Subsequently, the results of the data flow analysis are used to eliminate those duplicated nodes edges that ....

Glenn Ammons and James R. Larus. Improving data-flow analysis with path profiles. In SIGPLAN '98 Conference on Programming Language Design and Implementation, pages 72--84, June 1998.


The Interprocedural Express-lane Transformation - Melski, Reps (2003)   (Correct)

....duplicated code when there was no benefit to range analysis. This can help eliminate code growth. This paper describes algorithms and presents experimental results for the approach to profile driven optimization described above. Specifically, our work makes the following contributions: 1. [3] provides an elegant solution for duplicating intraprocedural paths based on an intraprocedural path profile; this paper generalizes that work by providing algo rithms that take a program supergraph (an interprocedural control flow graph) and an interprocedural path profile and produce an ....

....piecewise path is considered to have a contextprefix, cf. m88ksim, li, perl, and vortex. 3 The Interprocedural Express lane Transformation The intraprocedural express lane transformation takes a control flow graph and an intraprocedural, piecewise path profile and creates an express lane graph [3]. In this section, we describe how to extend this algorithm to take as input the program supergraph and an interprocedural path profile, and produce as output an express lane supergraph. There are several issues that must be addressed. The definition of an express lane must be extended. In a ....

[Article contains additional citation context not shown here]

G. Ammons and J. Larus. Improving data-flow analysis with path profiles. In PLDI98.


Speculative Alias Analysis for Executable Code - Fernández, Espasa   (Correct)

....to assembly code, it is not obvious that using the algorithm for interprocedural whole program analysis would scale up to problems of this size. There is a considerably body of work on interprocedural dataflow analyses design to analyze only part, but not all, of a program (see, for example, [3, 5, 13, 26]) although only some of them use profile information to guide their decisions. This profile information is, however, widely used when performing optimizations [24, 7, 10, 18] On the other hand, while speculation has been commonly used in the compiler world for optimizing programs [19, 15, 20, ....

G. Ammons and J. R. Larus. Improving data-flow analysis with path profiles. In Proceedings of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation, pages 72--84, Montreal, Canada, June 1998.


Online Profiling And Feedback-Directed Optimization Of Java - Arnold (2002)   (1 citation)  (Correct)

....By performing splitting early in the compilation process, optimization opportunities are automatically exposed to the optimizations that follow. However, this second advantage can also be a limitation. Unlike previous approaches that consider the impact of splitting on data flow analysis [5, 20], our splitting decisions are based purely on edge profiling information until a threshold is reached. Thus, it may perform splitting that does not improve data flow information or may miss an opportunity to improve data flow information because a merge node was not hot enough. The splitting ....

....an implementation of a basic block reordering optimization. Their overhead for instrumentation averaged 37 , and required the user to specify methods for instrumentation. They report a 6 reduction in runtime and an average recompile time of 12 of their base 101 compile time. Ammons and Larus [5] and Melski [60] use o#ine path profiles to guide code duplication aimed at improving the precision of data flow analysis, and thus potentially facilitating path specialized optimizations. Subsequently, the results of the data flow analysis are used to eliminate those duplicated nodes edges that ....

Glenn Ammons and James R. Larus. Improving data-flow analysis with path profiles. In SIGPLAN '98 Conference on Programming Language Design and Implementation, pages 72--84, June 1998.


Path-Sensitive Program Verification in Polynomial Time - Das, Lerner, Seigle (2002)   (11 citations)  (Correct)

.... by adding a finite set of predicates [HR80] Tu and Padua propose a generalized SSA scheme in which SSA merge nodes are controlled by boolean predicates [TP95] Ammons and Larus present a framework for improving dataflow analysis by splitting out a finite set of interesting paths from the CFG [AL98]. Abstract simulation could be viewed as an in stance of these frameworks; the novelty of our approach lies in the particular choice of predicates and the precision and efficiency of the resulting analysis. Our work can also be viewed as providing a way of performing MOP dataflow on an infinite ....

G. Ammons and J. Larus. Improving data-flow analysis with path profiles. In Proceedings of the ACM SIGPLAN 98 Conference on Programming Language Design and Implementation, 1998.


Automatic Predicate Abstraction of C Programs - Ball, Majumdar, Millstein.. (2001)   (93 citations)  (Correct)

....transition system automatically using a theorem prover. Predicate abstraction is a general technique that can be used to add predicate (read path ) sensitivity to program analyses. Ammons and Larus use code duplication followed by a traditional dataflow analysis to achieve path sensitive results [1]. Bodik and Anik use symbolic back substitution (i.e. weakest preconditions) followed by value numbering to improve the results of a subsequent three valued dataflow analysis [8] The combination of predicate abstraction by C2bp and path sensitive dataflow analyses in Bebop could be used to ....

G. Ammons and J. R. Larus. Improving data-flow analysis with path profiles. In PLDI 98: Programming Language Design and Implementation, pages 72--84. ACM, 1998.


Path-Sensitive, Value-Flow Optimizations of Programs - Bodik (1999)   (2 citations)  (Correct)

....being previously computed on a path. This allows elimination of branches (as in [HR81] as well as of entire assignments. Steffen also observes that some code duplication may be unnecessary and re merges back unnecessarily split paths using finite state automaton minimization. Ammons and Larus [AL98] extend Holley s and Rosen s qualified analysis by separating the paths not on variable assertions but instead on frequently executed paths which are separated from each other to maintain the hot path specific context. Profile directed graph expansion is a practical alternative to HolleyRosen or ....

.... are used for i) performing compile time branch prediction, ii) identifying frequently executed (hot) program regions, with the goal of enlarging the scope of traditional optimizations, via inlining or trace scheduling, or iii) focusing the effort of static analysis to hot program regions [AdJPS98,AL98,BGS98b] In contrast to control flow optimizations, estimators focus on the value flow behavior of the program. Instead of determining the frequency of control flow paths, they compute the frequency of value flow 52 profile type information profiling profile accuracy processing collected cost ....

[Article contains additional citation context not shown here]

Glenn Ammons and James L. Larus. Improving data-flow analysis with path profiles. In Proceedings of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation, 1998.


A Novel Probabilistic Data Flow Framework - Mehofer, Scholz   (1 citation)  (Correct)

....obviously is not true in reality. Since edge probabilities are indispensable to get an efficient handle on the problem, we focus on execution history in order to get better results. Consider a program run for our example in Fig. 1 that performs 10 iterations. At the beginning the left branches [1,2,4,5,7] are executed and in the last iteration the right branches [1,3,4,6,7,8] are taken. Without execution history edges 4 5 and 4 6 are dealt with independently of the incoming edges 2 4 and 3 4. However by correlating outgoing edges Lecture Notes in Computer Science 3 with incoming ones, it ....

....iteration the right branches [1,3,4,6,7,8] are taken. Without execution history edges 4 5 and 4 6 are dealt with independently of the incoming edges 2 4 and 3 4. However by correlating outgoing edges Lecture Notes in Computer Science 3 with incoming ones, it can be recognized that paths [2,4,6] and [3,4,5] are never taken. Hence, d 3 cannot reach node 5, since d 3 is killed on edge 2 4. Similarly, it can be detected that d 4 cannot reach node 6. Finally, since the loop is exited via path [6,7,8] it can be determined that definition d 2 cannot reach node 8. In this paper we present a ....

[Article contains additional citation context not shown here]

G. Ammons and J.R. Larus. Improving data-flow analysis with path profiles. In Proc. of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation (PLDI'98), pages 72--84, Montreal, Canada, June 1998.


Probabilistic Communication Optimizations and Parallelization .. - Mehofer, Scholz (2001)   (Correct)

....that a data flow fact holds or does not hold for finite bi distributive subset problems. The framework is based on the exploded controlflow graph introduced by Reps, Horwitz, Sagiv [13] and on Markov chains. However, execution history is not taken into account. Alternatively, Ammons and Larus [1] describe an approach to improve data flow analysis by identifying and duplicating hot paths in the program s control flow graph resulting in a so called hot path graph in which these paths are isolated. Data flow analysis applied to a hot path graph yields more precise data flow information. The ....

G. Ammons and J. Larus. Improving data-flow analysis with path profiles. In Proc. of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation (PLDI'98), pages 72--84, Montreal, Canada, June 1998.


Region Formation Analysis with Demand-driven Inlining for.. - Ben (2000)   (1 citation)  (Correct)

....for large programs remains for cloning. Using profile guided region partitioning followed by region based optimization is related to profile guided optimization analysis and transformation. Profile guided data flow analysis seeks to compute more precise data flow analysis for hot paths [2], while profile guided optimization trades more aggressive optimization [11, 12] along heavily executed paths for potentially increasing the execution time along less frequently executed paths. These techniques can focus on optimizing the same paths as profileguided region based optimization by ....

G. Ammons and J. R. Larus. Improving data-flow analysis with path profiles. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 72--84, June 1998.


Scalable Procedure Restructuring for Ambitious Optimization - Way (2000)   (Correct)

....and executable code size that is possible with the interprocedural techniques, several methods have been devised. Each has the goal to avoid performing, or re performing, the work of analysis and optimization when possible. 2.4. 1 Profile driven Analysis Profile driven analysis and optimization [3, 7, 8, 10, 17, 34, 35, 42, 62, 69] makes use of execution frequency information derived at run time to focus the attention of the compiler. An instrumented version of the program is created and run to gather a run time profile of the program s performance. This profile information can then be used to improve a subsequent compiler ....

....a subsequent compiler optimization of the program by, for example, placing constraints on compile time and space consumption, by optimizing the most frequently executed portions of the code first, and halting the optimization phase when the time or space constraints are exceeded. Path profiling [3, 7, 8, 17, 34, 35, 62] has been used successfully in compiler optimization. Other basic types of control flow profiling are edge profiling, which measures the execution frequency of each individual flow graph edge, and basic block profiling, which measures how many times each basic block is executed. Edge profiles are ....

[Article contains additional citation context not shown here]

G. Ammons and J. R. Larus. Improving data-flow analysis with path profiles. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 72--84, June 1998.


Achieving High Performance via Co-Designed Virtual Machines - Smith, Sastry, Heil, Bezenek (1999)   (7 citations)  (Correct)

....optimizations [29] post link time optimizations [30] and run time optimizations [31, 32, 33, 34, 35, 36] Profiling is often advocated as a way to provide this run time information to the compiler. Profiling can increase the performance gain or reduce the code expansion of optimizations [37, 38, 39, 40, 41, 42, 43]. Virtual machines naturally provide this information to the compiler. When the compiler is integrated within a VM, profile information specific to the particular execution being optimized is provided. This allows our virtual architecture model to adjust the binary for each execution of the ....

Glenn Ammons, James R. Larus, "Improving Dataflow Analysis with Path Profiles," Prog. Lang. Design and Impl., pp. 72-84, June 1998.


Path Analysis and Renaming for Predicated Instruction .. - Carter, Simon.. (2000)   (9 citations)  (Correct)

....code [15, 18] The work presented in [11] and expanded upon in this work) extended the localized predicate sensitive analysis presented in [15, 18] to complete path analysis through the hyperblock. Path sensitive analysis has previously been found useful for traditional data flow analysis [6, 10, 16]. We use this specialized path information to accomplish PSSA (a predicate sensitive form of SSA [13, 12] which enables Predicated Speculation and Control Height Reduction for hyperblocks that have previously been examined only in the presence of the single path of control found in superblocks ....

G. Ammons and J. R. Larus. Improving data-flow analysis with path profiles. ACM SIGPLAN Notices, 33(5):72--84, May 1998.


Macroservers: An Execution Model for DRAM Processor-In-Memory.. - Zima, Sterling (2000)   (Correct)

....space associated with the macroserver model will necessitate the development of new techniques. We expect that an important line of research will be based on feedback directed and dynamic compilation technology, as exemplified in the work on flow sensitive profiling [3] qualified flow analysis [4], and the Java hotspot compiler [34] Another direction of work will deal with optimization techniques targeting the row wide ASAP instruction set. 9.4 Macroservers in the Context of HTMT In this section, we outline a role for the proposed macroserver in the context of the HTMT project. The ....

G.Ammons and J.R.Larus. Improving Data-Flow Analysis with Path Profiles. Proc.SIGPLAN'98 Conf.on Programming Language Design and Implementation (PLDI), 72-84, Montreal, Canada, June 1998.


Load Scheduling with Profile Information - Lindenmaier, McKinley, Temam (2000)   (Correct)

.... user with later, free cycles (our system does not automate this feature) Previous work using performance counters as a source of profile information have used aggregate information, such as the miss rate of a subroutine or basic block [1] and critical path profiles to sharpen constant propagation [2]. Our work is unique in that it uses information at the instruction level, and integrates it into a scheduler. Previous work on using instruction level parallelism (ILP) to hide latencies for nonblocking caches has two major differences from this work [4, 6, 8, 10, 12] First, previous work uses ....

G. Ammons and J. R. Larus. Improving data-flow analysis with path profiles. In Proceedings of the SIGPLAN '98 Conference on Programming Language Design and Implementation, pages 72--84, Montreal, Canada, June 1998.


Probabilistic Data Flow System with Two-Edge Profiling - Mehofer, Scholz (2000)   (1 citation)  (Correct)

....The example has four definitions (d1 to d4) for two variable X and Y . Variable X is defined at edges 2 4 by d1 and 5 7 by d3 . Variable Y is defined at edges 3 4 by d2 and edge 6 7 by d4 . Let us assume that the example executes 10 times the loop with firstly taking 9 times left branch [1,2,4,5,7], and terminating by taking right branch [1,3,4,6,7,8] The classical reaching definitions problem computes that all definitions reach nodes 1 to 8. This solution is a conservative approximation which is valid for all program runs. Additional runtime information can refine the results according ....

....variable X and Y . Variable X is defined at edges 2 4 by d1 and 5 7 by d3 . Variable Y is defined at edges 3 4 by d2 and edge 6 7 by d4 . Let us assume that the example executes 10 times the loop with firstly taking 9 times left branch [1,2,4,5,7] and terminating by taking right branch [1,3,4,6,7,8]. The classical reaching definitions problem computes that all definitions reach nodes 1 to 8. This solution is a conservative approximation which is valid for all program runs. Additional runtime information can refine the results according to a specific execution environment. Rather than ....

[Article contains additional citation context not shown here]

G. Ammons and J.R. Larus. Improving data-flow analysis with path profiles. In Proc. of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation (PLDI'98), pages 72--84, Montreal, Canada, June 1998.


Probabilistic Data Flow System with Two-Edge Profiling - Eduard Mehofer Bernhard (2000)   (1 citation)  (Correct)

....has four definitions (d 1 to d 4 ) for two variable X and Y . Variable X is defined at edges 2 4 by d 1 and 5 7 by d 3 . Variable Y is defined at edges 3 4 by d 2 and edge 6 7 by d 4 . Let us assume that the example executes 10 times the loop with firstly taking 9 times left branch [1,2,4,5,7], and terminating by taking right branch [1,3,4,6,7,8] The classical reaching definitions problem computes that all definitions reach nodes 1 to 8. This solution is a conservative approximation which is valid for all program runs. Additional runtime information can refine the results according ....

....X and Y . Variable X is defined at edges 2 4 by d 1 and 5 7 by d 3 . Variable Y is defined at edges 3 4 by d 2 and edge 6 7 by d 4 . Let us assume that the example executes 10 times the loop with firstly taking 9 times left branch [1,2,4,5,7] and terminating by taking right branch [1,3,4,6,7,8]. The classical reaching definitions problem computes that all definitions reach nodes 1 to 8. This solution is a conservative approximation which is valid for all program runs. Additional runtime information can refine the results according to a specific execution environment. Rather than ....

[Article contains additional citation context not shown here]

G. Ammons and J.R. Larus. Improving dataflow analysis with path profiles. In Proc. of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation (PLDI'98), pages 72--84, Montreal, Canada, June 1998.


Fast Paths in Concurrent Programs - Xu, Kumar, Li (2004)   (Correct)

No context found.

G. Ammons and J. Larus. Improving Data-flow Analysis with Path Profiles. In Programming Languages Design and Implementation, 1998.


A Characterization of Traces in Java Programs - Borys Bradel And   (Correct)

No context found.

G. Ammons and J. R. Larus. Improving data-flow analysis with path profiles. In Proc. of PLDI, pp 72--84, 1998.


Speculative Alias Analysis for Executable Code - Manel Fernandez And (2002)   (Correct)

No context found.

G. Ammons and J. R. Larus. Improving data-flow analysis with path profiles. In Proceedings of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation, pages 72--84, Montreal, Canada, June 1998.


ESP: Path-Sensitive Program Verification in Polynomial Time - Das, Lerner, Seigle (2002)   (46 citations)  (Correct)

No context found.

G. Ammons and J. Larus. Improving data-flow analysis with path profiles. In Proceedings of the ACM SIGPLAN 98 Conference on Programming Language Design and Implementation, 1998.


Turning Predicate Information to Advantage to Improve Compiler.. - Simon (2002)   (Correct)

No context found.

G. Ammons and J. R. Larus. Improving data-flow analysis with path profiles. ACM SIGPLAN Notices, 33(5):72--84, May1998.


Path-Based Failure and Evolution Management - Mike Chen Anthony (2004)   (7 citations)  (Correct)

No context found.

AMMONS, G., AND LARUS, J. R. Improving Data-flow Analysis with Path Profiles. In Conference on Programming Language Design and Implementation (1998), pp. 72--84.


Extending Path Profiling across Loop Backedges And.. - Tallam, Zhang, Gupta (2004)   (Correct)

No context found.

G. Ammons and J.R. Larus, "Improving Data Flow Analysis with Path Profiles," ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 7284, Montreal, Canada, 1998.


A Security Architecture for Survivability Mechanisms - Wang (2000)   (16 citations)  (Correct)

No context found.

G. Ammons, J. Larus. "Improving Data-flow Analysis with Path Profiles". In the Proceeding of the 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation, Montreal Canada, June 17-19, 1998.

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