Module 18: Loop Optimizations
  Lecture 35: Amdahl’s Law
 
Transformed Loop
For j = 1, 12
for I = 1, min(10,j)
A[I,j] = A[I, j+1]
endfor
endfor

Removal of Pseudo Dependencies

  • Anti dependencies and output dependencies arise from reuse of storage
  • These dependencies can be eliminated by avoiding the reuse of storage
  • Most common transformations
    • Renaming: Give the occurrences of a variable with disjoint lifetimes different names
    • Expansion: Make a scalar into an array
    • Node splitting: Make a copy of an array

Example

for I=1,100
A=.....
B=.....A...
A=......
C=.....A...

S1
S2
S3
S4