This commit adds functionality needed for implementation of convolutions with
linalg.generic op. Since linalg.generic right now expects indexing maps to be
just permutations, offset indexing needed in convolutions is not possible.
Therefore in this commit we address the issue by adding support for symbols inside
indexing maps which enables more advanced indexing. The upcoming commit will
solve the problem of computing loop bounds from such maps.
This commit is a fold of these commits:
[mlir] Added support for symbols inside linalg.generic indexing maps
[mlir] Added support for the shift of the symbols inside AffineExpr
[mlir] Added support for symbols in map concatenation
thanks!