Loop Fission
Breaks a loop into two or more smaller loops.
(1) for i=1 to N do
(2) A[i] = A[i] + B[i-1]
(3) B[i] = C[i-1]*X + Z
(4) C[i] = 1/B[i]
(5) D[i] = sqrt(C[i])
(6) endfor
Original Loop
(1) for ib=0 to N-1 do
(3) B[ib+1] = C[ib]*X + Z
(4) C[ib+1] = 1/B[ib+1]
(6) endfor
(1) for ib=0 to N-1 do
(2) A[ib+1] = A[ib+1] + B[ib]
(6) endfor
(1) for ib=0 to N-1 do
(5) D[ib+1] = sqrt(C[ib+1])
(6) endfor
(1) i = N+1
After Loop Fission
Previous slide
Next slide
Back to first slide
View graphic version