Browse Prior Art Database

Compilation Depen.dences in an Ambitious Optimizing Compiler

IP.com Disclosure Number: IPCOM000128285D
Original Publication Date: 1985-Dec-31
Included in the Prior Art Database: 2005-Sep-15

Publishing Venue

Software Patent Institute

Related People

Linda Marie Torezon: AUTHOR [+3]

Abstract

When interprocedural analysis and optimization are employed in an optimizing compiler based in a software development environment, cooperation between the components of the environment is essential. Many components in such a software development environment are involved in the computation of either interprocedural information or the initial information from which the interprocedural information is derived. These components must be capable of both recording the information that they produce in the environment's database and interpreting information left in the database by other components.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 2% of the total text.

Page 1 of 52

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

Compilation Depen.dences in an Ambitious Optimizing Compiler

Linda Marie Torezon

Rice COMP TR85-21

Department of Computer Science Rice University P.O. Box 1892 Houston, TX 77251-1892

*This research has been supported in part by National Science Foundation grants '.%4CS-81- 218884, MCS Compilation Dependences in an Ambitious Optimizing. Compiler

Linda Marie Torczon

ABSTRACT

When interprocedural analysis and optimization are employed in an optimizing compiler based in a software development environment, cooperation between the components of the environment is essential. Many components in such a software development environment are involved in the computation of either interprocedural information or the initial information from which the interprocedural information is derived. These components must be capable of both recording the information that they produce in the environment's database and interpreting information left in the database by other components.

To ensure that the components effectively cooperate, the impact of collecting interprocedural information and performing interprocedural optimizations must be carefully considered in the design of the environment. This dissertation presents an overview of the impact of interprocedural analysis and optimization on a software development environment designed to aid numerical programmers and an examination of the problems that arise in an ambitious optimizing compiler which introduces compilation dependences between the procedures of a program.

The concept of a program compiler encapsulates the analysis required to collect interprocedural information, track compilation dependences, and make smart recompilation decisions. A program compiler is responsible for analyzing a program that has been altered and determining a course of action that will return the executable image of that program to a state that is consistent with its source. The design presented for a program compiler incorporates passes. that perform the necessary Interprocedural analysis. Interprocedural summary and aliasing information is collected using methods presented in the literature. Techniques for detecting interprocedural constants are presented. These methods range from expensive algorithms that detect most of the interprocedural constants to cheaper al-orithms that detect fewer constants. Recompilation algorithms that detect the subtle dependences introduced between the procedures of a program when interprocedural information is used by the optimizer are described.

ACKNOWLEDGEMENTS

Rice University Page 1 Dec 31, 1985

Page 2 of 52

Compilation Depen.dences in an Ambitious Optimizing Compiler

Earning a doctoral degree is an exacting, albeit rewarding, experience. Without the support and encouragement of the Rice community, my family, and my friends, completing the requirements for a doctoral degree would have been difficult, if not impossible.

In p...