Optimizing Compilers for Modern Architectures: A Dependence-Based Approach

Chapter 12: Dependence in C and Hardware Design

12.1 Introduction

The focus of this book so far has been has been on the use of dependence analysis to optimize programs written in Fortran. Although this focus is a natural byproduct of the historical development of the concepts, it implies that dependence is useful only for application to Fortran programs. This implication grossly understates the power of dependence, which applies to any language and any translation context where arrays and loops are useful. This chapter expands the range of applicability of dependence by extending it to handle languages more complex than Fortran and by applying it in contexts other than language compilation and optimization.

From its inception, Fortran was designed to be a language amenable to high degrees of optimization. The simple input and problem domain originally envisioned for Fortran, the strong requirement for optimization, and the early development of the language all result in an absence of many of the language features common to more modern languages, such as pointers and structures. The first section of this chapter presents some of the issues involved in extending dependence analysis to handle more modern languages such as C.

The second section introduces some of the applications of dependence analysis to hardware design. Modern hardware design is generally done using a language- based approach, where higher-level languages similar to general-purpose programming languages are used to describe the device being designed. That description is then translated by tools (essentially compilers) into a lower-level description that permits actual chip production. Dependence analysis is...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Programming Languages
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.