llvm-project/mlir/lib/Dialect/Affine/IR
Nicolas Vasilache 93a873dfc9 [mlir][Affine] Revisit and simplify composeAffineMapAndOperands.
In prehistorical times, AffineApplyOp was allowed to produce multiple values.
This allowed the creation of intricate SSA use-def chains.
AffineApplyNormalizer was originally introduced as a means of reusing the AffineMap::compose method to write SSA use-def chains.
Unfortunately, symbols that were produced by an AffineApplyOp needed to be promoted to dims and reordered for the mathematical composition to be valid.

Since then, single result AffineApplyOp became the law of the land but the original assumptions were not revisited.

This revision revisits these assumptions and retires AffineApplyNormalizer.

Differential Revision: https://reviews.llvm.org/D94920
2021-01-19 13:52:07 +00:00
..
AffineMemoryOpInterfaces.cpp [mlir][Affine] Minor clean-up of D79829 2020-05-29 14:39:18 -07:00
AffineOps.cpp [mlir][Affine] Revisit and simplify composeAffineMapAndOperands. 2021-01-19 13:52:07 +00:00
AffineValueMap.cpp [mlir][Affine] Revisit and simplify composeAffineMapAndOperands. 2021-01-19 13:52:07 +00:00
CMakeLists.txt Remove `Ops` suffix from dialect library names 2020-09-30 18:00:44 -07:00