26 citations found. Retrieving documents...
R.Gupta, D. Berson and J.Fang, Path Profile Guided Partial Dead Code Elimination Using Predication, PACT, 1995.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Partial Redundancy Elimination on Predicated Code - Knoop, Collard, Ju (1999)   (1 citation)  (Correct)

....27, 31, 30] The enhanced transformational power of the algorithms of the second group comes at the price of significantly higher computational costs. Common to all of these approaches is that they are not prepared for dealing with predicated code. This also holds for the approaches of [9] and [11]. They are capable of introducing predicated statements in order to enhance code sinking for enlarging the power of partial dead code elimination, but are not capable of systematically working on predicated code. In fact, to the best of our knowledge, the approach we are going to present here is ....

....here is the first one systematically extending PRE to predicated code. Basically, it falls into the first group of syntactic PRE approaches. However, we will show how to extend it towards semantic PRE at almost no costs on both the conceptual and computational In contrast to the algorithm of [11], the one of [9] is restricted to single entry single exit acyclic regions. side. In fact, this extension is actually required in order to succeed in eliminating the partial redundancy of x y at edge 19 of the example of Figure 5. This is discussed in more detail in Section 5. Structure of the ....

R. Gupta, D. Berson, and J. Z. Fang. Path profile guided partial dead code elimination using predication. In Proc. 5th IEEE Int. Conf. on Parallel Architectures and Compilation Techniques (PACT'97), pages 102 -- 115. IEEE Computer Society, Los Alamitos, 1997.


On the Stability of Temporal Data Reference Profiles - Chilimbi (2001)   (2 citations)  (Correct)

....and improve program performance. To address this problem, many traditional code optimizations have evolved to incorporate profile information in the optimization analysis. For example, profiles are used to choose between several optimization plans based on the expected run time benefit [1, 2, 13, 23], or to specify the optimization scope by directing procedure inlining [14] or scheduling [15, 20] While code optimizations use profiles to complement static program analysis, most memory system optimizations that attempt to improve a program s data cache performance by changing the data ....

R. Gupta, D. A. Berson, and J. Z. Fang. "Path profile guided partial dead code elimination using predication." In Proceedings of the International Conference on Parallel Architecture and Compilation Techniques (PACT), 1997.


Efficient Representation and Abstractions for Quantifying and.. - Chilimbi (2001)   (19 citations)  (Correct)

....to observe a program s dynamic execution behavior and use this data to optimize the program. Program paths consecutively executed basic block sequences can offer insight into a program s dynamic control flow behavior and have been successfully used in compilers for program optimizations [1, 2, 10, 12]. However, though paths provide a basis for understanding a program s dynamic control flow, they supply an incomplete picture of a program s dynamic behavior as they do not capture a program s data accesses. With the growing processormemory performance gap, understanding and optimizing a program ....

R. Gupta, D. A. Berson, and J. Z. Fang. "Path profile guided partial dead code elimination using predication." In Proceedings of the International Conference on Parallel Architecture and Compilation Techniques (PACT), 1997.


Feedback Assisted Iterative Compilation - O'Boyle, Knijnenburg, Fursin (2000)   (3 citations)  (Correct)

.... [14] is a basic technique used in computer architecture where hardware resources are dedicated to tracing and predicting program behaviour [13] Similarly, in low level compilers profile guided compilation is widely used to determine execution path, allowing improved program optimisation [5]. For an excellent survey on feedback techniques, the reader is referred to [14] Due to the problems of compile time unknowns, several researchers have considered using runtime information. For instance, in Rauchweger [ runtime tests are used to see if a loop maybe executed in parallel when it ....

R.Gupta, D. Berson and J.Fang, Path Profile Guided Partial Dead Code Elimination Using Predication, PACT 1995.


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 ....

....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 can be recognized that paths [2,4,6] and [3,4,5] are never taken. Hence, ....

[Article contains additional citation context not shown here]

R. Gupta, D. Berson, and J.Z. Fang. Path profile guided partial dead code elimination using predication. In International Conference on Parallel Architectures and Compilation Techniques (PACT'97), pages 102--115, San Francisco, California, November 1997. Lecture Notes in Computer Science 15


Register Promotion by Sparse Partial Redundancy.. - Lo, Chow, Kennedy.. (1998)   (19 citations)  (Correct)

....a time. Since the size of the code may grow after the PDE of each statement, complete PDE may take exponential time, and results in massive code restructuring. The vastly different code shape can cause additional variation in program performance. Another PDE algorithm described by Gupta et al. GBF97a] uses predication to enable code sinking in removing partial dead stores. The technique uses path profiling information to target only statements in frequently executed paths. A cost benefit data flow analysis technique determines the profitability of sinking, taking into account the frequencies ....

....and Speculating( will effect full speculation by marking all Phi s in the connected component as down safe. With our profile driven speculation algorithm, speculation is performed only in those connected components where it is beneficial. In contrast to the technique by Gupta et al. GBF97a] our decisions are made globally based on a per connected component basis in the SSA graph. In the example of Figure 3, our algorithm will promote x to a register if the execution count of the path containing the call is lower than that of the path containing the store. In the absence of profile ....

R. Gupta, D. Berson, and J. Fang. Path profile guided partial dead code elimination using predication. In Proceedings of the Fifth International Conference on Parallel Architectures and Compilation Techniques, pages 102--113, November 1997.


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

....do not modify a control flow graph in order to enable heavily executed code to be highly optimized. Finally, Gupta, Berson, and Fang present algorithms to improve specific optimizations by utilizing profile information, namely partial dead code elimination and partial redundancy elimination. In [4] profile information is used to remove partial dead code along frequently executed paths at the expense of adding additional instructions along infrequently executed ones. Similarly, in [5] profile information is used to remove partial redundant code along heavily executed paths at the expense of ....

R. Gupta, D. Berson, and J. Fang. Path profile guided partial dead code elimination using predication. In International Conferenceon Parallel Architecturesand Compilation Techniques (PACT'97), pages 102--115, San Francisco, California, November 1997.


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

....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 crossing interprocedural boundaries. However, in profile driven region based ....

R. Gupta, D. A. Berson, and J. Z. Fang. Path profile guided partial dead code elimination using predication. In International Conference on Parallel Architectures and Compilation Techniques (PACT), pages 102--115, San Francisco, California, Nov. 1997.


Optimization of Data Remapping in Data-Parallel Languages - Mehofer (1998)   (Correct)

....of Figure 4.12 maximally transformed programs are either identical (up to irrelevant reorderings in basic blocks) or incomparable with respect to the order of Section 4.4.3 counting assignments for every assignment pattern separately. This point has to be clarified. Finally, path profiling [33] has to be considered which allows to distinguish between frequently and less frequently executed paths which can be used to guide mapping assignment placement. ....

R. Gupta, D. Berson, and J. Fang. Path profile guided partial dead code elimination using predication. In Proc. of the IEEE Int'l Conference on Parallel Architectures and Compilation Techniques (PACT'97), pages 102 -- 113, San Francisco, CA, November 1997.


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]

R. Gupta, D. A. Berson, and J. Z. Fang. Path profile guided partial dead code elimination using predication. In International Conference on Parallel Architectures and Compilation Techniques (PACT), pages 102--115, San Francisco, California, Nov. 1997.


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

....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 ....

....two edge probabilities instead of one edge probabilities. e.g. consider again our running example: Whereas in the one edge approach presented in [7] edges 4 5 and 4 6 are dealt with independently of the incoming edges 2 4 and 3 4, our two edge approach recognizes that paths [2,4,6] and [3,4,5] are never taken. Hence, d3 cannot reach node 5, since d3 is killed on edge 2 4. Similarly, we find that d4 cannot 2 reach node 6. Additionally, since the loop is exited via path [6,7,8] in the two edge approach it can be determined that definition d2 cannot reach node 8. In this paper we ....

[Article contains additional citation context not shown here]

R. Gupta, D. Berson, and J.Z. Fang. Path profile guided partial dead code elimination using predication. In International Conference on Parallel Architectures and Compilation Techniques (PACT'97), pages 102--115, San Francisco, California, November 1997.


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

....flow facts may hold true during execution at some program point. Probabilistic data flow analysis can guide advanced optimizing transformations in order to improve the running time of programs. Examples for optimizations which utilize runtime information are register allocation [6] code motion [3, 4], and redundant computations [2] Figure 1 depicts the probabilistic optimization framework of an optimizing compiler with a profiling feedback loop. The profiler is responsible for producing profile information based on the execution environment. The profile information is passed over to the ....

....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]

R. Gupta, D. Berson, and J.Z. Fang. Path profile guided partial dead code elimination using predication. In International Conference on Parallel Architectures and Compilation Techniques (PACT'97), pages 102--115, San Francisco, California, November 1997.


Path-Sensitive Value-Flow Optimizations - Bodík (1998)   (Correct)

....demand driven analysis as in branch elimination [BGS97a] c) all profitable opportunities are exploited with economical transformations (code motion and speculation) and d) infrequent program regions will be avoided using the profile navigated demand driven analysis. Gupta et al. [GBF97a, GBF98, GBF97b] also use path profiles to carry out path sensitive optimization. Similar to the method of Ammons and Larus, path profiles are used to maintain path specific context along each hot path. The results of the analysis are then used to integrate code motion with control speculation. In contrast to ....

R. Gupta, D.A. Berson, and J.Z. Fang. Path profile guided partial dead code elimination using predication. In Proceedings of the 1997 International Conference on Parallel Architectures and Compilation Techniques, pages 102--115, San Francisco, California, November 10--14, 1997. IEEE Computer Society Press. 48


A Case for Automatic Run-Time Code Optimization - Feigin (1999)   (5 citations)  (Correct)

....trace. The information in this profile is then used in a second compilation pass. Profile driven compilation has been shown to be effective in many cases at managing the tradeoffs involved in code optimization [5,27] making optimizations more 3 aggressive than might otherwise be possible [15], and allowing optimizations based purely upon temporal information provided by the profile [13] There are, however, significant drawbacks to profile driven compilation. A common criticism is that the profiling cycle is awkward for developers. This is especially true for interactive applications ....

R. Gupta, D. A. Berson, and J. Z. Fang, "Path Profile Guided Partial Dead Code Elimination Using Predication," in Proceedings of the International Conference on Parallel Architecture and Compilation Techniques (PACT). San Francisco, CA, 1997.


Static Correlated Branch Prediction - Young, Smith (1999)   (3 citations)  (Correct)

.... such as branch alignment [Calder and Grunwald 1994; Pettis and Hansen 1990; Young et al. 1997] global instruction scheduling [Bernstein and Rodeh 1991; Fisher 1981; Hwu et al. 1993; Lowney et al. 1993; Moon and Ebcioglu 1992; Smith 1992; Young and Smith 1998] partial dead code elimination [Gupta et al. 1997], and partial redundancy elimination [Gupta et al. 1998] Unlike the execution engine which makes a prediction for each dynamic instance of a static branch in an application, the compiler makes but a single static prediction for each static branch. As before, however, when predictions are ....

....will not be led astray by behavior specific to one training set. Some recent work has applied path profiles to other performance areas, including cache optimizations, memory disambiguation, and instruction scheduling. Gupta, Berson, and Fang used path profiles to drive implementations of PDCE [Gupta et al. 1997] and PRE [Gupta et al. 1998] Reps et al. 1997] used path profiles in coverage testing. Mowry and Luk [1997] use path profiles to avoid data cache misses; they profile to find paths in the program that are more susceptible to data cache misses than others. Young and Smith [1998] use path profiles ....

Gupta, R., Berson, D., and Fang, J. 1997. Path profile guided partial dead code elimination using predication. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques. IEEE, Piscataway, New Jersey, 102--115.


Using Path Spectra to Direct Function Cloning - Way, Pollock (1998)   (2 citations)  (Correct)

....of execution of individual paths executed during a program run [2] 1 . For a particular program run, the path spectrum is the set of paths executed along with their execution frequencies [14] As an indication of program behavior, path spectra have been used successfully for program optimization [1, 8, 9, 10] as well as software maintenance and testing [14] Our approach to making cloning decisions is based on comparing the program spectra for the execution of the same function by different calls to that function. Our hypothesis is that this approach provides a good heuristic for determining which ....

....In dynamic compilation environments, cloning is sometimes performed on the fly as a statement is executed the first time [13] To our knowledge, none of these techniques has used path spectra comparison in their cloning decisions. Path profiling has been used successfully in compiler optimization [1, 9, 10]. 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 good predictors of frequently executed paths (hot ....

R. Gupta, D. A. Berson, and J. Z. Fang. Path profile guided partial dead code elimination using predication. In International Conference on Parallel Architectures and Compilation Techniques (PACT), pages 102--115, San Francisco, California, Nov. 1997.


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

No context found.

R. Gupta, D. Berson, and J.Z. Fang, "Path Profile Guided Partial Dead Code Elimination Using Predication," International Conference on Parallel Architectures and Compilation Techniques (PACT), pages 102-115, San Francisco, 1997.


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

....analysis as in branch elimination [BGS97a] 15 c) all profitable opportunities are exploited with economical transformations (code motion and speculation) and d) infrequent program regions will be avoided using the profile navigated demand driven analysis. Gupta et al. GBF97b,GBF98,GBF97c] also use path profiles to carry out path sensitive optimization. Similar to the method of Ammons and Larus, path profiles are used to maintain path specific context along each hot path. The results of the analysis are then used to integrate code motion with control speculation. In contrast to ....

R. Gupta, D.A. Berson, and J.Z. Fang. Path profile guided partial dead code elimination using predication. In Proceedings of the


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

....until the value flow patterns are abstracted and summarized. Our estimators offer an alternative to frequency dataflow analysis; they are not as general (not all our estimators can compute the per node estimate) but are cheaper and fit the need of PRE transformations. Path profiles Gupta et al. [GBF97a,GBF97b,GBF98] present various versions of profile directed PRE, for exploiting various hardware features. Common to all these algorithms, all the algorithms are navigated using Ball Larus path profiles [BL96a, BMS98] While the algorithms do not explicitly compute an estimate, the estimate is ....

R. Gupta, D. Berson, and J.Z. Fang. Path profile guided partial dead code elimination using predication. In International Conference on Parallel Architectures and Compilation Techniques, pages 102--115, November 1997.


Compilation Techniques for Parallel Systems - Gupta, Pande, Psarris, Sakar (1999)   (2 citations)  Self-citation (Gupta)   (Correct)

....may have on register and functional unit demands [69, 70] Second we must develop new optimization algorithms that take advantage of path execution frequencies and machine characteristics. For example, researchers have developed algorithms for eliminating redundant code [71, 29] and dead code [72, 30] along frequently executed program paths. These algorithms take advantage of path execution frequencies and utilize the speculation and predication features of the IA 64 architecture. Researchers have also begun to realize that with the information available at run time, the compiler s ability to ....

R. Gupta, D. Berson, and J.Z. Fang, "Path Profile Guided Partial Dead Code Elimination Using Predication, " Proc. of the International Conference on Parallel Architectures and Compilation Techniques, pages 102-115, San Francisco, California, November 1997.


Register Pressure Sensitive Redundancy Elimination - Gupta, Bodík (1999)   (2 citations)  Self-citation (Gupta)   (Correct)

....redundancy as possible through assignment sinking. In order to ensure that sinking does not increase register pressure, we may apply sinking only to the extent that it does not cause any increase in register pressure. Furthermore, since assignment sinking may enable partial dead code elimination [3, 11, 18], it can also be performed at the same time. Given an assignment, the sinking algorithm consists of three major steps: computing register pressure changes, delayability analysis for determining legality of sinking, and insertion point determination. To compute register pressure changes we observe ....

R. Gupta, D. Berson, and J.Z. Fang, "Path Profile Guided Partial Dead Code Elimination using Predication," International Conference on Parallel Architectures and Compilation Techniques, pages 102-115, San Francisco, California, November 1997.


Resource-Sensitive Profile-Directed Data Flow Analysis for Code .. - Rajiv Gupta (1997)   (6 citations)  Self-citation (Gupta Berson Fang)   (Correct)

....information they can also be adapted for edge profiles since estimates of path profiles can be computed from edge profiles [19] Furthermore we present versions of our algorithms that apply to acyclic graphs. However, the extensions required to handle loops are straightforward and can be found in [10, 9]. Our algorithms are based upon the following analysis steps. First resource availability and anticipatability analysis is performed. Next we determine the cost and benefit of enabling speculation and predication at various spilt points and merge points in a flow graph respectively. The benefit is ....

....require over hundred paths reduces significantly (from 35 to 1) The second table shows the maximum number of paths considered among all the functions. Again this maximumvalue reduces sharply (from 1000 to 103) as the paths conisdered account for less than 100 of the program execution time. In [10, 9] we illustrate how the solution to cost benefit analysis that we described earlier can be easily adapted to the situation in which only subset of paths with non zero frequency are considered. 4 Concluding Remarks In this paper we presented a strategy for PRE and PDE code optimizations that ....

R. Gupta, D. Berson, and J.Z. Fang, "Path Profile Guided Partial Dead Code Elimination Using Predication, " International Conference on Parallel Architectures and Compilation Techniques, San Francisco, California, Nevember 1997.


Path Profile Guided Partial Redundancy Elimination Using.. - Gupta, Berson, Fang (1997)   (16 citations)  Self-citation (Gupta Berson Fang)   (Correct)

....through a program. In conclusion, the approach we have presented is quite general and can be adapted for application to other optimizations. For example predicated execution can be used to enable code sinking past merge points resulting in the removal of dead code along frequently executed paths [8]. We have also developed analysis techniques in which redundancy and dead code removal decisions are influenced by functional unit resource availability [9] Other applications of our approach include strength reduction along certain paths and elimination of partially redundant loads and dead ....

R. Gupta, D. Berson, and J.Z. Fang, "Path Profile Guided Partial Dead Code Elimination using Predication, " International Conference on Parallel Architectures and Compilation Techniques, pages 102-115, San Francisco, Ca, November 1997.


A Code Motion Framework for Global Instruction Scheduling - Gupta (1998)   (1 citation)  Self-citation (Gupta)   (Correct)

....The anticipability and liveness conditions require that the data flow information be computed with respect to different categories of paths. Conventional analysis techniques compute data flow with respect to all program paths. An approach for path sensitive analysis was introduced in [4, 5] where in addition to computing a data flow fact at a program point, the set of paths along which the fact holds is also computed. The anticipability analysis is performed by starting at node s and propagating data flow information backward along nodes that lie along paths from d to s (set of ....

R. Gupta, D.A. Berson, and J.Z. Fang, "Path Profile Guided Partial Dead Code Elimination Using Predication," Intl. Conf. on Parallel Arch. and Compilation Techniques, pages 102-115, San Francisco, California, November 1997.


Evaluating Iterative Compilation - Fursin, O'Boyle, Knijnenburg (2002)   (5 citations)  (Correct)

No context found.

R.Gupta, D. Berson and J.Fang, Path Profile Guided Partial Dead Code Elimination Using Predication, PACT, 1995.


Evaluating Iterative Compilation - Edinburgh (2002)   (3 citations)  (Correct)

No context found.

R.Gupta, D. Berson and J.Fang, Path Profile Guided Partial Dead Code Elimination Using Predication, PACT, 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