Dependence Analysis pp 81-120 | Cite as

# Perfect Loop Nests

Chapter

## Abstract

In Chapter 2, we gave a detailed introduction to the concepts and techniques of dependence analysis using a single loop as the model. In Chapter 3, we showed how things can become complicated very quickly when there are two loops to deal with. The model for this chapter is a perfect nest of an arbitrary number of loops. Our goal is to properly formulate the linear dependence problem in the context of such a program. We will not discuss methods of solution in this chapter except in some special cases (Section 4.6) and examples. Matrix notation becomes almost a necessity at this point; without that, we run the risk of drowning in a sea of subscripts. The reader should keep on hand a double loop of the form where

$$
\begin{gathered}
L_1 :do I_1 = p_{10} ,q_{10} ,\theta _1 \hfill \\
L_2 :do I_2 = p_{20} + p_{21} I_1 ,q_{20} + q_{21} I_1 ,\theta _2 \hfill \\
H(I_1 ,I_2 ) \hfill \\
enddo \hfill \\
enddo \hfill \\
\end{gathered}
$$

*p*_{10},*q*_{10},*p*_{20},*p*_{21},*q*_{20}, and*q*_{21}are integer constants, and try to understand the results and notation of this chapter first in terms of that particular perfect nest. Note that in Chapter 3, we wrote*p*_{1}for*p*_{10}, and*q*_{1}for*q*_{10}.## Keywords

Direction Vector Integer Solution Iteration Space Distance Vector Iteration Variable
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

## Preview

Unable to display preview. Download preview PDF.

## Copyright information

© Kluwer Academic Publishers 1997