
180 Chapter 3 Programs
Figure 3-22 shows the Panda et al. algorithm for assigning addresses to
arrays. They use a greedy strategy to move arrays apart to minimize conflicts.
The AssignmentCost function uses (EQ 3-6) to test the placement of an array A
against all other arrays with which it may conflict and return the cost of a partic-
ular address assignment.
combined data
and loop
transformations
Kandemir et al. [Kan99a] developed a methodology that combines data
and loop transformations to optimize cache performance. They first transform
the loop nest such that the destination array (the array on the left side of the
assignment) has its innermost