Loop Reversal
Run a loop backward.
All dependence directions are reversed.
It is only legal for loops that have no loop carried
dependences.
Can be used to allow fusion
(1) for i=1 to N do
(2) A[i] = B[i] + 1
(3) C[i] = A[i]/2
(4) endfor
(5) for i=1 to N do
(6) D[i] = 1/C[i+1]
(7) endfor
(1) for i=N downto 1 do
(2) A[i] = B[i] + 1
(3) C[i] = A[i]/2
(4) endfor
(5) for i=N downto 1 do
(6) D[i] = 1/C[i+1]
(7) endfor
(1) for i=N downto 1 do
(2) A[i] = B[i] + 1
(3) C[i] = A[i]/2
(6) D[i] = 1/C[i+1]
(7) endfor
Previous slide
Next slide
Back to first slide
View graphic version