[all-commits] [llvm/llvm-project] 93a873: [mlir][Affine] Revisit and simplify composeAffineM...
Nicolas Vasilache via All-commits
all-commits at lists.llvm.org
Tue Jan 19 06:10:43 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 93a873dfc9ee7e8b4386dea87e43c5f238eeef06
https://github.com/llvm/llvm-project/commit/93a873dfc9ee7e8b4386dea87e43c5f238eeef06
Author: Nicolas Vasilache <nicolas.vasilache at gmail.com>
Date: 2021-01-19 (Tue, 19 Jan 2021)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
M mlir/include/mlir/IR/AffineExpr.h
M mlir/include/mlir/IR/AffineMap.h
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/IR/AffineValueMap.cpp
M mlir/lib/IR/AffineExpr.cpp
M mlir/lib/IR/AffineMap.cpp
R mlir/test/Dialect/Affine/SuperVectorize/normalize_maps.mlir
M mlir/test/Dialect/Affine/affine-data-copy.mlir
M mlir/test/Dialect/Affine/canonicalize.mlir
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
M mlir/test/EDSC/builder-api-test.cpp
M mlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp
Log Message:
-----------
[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
More information about the All-commits
mailing list