See this document in CiteSeerX!

Path Splitting: A Technique for Improving Data Flow Analysis (1995)  (Make Corrections)  (2 citations)
Massimiliano Antonio Poletto



  Home/Search   Context   Related

 
View or download:
mit.edu/maxp/ms.ps.gz
Cached:  PS.gz  PS  PDF   Image  Update  Help

From:  mit.edu (more)
(Enter author homepages)

Rate this article: (best)
  Comment on this article  
(Enter summary)

Abstract: Path splitting is a new technique for improving the amount of data flow information statically available to the compiler about a fragment of code. Path splitting replicates code in order to provide optimal reaching definitions information within given regions of the control flow graph. This improved information is used to extend the applicability of various classical code optimizations, including copy and constant propagation, common subexpression elimination, dead code elimination, and code... (Update)

Context of citations to this paper:   More

...of unnecessary code. In the following 3 sections we outline each of these phases. Details can be found in the appendix and in [21]. Throughout, we refer to a simple example. The original flow graph, before any optimizations, appears in Figure 5(a) x : 3 w : x x : a...

...related to other work that focuses on improving the performance of particular program paths. A partial list of such works includes [8, 7, 9, 13, 6, 15]. A more detailed discussion of related work can be found in [11] As stated in the introduction, the interprocedural express...

Cited by:   More
The Interprocedural Express-lane Transformation - Melski, Reps (2003)   (Correct)
Path Splitting: A Technique for Improving Data-Flow Analysis - Poletto, Kaashoek, Engler (1995)   (Correct)

Active bibliography (related documents):   More   All
0.2:   An Infrastructure for Profile-Driven Dynamic Recompilation - Burger, Dybvig (1998)   (Correct)
0.2:   Optimizing Fortran90D/HPF for Distributed-Memory Computers - Roth (1997)   (Correct)
0.2:   A Transparent Method for Correlating Profiles with Source.. - Eugene Albert Gem (1999)   (Correct)

Similar documents based on text:   More   All
0.7:   An x86 Protected Mode Virtual Machine Monitor for the MIT Exokernel - Coffing (1999)   (Correct)
0.7:   Time Optimal Self-Stabilizing Spanning Tree Algorithms - Aggarwal (1993)   (Correct)
0.6:   Identifying and Merging Related Bibliographic Records - Hylton (1996)   (Correct)

Related documents from co-citation:   More   All
2:   Avoiding unconditional jumps by code replication - Mueller, Whalley - 1992
2:   Using profile information to assist classic compiler code optimizations - Chang, Mahlke et al. - 1991
2:   Trace Scheduling: A Technique for Global Microcode Compaction (context) - Fisher - 1981

BibTeX entry:   (Update)

Massimiliano Poletto. Path splitting: a technique for improving data flow analysis. Master's thesis, Massachusetts Institute of Technology, 1995. Also available online, at ftp://cag.lcs.mit.edu/pub/maxp/ms.ps[.gz]. http://citeseer.ist.psu.edu/poletto95path.html   More

@misc{ poletto95path,
  author = "M. Poletto",
  title = "Path splitting: a technique for improving data flow analysis",
  text = "Massimiliano Poletto. Path splitting: a technique for improving data flow
    analysis. Master's thesis, Massachusetts Institute of Technology, 1995.
    Also available online, at ftp://cag.lcs.mit.edu/pub/maxp/ms.ps[.gz].",
  year = "1995",
  url = "citeseer.ist.psu.edu/poletto95path.html" }
Citations (may not include all citations):
3972   Introduction to Algorithms (context) - Cormen, Leiserson et al. - 1990
1399   Compilers: Principles (context) - Aho, Sethi et al. - 1986
407   Trace scheduling: a technique for global microcode compactio.. (context) - Fisher - 1981
230   Compiler transformations for high-performance computing - Bacon, Graham et al. - 1992
225   Flow Analysis of Computer Programs (context) - Hecht - 1977
183   Profile guided code positioning (context) - Pettis, Hansen - 1990
173   Bulldog: a compiler for VLIW architectures (context) - Ellis - 1985
156   The Multiflow trace scheduling compiler - Lowney, Freudenberger et al. - 1993
156   A unified approach to global program optimization (context) - Kildall - 1973
152   An efficient method of computing static single assignment fo.. (context) - Cytron, Ferrante et al. - 1989
145   Customization: optimizing compiler technology for SELF (context) - Chambers, Ungar - 1989
130   Optimally profiling and tracing programs - Ball, Larus - 1992
116   Monotone data flow analysis frameworks (context) - Kam, Ullman - 1977
104   Lazy code motion - Knoop, Ruething et al. - 1994
103   Predicting conditional branch directions from previous runs .. (context) - Fisher, Freudenberger - 1992
99   Hints for computer system design - Lampson - 1983
94   Using profile information to assist classic code optimizatio.. - Chang, Mahlke et al. - 1991
90   Optimal loop parallelization (context) - Aiken, Nicolau - 1988
84   The SUIF compiler for scalable parallel machines (context) - Amarasinghe, Anderson et al. - 1995
79   A portable global optimizer and linker (context) - Benitez, Davidson - 1988
64   Efficient program tracing (context) - Larus - 1993
60   Predicting program behavior using real or estimated profiles - Wall - 1991
58   Rewriting executable files to measure program behavior - Larus, Ball - 1994
56   A retargetable compiler for ANSI C - Fraser, Hanson - 1991
45   Effective partial redundancy elimination - Briggs, Cooper - 1994
45   Enhanced modulo scheduling for loops with conditional branch.. - Warter, Haab et al. - 1992
41   Sharlit --- a tool for building optimizers - Tjiang, Hennessy - 1992
40   Accurate static estimators for program optimization (context) - Wagner, Maverick et al. - 1994
34   A case for runtime code generation (context) - Keppel, Eggers et al. - 1991
33   Superblock formation using static program analysis - Hank, Mahlke et al. - 1993
31   retargetable dynamic code generation system (context) - Engler, Proebsting et al. - 1994
28   Technical Report CSL-TR (context) - Smith, pixie - 1991
26   An analysis of inline substitution for a structured programm.. (context) - Scheifler - 1977
25   Instruction-level parallel processing (context) - Fisher, Rau - 1991
25   Inline function expansion for compiling C programs (context) - Hwu, Chang - 1989
21   Peephole optimization (context) - McKeeman - 1965
20   An overview of the SUIF compiler for scalable parallel machi.. - Amarasinghe, Anderson et al. - 1993
20   Eliminating branches using a superoptimizer and the GNU C co.. - Granlund, Kenner - 1992
20   Avoiding unconditional jumps by code replication - Mueller, Whalley - 1992
13   Quick compilers using peephole optimization - Davidson, Whalley - 1989
9   The design of very fast portable compilers (context) - Tanenbaum, Kaashoek et al. - 1989
5   Automatic Generation of Data-flow Analyzers: A tool for buil.. - Tjiang - 1993
5   optimizing research compiler (context) - Compiler, SUIF et al. - 1994
4   Profile-driven Compilation - Samples - 1991
2   Avoiding conditional branches in loops by code replication (context) - Mueller, Whalley - 1995

Documents on the same site (http://fermivista.math.jussieu.fr/ftp/ftp.cag.lcs.mit.edu.html):   More
Reactive Synchronization Algorithms for Multiprocessors - Lim (1994)   (Correct)
MGS: A Multigrain Shared Memory System - Yeung (1996)   (Correct)
Dribbling Registers: A Mechanism for Reducing Context.. - Vijayaraghavan.. (1992)   (Correct)

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