1997
DOI: 10.1145/258916.258927
|View full text |Cite
|
Sign up to set email alerts
|

Interprocedural dataflow analysis in an executable optimizer

Abstract: Interprocedural dataflow information enables link-time and post-link-time optimizers to perform analyses and code transformations that are not possible in a traditional compiler. This paper describes the interprocedural dataflow analysis techniques used by Spike, a post-linktime optimizer for Alpha/NT executables. Spike uses dataflow analysis to su mmarize the register definitions, uses, and kills that occur external to each routine, allowing Spike to perform a variety of optimizations that require interproced… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
8
0

Year Published

1998
1998
2006
2006

Publication Types

Select...
3
2
2

Relationship

0
7

Authors

Journals

citations
Cited by 10 publications
(8 citation statements)
references
References 8 publications
0
8
0
Order By: Relevance
“…Not as much attention has been levied on analyzing machine code. Several researchers have looked at link time optimization [16,17,18,19,21], where machine code has to be analyzed, however, as pointed out by Debray et al [8], they are "limited to fairly simple local analysis." There is a wealth of literature on pointer analysis [1,2,3,22,25,26,27,28,8,5,6,7].…”
Section: Related Workmentioning
confidence: 99%
“…Not as much attention has been levied on analyzing machine code. Several researchers have looked at link time optimization [16,17,18,19,21], where machine code has to be analyzed, however, as pointed out by Debray et al [8], they are "limited to fairly simple local analysis." There is a wealth of literature on pointer analysis [1,2,3,22,25,26,27,28,8,5,6,7].…”
Section: Related Workmentioning
confidence: 99%
“…This type of analysis was originally applied to compiler optimization [2] in order to determine safe code restructuring. The development of efficient and precise dependence analysis algorithms continues as an active area of research among compiler designers (e.g., [4,9,13]). The application of dependence analysis techniques to aid program understanding and impact analysis has been widely studied (e.g., [19,21,23]).…”
Section: Introductionmentioning
confidence: 99%
“…Alias analysis and register liveness analysis are well-known data-flow problems already described in the literature [1,23]. However, such analyses are typically formulated in terms of source-level constructs, and do not handle features typically encountered in executable programs [17,11,24,13]. Also, LRE requires of a careful cost-benefit analysis, since we assume that the cost of inserting moves will be lower than that of the redundant load.…”
Section: Mre On Executable Codementioning
confidence: 99%
“…While a number of systems have been described for optimization of executable code [28,7,17,25], to the best of our knowledge, elimination of redundant memory operations in these systems is limited to fairly simple removal.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation