94 citations found. Retrieving documents...
Pohua Chang, et al., "Using Profile Information to Assist Classic Code Optimizations," Software-Practice and Experience, vol. 21, no. 12 (1991): 1301-1321.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

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

....of the application. Several systems [26, 35, 34] have shown that performance can be improved substantially by exploiting invariant runtime values; however, these systems were not fully automatic and relied on programmer directives to identify regions of code to be optimized. Many researchers (ex. [37, 40, 31, 18]) have focused on performing feedback directed optimizations in which the application behavior is captured from a prior execution of the program because these profiling executions typically incur significant overhead. Although the resulting performance improvements are often promising, this ....

....frequencies of basic blocks can be easily derived from edge frequencies. Such profile information is useful for a variety of optimizations. It has been used o#line in previous work for optimizations such as code reordering [40] instruction scheduling [31] and other classic code optimizations [18]. There are two subproblems involved in collecting edge profiles for the purpose of optimization: collecting the profiles, and making the profiles available to the client optimizations that use them. These two topics are discussed in the next two subsections, respectively. Collecting Edge ....

[Article contains additional citation context not shown here]

Pohua P. Chang, Scott A. Mahlke, and Wen-Mei W. Hwu. Using profile information to assist classic code optimizations. Software---Practice and Experience, 21(12):1301--1321, December 1991.


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

....procedures, which can lead to more optimization opportunities [5] 2. We perform code transformation before performing data flow analysis. This allows us to use classic data flow analyses. 3. We guide path duplication using interprocedural path profiles. This point may sound redundant, but [7], for example, uses edge profiles to duplicate intraprocedural paths. The advantage of using interprocedural path profiles is that we get more accuracy in terms of which paths are important. 4. We perform interprocedural range analysis on the transformed graph. 5. We attempt to eliminate ....

....no reduction strategy is used to limit code growth. In fact, aggressive reduction strategies can destroy the performance gains. There are several possible reasons for this: 1. GCC may be able to take advantage of the express lane transformation to perform its own optimizations (e.g. code layout [7]) 2. Reduction of the hot path graphs may result in poorer code layout that requires more unconditional jumps along critical paths [12] 3. The more aggressive reduction strategies seek only to preserve decided branches, and may destroy data flow facts that show an expression to have a constant ....

[Article contains additional citation context not shown here]

P.P. Chang, S.A. Mahlke, and W.W. Hwu. Using profile information to assist classic code optimizations. Software practice and experience, 1(12), Dec. 1991.


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

....were not fully automatic and relied on programmer directives to identify regions of code to be optimized. There exists a large body of work on collecting profiling information by performing instrumentation [25, 44, 4, 18, 17] as well as fully automatic optimizations based instrumented profiles [34, 27, 46, 30, 31, 10, 62, 65, 53]. However this work assumes the execution model where a profiles can be collected o#ine, using a separate training run. Although the resulting speedups are often promising, this approach fails in scenarios where 1) it is impractical to collect a profile prior to execution, or 2) the application ....

....feedback directed optimizations (either o#ine or online) strives to improve performance by using profiling information to identify common execution patterns that can be exploited when performing optimizations. Many systems have demonstrated success using o#ine profiling data to perform FDO [26, 34, 27, 46, 30, 31, 10, 62, 65, 53]. However, online feedback directed optimization is more di#cult than o#ine feedbackdirected optimization for several reasons. When using o#ine profile information, the profile is usually assumed to be free, accurate, and available prior to execution. With online profiling, none of these are ....

[Article contains additional citation context not shown here]

Pohua P. Chang, Scott A. Mahlke, and Wen-Mei W. Hwu. Using profile information to assist classic code optimizations. Software---Practice and Experience, 21(12):1301-- 1321, December 1991.


Published in the Proceedings of the International.. - France October This   (Correct)

....4 followed by a description of how the proposed technique is applied in Section 5. Finally, Section 6 presents the experiments. 2. Related Work 2. 1 Traditional Profiling Traditional profiling executes instrumented code and collects control flow characterization to assist in code optimization [2][16] Profiling introduces significant performance overhead as evidenced by proposals for hardware assisted instrumentation or sampling based profiling schemes [9] Such techniques rely upon execution of code on the actual system. Traditional profile data can be collected by executing a program, ....

P. Chang, S. Mahlke, W. Hwu, Using profile information to assist classic code optimization, Software Practice and Experience, V 21 n 12, Dec 1991


Speedup Prediction for Selective Compilation of.. - de Verdiere..   (Correct)

....this speedup. This means that we go beyond the best speedup observed with the naive approach while (at the same time) reducing by 75.4 the size of the compiled bytecode. 5 Related work Profiling information has been used for a long time to guide optimizers in static compilers. One trend of work [3, 4] uses profiling information to detect frequently executed scenarios and transform the program so as to be able to optimize the frequently executed code. More recently, profiling information has been used in dynamic optimization systems. Some work only uses it to detect so called hot spots [6, 10] ....

Pohua P. Chang, Scott A. Mahlke, and Wen-mei W. Hwu. Using profile information to assist classic code optimizations. Software Practice and Experience, 1991.


Prescient Instruction Prefetch - Aamodt, Marcuello, Chow, Hammarlund, ..   (Correct)

....defined by a set of states and a set of transitions. The basic blocks in a procedure represent the states of the Markov chain, and transitions are defined by the probabilities of branch outcomes in the control flow graph. These probabilities can be readily gleaned from the traditional edge profile [2] that measures the probability that one block flows to another assuming independent branch outcomes. For inter procedural control flow we model the effect of procedure calls with a restriction on transitions into and out of procedures such that a callee must return to its caller. In particular, ....

P.Chang,S.Mahlke,W.Hwu,UsingProfileInformationto Assist Classic Code Optimizations, Software Practice and Experience, vol. 21, no.12, pp. 1301-1321, 1991.


A Framework for Modeling and Optimization of.. - Aamodt.. (2003)   (Correct)

....A Markov chain is defined by a set of states and transitions. The basic blocks in a procedure represent the states of the Markov chain, and transitions are defined by the probabilities of branch outcomes in the control flow graph. These probabilities can be gleaned from traditional edge profiling [2], which measures the frequency that one block flows to another. For inter procedural control flow, we summarize the e#ect of procedure calls when necessary by computing summaries for subroutines, or sets of mutually recursive functions. This is equivalent to restricting transitions into and out of ....

P. P. Chang, S. A. Mahlke, and W. Hwu. Using Profile Information to Assist Classic Code Optimizations. Software -- Practice and Experience, 21(12):1301--1321, 1991.


Partial Redundancy Elimination Driven by a Cost-Benefit Analysis - Horspool, Ho (1997)   (8 citations)  (Correct)

.... significant of the previous work in this area concerns the use of profile information to determine which function calls can be profitably inlined [14] The closest previously published work to our own is an examination by Chang et al. of how profiles can be used in classical code optimizations [1]. Indeed, Chang et al. gave one example where a partial redundancy elimination was performed. However, they did not formalize the technique or give a systematic algorithm for finding the opportunities for code motion. We believe that our approach is the first formalization of code motion ....

P.P. Chang, S.A. Mahlke, W.Y. Chen, and W.W. Hwu. "Using Profile Information to Assist Classic Code Optimizations ", Software -- Practice & Experience 21, 12, Chichester, Dec. 1991, pp. 1301-1321.


The StarJIT Compiler: A Dynamic Compiler for Managed Runtime.. - Adl-Tabatabai (2003)   (Correct)

....implementation. Dynamic Profile Guided Optimizations The StarJIT compiler supports dynamic profile guided optimization (DPGO) as part of its dynamic compilation framework. Modern static compilers have used profileguided optimization (PGO) to achieve significant performance improvement [5] [7] The performance benefit from PGO on the Itanium Processor Family architecture is even more profound, with a speedup of approximately 20 observed on certain integer benchmarks. Traditional static PGO requires an initial compilation and execution run to collect an execution profile for use in ....

P.P. Chang, S.A. Mahlke and W.W. Hwu, "Using Profile Information to Assist Classic Code Optimizations," Software-Practice and Experience, vol. 21(12), Dec. 1991, pp.1301-1321.


Managing Dynamic Reconfiguration Overhead in Systems-on-a-Chip .. - Huang, Malik (2001)   (1 citation)  (Correct)

....above are the logic blocks and design of the interconnection network. This is designed specific to an application family. The methodology flow for this is shown in Figure 2. The input to the design is C source code for an application or a set of applications from a domain. First we use the IMPACT [10,7] compiler , which is part of the MESCAL compiler infrastructure, as the front end to do some pre processing, including performance profiling and loop detection. The preprocessing is done on scheduled and register allocated intermediate code (IMPACT lcode) The performance profiling information ....

P. Chang, S. Mahlke, W. W. Hwu "Using Profile Information to Assist Classic Compiler Code Optimizations "Software Practice and Experience, Dec. 1991, Vol. 21, No. 12, pp. 1301-1321.


Dynamic Optimization through the use of Automatic Runtime.. - Whaley (1999)   (3 citations)  (Correct)

....optimization Profile driven optimization is a relatively new field. Some static compilers utilize profile information from prior test runs to perform better optimizations, for example, trace scheduling [79] improving cache locality [87, 117, 48, 128, 127] or traditional optimizations [35, 34, 36, 23]. Profile driven optimizations have shown up in recent commercial products [89, 88, 131] There has been work on using profile information in dynamic compilers for Scheme [18, 17, 19] Self [61] Cecil [26] and ML [96, 101] More recently, the upcoming HotSpot dynamic compiler for Java claims to ....

Pohua P. Chang, Scott A. Mahlke, and Wen mei W. Hwu. Using profile information to assist classic code optimizations. Software Practice and Experience, 1991.


Relational Profiling: Enabling Thread-Level Parallelism in.. - Heil, Smith (2000)   (8 citations)  (Correct)

....shown in Figure 2 illustrate how the RPA can specify different profiling applications. Example a) Edge Profiling Edge profiles, counts of how often conditional branches are taken and not taken, are one of the most useful types of profiles, enabling or improving several important optimizations [2, 4, 26]. These profiles are also relatively easy to collect. Figure 2a shows the RPA assembly for the query. The query header indicates the PC and branch outcome (taken not taken) result as well as a branch misprediction flag (misc) for branch instructions should be collected. Random sampling is used to ....

P. P. Chang, S. A. Mahlke, W. W. Hwu, "Using Profile Information to Assist Classic Code Optimizations," Software-Practice and Experience, vol. 21, pp. 1301-1321, Dec. 1991.


Self-adapting Numerical Software for Next Generation.. - Dongarra, Eijkhout (2002)   (2 citations)  (Correct)

....of a sparse matrix on a parallel machine at run, and automatically run a graph partitioner like Parmetis [36] to redistribute it to accelerate subsequent matrix vector multiplications. Feedback Directed Compilation This involves running the program, collecting profile and other information [29, 19, 7, 3] and recompiling with this information. We will make use of this mode through the explicit incorporation of a database of performance history information. 5.3 Applying SANS to Sparse Linear Algebra In dense linear algebra, efficient use of the memory hierarchy is probably the single most ....

P. P. Chang, S. A. Mahlke, and W. W. Hwu. Using profile information to assist classic code optimizations. Software -- Practice & Experience, 21(12):1301--1321, December 1991.


Static Branch Frequency and Program Profile Analysis - Wu, Larus (1994)   (27 citations)  (Correct)

....at which optimizations produce the greatest benefits. For example, branch probabilities can guide instruction generation and scheduling to reduce stalls on pipelined processors [Fisher 81, Hank 93] Block and function execution frequencies can identify program bottlenecks during optimization [Chang 91] or assist in performance analysis [Sarkar 89] Branch and function call frequencies help order code for instruction scheduling [Hwu 89, McFarling 89] or enhance memory reference locality [Pettis 90, Wu 92] Most previous work on profiling studied techniques for decreasing the cost of profiling ....

Chang, P.P., S.A. Mahlhe, and W. W. Hwu,, "Using profile information to assist classic code optimizations." Software Practice and Experience, 21, 12 (Dec., 1991) pp. 1301-1321.


Dynamic Control Of Compile Time Using Vertical Region-Based.. - Braun   Self-citation (Hwu)   (Correct)

....a specialized suite of transformations is applied to it to take advantage of these new opportunities. In the context of superblock formation, the process of tail duplication has been employed to eliminate side entrances from a superblock so that the optimizer need not take them into consideration [27]. This same technique can also be applied to eliminate side entrances from arbitrary regions. Tail duplication duplicates all blocks within a region that are reachable from a side entrance, thus eliminating the entrance. There are seven levels of optimization available to the compile time ....

P. P. Chang, S. A. Mahlke, and W. W. Hwu, "Using profile information to assist classic code optimizations," Software Practice and Experience, vol. 21, pp. 1301-- 1321, December 1991.


A Transparent Method for Correlating Profiles with Source.. - Eugene Albert Gem (1999)   (5 citations)  (Correct)

No context found.

Pohua Chang, et al., "Using Profile Information to Assist Classic Code Optimizations," Software-Practice and Experience, vol. 21, no. 12 (1991): 1301-1321.


Refactoring Using Event-based Profiling - Nagarajan, Memon   (Correct)

No context found.

P. P. Chang, S. A. Mahlke, and W. mei W. Hwu. Using profile information to assist classic code optimizations. Software - Practice and Experience, 21(12):1301--1321, 1991.


TFP: Time-sensitive, Flow-specific Profiling at Runtime - Nandy, Gao, Ferrante (2003)   (Correct)

No context found.

Pohua P. Chang, Scott A. Mahlke, and Wen mei W. Hwu. Using profile information to assist classic code optimizations. Software - Practice and Experience, 21(12):1301-- 1321, 1991.


Techniques for Transparent Program Specialization in Dynamic.. - Sastry   (Correct)

No context found.

P. P. Chang, S. A. Mahlke, and W.-M. W. Hwu. Using Profile Information to Assist Classic Code Optimizations. Software: Practice and Experience, 21(12):1301--1321, Dec. 1991.


Improving the Adaptability of Multi-mode Systems via Program.. - Lee Lin Michael (2004)   (Correct)

No context found.

P. P. Chang, S. A. Mahlke, and W.-m. W. Hwu. Using profile information to assist classic code optimizations. Software Practice and Experience, 1991.


Investigating Adaptive Compilation Using the MIPSpro Compiler - Cooper, Waterman (2003)   (3 citations)  (Correct)

No context found.

Pohua P. Chang, Scott A. Mahlke, and Wen mei W. Hwu. Using profile information to assist classic code optimizations. Software Practice and Experience, 21(12):1301--1321, December 1991.


Self-adapting Numerical Software for Next Generation - Applications Lapack Working (2003)   (Correct)

No context found.

P. P. Chang, S. A. Mahlke, and W. W. Hwu. Using profile information to assist classic code optimizations. Software -- Practice & Experience, 21(12):1301--1321, December 1991.


A Survey of Adaptive Optimization in Virtual Machines - Arnold, Fink, Grove, Hind.. (2004)   (Correct)

No context found.

P. P. Chang, S. A. Mahlke, and W.-M. W. Hwu, "Using profile information to assist classic code optimizations," Software ---Practice and Experience, vol. 21, no. 12, pp. 1301--1321, Dec. 1991.


Checking Program Profiles - Patrick Moseley Saumya (2003)   (Correct)

No context found.

P. P. Chang, S. A. Mahlke, and W. W. Hwu. Using profile information to assist classic code optimizations. Software - Practice and Experience, 21(12):1301-- 1321, 1991.


Software---Practice And Experience, Vol. 24(8), 729--746.. - Matrix Model For   (Correct)

No context found.

P. P. Chang, S.A. Mahlke and W. W. Hwu, `Using profile information to assist classic code optimization', Software---Practice and Experience, 21, (12), 1301--1321 (1991).

First 50 documents  Next 50

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