do i = lo_i, hi_i
do j = lo_j, hi_j
body
end do
end do
Into:
do ii = lo_i, hi_i, TILE
do jj = lo_j, hi_j, TILE
do i = ii, MIN(ii + TILE - 1, hi_i)
do j = jj, MIN(jj + TILE - 1, hi_j)
body
end do
end do
end do
end do
Returns unchanged [outer] if either loop is not a unit-step range loop.
Tiles a perfect 2-deep loop nest by
tileSize.Transforms:
Into:
Returns unchanged
[outer]if either loop is not a unit-step range loop.