llvm-project/mlir/lib/Dialect/Affine
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
..
EDSC Remove `Ops` suffix from dialect library names 2020-09-30 18:00:44 -07:00
IR [mlir][Affine] Revisit and simplify composeAffineMapAndOperands. 2021-01-19 13:52:07 +00:00
Transforms [mlir] Add an option to control the number of loops in affine parallelizer 2020-12-08 10:44:37 +01:00
Utils [mlir][NFC] Move helper substWithMin into Affine utils 2021-01-15 17:13:56 -08:00
CMakeLists.txt [MLIR] Complete refactoring of Affine dialect into sub-libraries. 2020-04-16 13:41:17 -07:00