| R. Gupta, D. Berson, and J.Z. Fang, "Path Profile Guided Partial Redundancy Elimination Using Speculation," IEEE International Conference on Computer Languages (ICCL), pages 230-239, Chicago, Illinois, May 1998. |
....pioneered by the algorithm of Morel and Renvoise [25] has thoroughly been studied in the literature. The (intraprocedural) state of the art algorithms fall into two major groups. First, algorithms aiming at eliminating redundancies among lexically identical terms, also known as syntactic PRE (cf. [2, 5, 6, 7, 8, 12, 15, 19, 20, 13, 29, 28]) Second, algorithms aiming at eliminating redundancies also among lexically di#erent, yet semantically equivalent computations, also known as semantic PRE (cf. 1, 3, 23, 27, 31, 30] The enhanced transformational power of the algorithms of the second group comes at the price of significantly ....
R. Gupta, D. Berson, and J. Z. Fang. Path-profile guided partial redundancy elimination using speculation. In Proc. 6th IEEE Computer Society 1998.
....interference test, c) coherence test. reliable information in the common case. However, the speculative nature of our schemes causes the analysis results to be not always correct. That is, optimization performed using speculative analysis will be speculative as well. Speculative optimizations [19, 15, 20, 18, 25] have been widely used in the compiler world for reducing the overall execution time of programs. The key idea behind speculation is breaking the original program sequence by executing a (possibly unsafe) better reordering of instructions, corresponding to the most likely execution paths. Since ....
....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, 18, 25] as far as we know, this is the first attempt to introduce unsafe speculations into a dataflow analysis algorithm. 6. Summary and future directions greatly from ....
[Article contains additional citation context not shown here]
R. Gupta, D. A. Berson, and J. Z. Fang. Path profile guided partial redundancy elimination using speculation. In Proceedings of the 1998.
....executed paths at the expense of introducing additional (new) computations along some less frequently executed paths. So the safety criterion [20] enforced in classic PRE methods is no longer honored. There are two previously published papers devoted entirely to speculation based PRE (SPRE) [18, 19]. Horspool and Ho [19] use edge profiling information to determine the profitability of using speculation while Gupta, Berson and Fang [18] employ more expensive path profiling. While being capable of minimizing the number of computations in some cases as compared to the classic PRE methods, both ....
....[20] enforced in classic PRE methods is no longer honored. There are two previously published papers devoted entirely to speculation based PRE (SPRE) 18, 19] Horspool and Ho [19] use edge profiling information to determine the profitability of using speculation while Gupta, Berson and Fang [18] employ more expensive path profiling. While being capable of minimizing the number of computations in some cases as compared to the classic PRE methods, both algorithms are, in general, not computationally optimal in achieving this objective. In addition, both papers contain no implementation ....
[Article contains additional citation context not shown here]
R. Gupta, D. A. Berson, and J. Z. Fang. Path profile guided partial redundancy elimination using speculation. In IEEE International Conference on Computer Languages, pages 230-- 239, 1997.
.... out of loops the following: i) computations that are invariant during all loop iterations (loop invariant code motion [1] ii) computations that are invariant after the first iteration, loop peeling, e.g. 23] iii) computations that are conditionally invariant (e.g. speculation motion [11]) Techniques for code motion are basically limited to loop invariant computations, this can be a problem in automatically produced programs. Consider the digital circuit in Fig. 1, which is simulated by the program in Fig. 2, where the simulation is carded out for T steps. We use f, g and gi to ....
....elimination (PRE) which is a global optimization technique generalizing the removal of common subexpressions and loop invariant computations. Originally, implementation of PRE failed to completely remove the redundancies. The recently developed PRE algorithms based on control flow restructuring [4, 11, 19, 20] can achieve a complete PRE and are capable of eliminating loopquasi invariant code. However, these techniques are usually exponential in the worst case and the resulting code duplication may cause code size explosion. Many optimization techniques can be formalized conveniently using single ....
Gupta R., Berson D. A., Fang J. Z., Path profile guided partial redundancy elimination using speculaton, IEEE International Conference on Computer Languages, 230-239, IEEE Society Press 1998.
.... of loops the following: i) c32CP41[34# that are invariant during all loop iterations (loop invarianc c de motion [1] ii) ci)1b7bSb1[ that are invariant after the first iteration, loop peeling, e.g. 23] iii) ci)13SSSb1[ that are ce1b7bS41[33 invariant (e.g. spec372S#1 motion [11]) Tec hniques forc de motion arebasic7C4 limited to loop invariant c24421[7C8#1 thisci be a problem in automatic7C8 produc3 programs. Consider the digital cigita in Fig. 1,whic h is simulated by the program in Fig. 2, where the simulation isc13SP8 out for T steps. Manuscript received ....
R. Gupta, D.A. Berson, and J.Z. Fang, "Path profile guided partial redundancy elimination using speculation," EEE nternational Conf. Computer Languages, pp.230-- 239, EEE Society Press, 1998.
....using separate compilation, that is, one or a few files at a time. Therefore, the compiler does not have the opportunity to optimize the full program as a whole, even performing sophisticated inter procedural analysis. A second reason is the emergence of profile directed compilation techniques [12, 7]. However, the same problem of separate compilation plagues the use of profile feedback: large projects will be forced to re build every file to take advantage of the profiling information. Link time optimizations are able to re optimize the final binary using profile data without recompiling ....
R. Gupta, D. A. Berson, and J. Z. Fang. Path profile guided partial redundancy elimination using speculation. In Proceedings of the
....are based solely on the final object representation have the attraction of being able to work on a full program basis and be fully integrated on a normal compilebuild test cycle. A second reason for the recent interest in binary optimization has been the emergence of profile directed feedback [22, 7, 10, 13]. As it has been shown in several studies [3, 4] the compiler can use to great advantage the profiling information. However, the same problem of separate compilation plagues the production use of profile feedback. If the profiling information has to be used when compiling, then a large project ....
....to remove redundancies that occur only on some control flow paths. Horspool and Ho [14] described a new formulation of PRE based on a cost benefit of the flowgraph, by using edge profiles (our current implementation of partial LRE optimization is based in their equations) Gupta, Berson and Fang [13] extended this profile driven PRE algorithm by using path profiles. Register Promotion allows scalar values to be allocated to registers for regions or their lifetime, where the compiler can prove that there are no aliases for the value. Promotion carries out elimination of both redundant loads ....
R. Gupta, D. A. Berson, and J. Z. Fang. Path profile guided partial redundancy elimination using speculation. In Proceedings of the 1998 International Conference on Computer Languages, pages 230--239, Chicago, May 14--16 1998. IEEE Computer Society Press.
....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 introducing additional expression evaluations along less frequently executed paths. In [9] we developed an abstract run to compute the theoretically best solution and showed that the ....
R. Gupta, D. Berson, and J. Fang. Path profile guided partial redundancy elimination using speculation. In IEEE International Conferenceon Computer Languages, pages 230--239, Chicago, Illinois, May 1998.
....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]
R. Gupta, D. Berson, and J.Z. Fang. Path profile guided partial redundancy elimination using speculation. In IEEE International Conference on Computer Languages, pages 230--239, Chicago, Illinois, May 1998.
....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 ....
....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 ....
[Article contains additional citation context not shown here]
R. Gupta, D. Berson, and J.Z. Fang. Path profile guided partial redundancy elimination using speculation. In IEEE International Conference on Computer Languages, pages 230--239, Chicago, Illinois, May 1998.
....is also necessary when redundant operations are unhoistable, such as unconditional branches [MW92] or conditional branches [MW95, BGS97a] Gupta et al. apply control speculation, which is a form of code motion that may impair certain paths. They use program profile to control the impairment [GBF98] A more complete PRE by means of control speculation was also explored in [HH97, CKL 98] Other kinds of value flow optimizations are also built on one or more of these four transformations. Elimination of partially dead value presented in [KRS94b] maximizes optimization that is possible ....
....through 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 ....
[Article contains additional citation context not shown here]
R. Gupta, D. Berson, and J.Z. Fang. Path profile guided partial redundancy elimination using speculation. In IEEE International Conference on Computer Languages, May 1998.
.... 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 accurate, these optimizations are beneficial, and performance ....
....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 during global instruction ....
Gupta, R., Berson, D., and Fang, J. 1998. Path profile guided partial redundancy elimination using speculation. In Proceedings of the IEEE Conference on Computer Languages. IEEE, Piscataway, New Jersey.
No context found.
R. Gupta, D. Berson, and J.Z. Fang, "Path Profile Guided Partial Redundancy Elimination Using Speculation," IEEE International Conference on Computer Languages (ICCL), pages 230-239, Chicago, Illinois, May 1998.
No context found.
R. Gupta, D. Berson, and J.Z. Fang, "Path Profile Guided Partial Redundancy Elimination Using Speculation," IEEE International Conference on Computer Languages (ICCL), pages 230-239, Chicago, Illinois, May 1998.
....Gupta et al. apply control speculation, which is a transformation that inserts computations onto paths that did not compute these computations in the unoptimized program. As a result, some paths are optimized and some are impaired. To control the impairment, a run time program profile is used [GBF98] A speculative PRE was also explored in [HH97,CKL # 98] Other kinds of value flow optimizations are also built on one or more of these four transformations. Elimination of partially dead value presented in [KRS94c] maximizes optimization that is possible with code motion alone. Dead values ....
....demand driven 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 ....
[Article contains additional citation context not shown here]
R. Gupta, D. Berson, and J.Z. Fang. Path profile guided partial redundancy elimination using speculation. In IEEE International Conference on Computer Languages, May 1998.
....to combine predication with the PDE optimization in order to aggressively optimize frequently executed paths through a program. The approach for cost benefit analysis that we have presented is quite general and has also been applied to other problems including partial redundancy elimination [9], strength reduction [18] and load store elimination from loops [3, 8] The example in Figure 11 illustrates the application of our approach to partial redundancy elimination. In the first flow graph shown in Figure 11a, the evaluation of the expression x y in node 7 is partially redundant. ....
....times paths P1 and P2 are executed is expected to be greater than the number of times path P5 is executed, then the benefit derived from speculation at node 6 is greater than the cost of allowing speculation. Thus, in this situation it is beneficial to use the placement shown in Figure 11b. In [9] we describe in detail the combination of code speculation with the PRE optimization [16, 15] Speculation is enabled at conditional nodes based upon cost benefit analysis. In [10] we present predication based PRE and speculation based PRE algorithms that are resource sensitive. These algorithms ....
R. Gupta, D. Berson, and J.Z. Fang, "Path Profile Guided Partial Redundancy Elimination Using Speculation, " Technical Report TR-97-13, Dept. of Computer Science, University of Pittsburgh, 1997.
....that an optimization 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, ....
R. Gupta, D. Berson, and J.Z. Fang, "Path Profile Guided Partial Redundancy Elimination Using Speculation, " Proc. of the IEEE International Conference on Computer Languages, pages 230-239, Chicago, Illinois, May 1998.
....subexpression elimination (CSE) eliminates an expression that is preceded by an identical computation along all incoming paths. Finally, partial redundancy elimination (PRE) subsumes LICM and CSE by eliminating redundancy from instructions that are redundant along only a subset of incoming paths [1, 6, 7, 9, 13, 14, 16, 17, 19]. Since PRE is the most general redundancy elimination, the focus of this paper is on developing an improved PRE algorithm. PRE algorithms avoid repeated computation of the same value by computing the value once, saving it in a temporary, and reusing the value from the temporary when it is needed ....
R. Gupta, D. Berson, and J.Z. Fang, "Path Profile Guided Partial Redundancy Elimination using Speculation," IEEE International Conference on Computer Languages, pages 230-239, Chicago, Illinois, May 1998.
....relaxed for instruction that cannot except, leading to safe speculation. New processor generations will support control speculative instructions which will suppress raising the exception until the generated value is eventually used, allowing unsafe speculation [25] The latter problem is solved in [20], where an aggressive code motion PRE navigated by path profiles is developed. The goal is to allow speculative hoisting, but only into such paths on which dynamic impairment would not outweigh the benefit of eliminating the computation from its original position. Next, we utilize the CMP region ....
....the computation from its original position. Next, we utilize the CMP region to determine i) the profitability of speculative code motion and ii) the positions of speculative insertion points that minimize live ranges of temporary variables. Figure 6 illustrates the principle of speculative PRE [20]. Instead of duplicating the CMP region, we hoist the expression into all No available entry edges. This makes all exits fully available, enabling complete removal of original computations along the Must exits. In our example, a b] is moved into the No available region entry edge e2 . This ....
[Article contains additional citation context not shown here]
R. Gupta, D. Berson, and J.Z. Fang. Path profile guided partial redundancy elimination using speculation. In IEEE International Conference on Computer Languages, May 1998.
....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 Redundancy Elimination Using Speculation, " Technical Report TR-97-13, Dept. of Computer Science, University of Pittsburgh, 1997.
No context found.
R. Gupta, D. A. Berson, and J. Z. Fang. Path profile guided partial redundancy elimination using speculation. In Proceedings of the 1998.
No context found.
R. Gupta, D. A. Berson, and J. Z. Fang. Path profile guided partial redundancy elimination using speculation. Proceedings of the 1998.
No context found.
Rajiv Gupta, David A. Berson, and Jesse Z. Fang, Path profile guided partial redundancy elimination using speculation, Proceedings of the
No context found.
R. Gupta, D.A. Berson, and J.Z. Fang. Path profile guided partial redundancy elimination using speculation. In Proceedings of the 1998.
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