[mlir][affine] Fixed-Width DMA Analysis For Tiling
The current algorithm for choosing tile sizes did not take into account
potential constraints on the copies of memory to and from the cache.
Added analysis to help choose the ideal tile sizes, given the fixed-width
size of the data copies.
Contributed this work to the AffineLoopTile pass by adding an option
for the user to tell the pass what is the fixed-width limitation of the
data copies. If this option is not set (or if the analysis fails to find
valid tile sizes) the loop tiling pass will continue with the original
tiling algorithm.