Proceedings of the 1986 SIGPLAN Symposium on Compiler Construction 1986
DOI: 10.1145/12276.13321
|View full text |Cite
|
Sign up to set email alerts
|

Effectiveness of a machine-level, global optimizer

Abstract: We present an overview of the design of a machine-code-level, global (intraprocedural) optimizer that supports several front-ends producing code for the Hewlett-Packard Precision Architecture family of machines. The basic optimization strategy is described, including information about the division of responsibilities between various components of the compiler.Optimization algorithms are described, including a discussion of the dataflow information they require. Measurements showing the collective and individua… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

1989
1989
2002
2002

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 29 publications
(4 citation statements)
references
References 7 publications
0
4
0
Order By: Relevance
“…Ayers et al [30] describe a production-quality link-time optimizer for Hewlett-Packard systems running HP-UX, which is distinguished by its ability to perform whole-program optimizations on very large programs, by virtue of the careful attention paid to memory management issues. Machine-level global optimization is discussed also by Johnson and Miller [31], but, unlike alto, this system does not carry out interprocedural analysis and optimizations. One implication of this is that performance-critical modules written in hand-coded assembly language, third-party software such as libraries for which source code is not available, or code that is not in the source language supported by the compiler, is not amenable to optimization by these tools.…”
Section: Related Workmentioning
confidence: 99%
“…Ayers et al [30] describe a production-quality link-time optimizer for Hewlett-Packard systems running HP-UX, which is distinguished by its ability to perform whole-program optimizations on very large programs, by virtue of the careful attention paid to memory management issues. Machine-level global optimization is discussed also by Johnson and Miller [31], but, unlike alto, this system does not carry out interprocedural analysis and optimizations. One implication of this is that performance-critical modules written in hand-coded assembly language, third-party software such as libraries for which source code is not available, or code that is not in the source language supported by the compiler, is not amenable to optimization by these tools.…”
Section: Related Workmentioning
confidence: 99%
“…The user selects desired optimizing components with command-line options; for example, the low level optimizer may be invoked via -0 and the high level optimizer is typically invoked via + 0 3 or +04. The [29,21]. It consists of the following phases: basic block formation and optimization, interval construction and calculation of reaching dataflow information [27], global common subexpression elimination, calculation of need dataflow information, promotion of' memory variables, loop optimizations, formation and optimization of definitionhe webs, instruction scheduling, coloring register allocation, peephole optimization, branch optimization, branch reachability fixing, and (again) instruction scheduling.…”
Section: Optimization Techniques For the Pa-8000mentioning
confidence: 99%
“…Recent years have seen increasing interest in reasoning about and manipulating executable les 5,15,20,25,27,30,31,33]. When working with an executable le, we typically have information about the entire program|including, potentially, library functions| that is usually not available at compile time.…”
Section: Introductionmentioning
confidence: 99%