[mlir][affine] Support affine.parallel in the index set analysis
authorKai Sasaki <lewuathe@gmail.com>
Sun, 4 Dec 2022 11:09:01 +0000 (20:09 +0900)
committerKai Sasaki <lewuathe@gmail.com>
Sun, 4 Dec 2022 11:36:48 +0000 (20:36 +0900)
commit1d541bd92044432e98c58e2d291c9776516b42f9
tree47046e0a7b7d3ffd19d6c9dee88f5ee44a0d53f9
parent8be0d8fb83aa359caf0a7413c4a0fe49aef0dff1
[mlir][affine] Support affine.parallel in the index set analysis

Support affine.parallel in the index set analysis. It allows us to do dependence analysis containing affine.parallel in addition to affine.for and affine.if. This change only supports the constant lower/upper bound in affine.parallel. Other complicated affine map bounds will be supported in further commits.

See https://github.com/llvm/llvm-project/issues/57327

Reviewed By: bondhugula

Differential Revision: https://reviews.llvm.org/D136056
mlir/include/mlir/Dialect/Affine/Analysis/AffineStructures.h
mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp
mlir/lib/Dialect/Affine/IR/AffineOps.cpp
mlir/test/Dialect/Affine/scalrep.mlir
mlir/test/Transforms/memref-dependence-check.mlir
mlir/test/lib/Analysis/TestMemRefDependenceCheck.cpp