[Mlir-commits] [mlir] 5a09a38 - NFC. Remove unnecessary builder argument in Affine Utils helper
Uday Bondhugula
llvmlistbot at llvm.org
Fri Oct 7 01:21:39 PDT 2022
Author: Uday Bondhugula
Date: 2022-10-07T13:51:19+05:30
New Revision: 5a09a38b5b1b6cb9b90f580aa448d70d81ec2e4d
URL: https://github.com/llvm/llvm-project/commit/5a09a38b5b1b6cb9b90f580aa448d70d81ec2e4d
DIFF: https://github.com/llvm/llvm-project/commit/5a09a38b5b1b6cb9b90f580aa448d70d81ec2e4d.diff
LOG: NFC. Remove unnecessary builder argument in Affine Utils helper
NFC. Remove unnecessary builder argument in an Affine Utils helper
function: normalizeMemRefType. A builder was never needed. While on
this, fix a clang-tidy warning from the same file.
Reviewed By: dcaballe
Differential Revision: https://reviews.llvm.org/D135423
Added:
Modified:
mlir/include/mlir/Dialect/Affine/Utils.h
mlir/lib/Dialect/Affine/Utils/Utils.cpp
mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
Removed:
################################################################################
diff --git a/mlir/include/mlir/Dialect/Affine/Utils.h b/mlir/include/mlir/Dialect/Affine/Utils.h
index 4381d1f2cf736..cea613dc97d7a 100644
--- a/mlir/include/mlir/Dialect/Affine/Utils.h
+++ b/mlir/include/mlir/Dialect/Affine/Utils.h
@@ -240,12 +240,11 @@ LogicalResult replaceAllMemRefUsesWith(Value oldMemRef, Value newMemRef,
/// escape (while leaving the IR in a valid state).
LogicalResult normalizeMemRef(memref::AllocOp *op);
-/// Uses the old memref type map layout and computes the new memref type to have
-/// a new shape and a layout map, where the old layout map has been normalized
-/// to an identity layout map. It returns the old memref in case no
-/// normalization was needed or a failure occurs while transforming the old map
-/// layout to an identity layout map.
-MemRefType normalizeMemRefType(MemRefType memrefType, OpBuilder builder,
+/// Normalizes `memrefType` so that the affine layout map of the memref is
+/// transformed to an identity map with a new shape being computed for the
+/// normalized memref type and returns it. The old memref type is simplify
+/// returned if the normalization failed.
+MemRefType normalizeMemRefType(MemRefType memrefType,
unsigned numSymbolicOperands);
/// Creates and inserts into 'builder' a new AffineApplyOp, with the number of
diff --git a/mlir/lib/Dialect/Affine/Utils/Utils.cpp b/mlir/lib/Dialect/Affine/Utils/Utils.cpp
index c26a6b0af430c..eaacce294bf13 100644
--- a/mlir/lib/Dialect/Affine/Utils/Utils.cpp
+++ b/mlir/lib/Dialect/Affine/Utils/Utils.cpp
@@ -1691,7 +1691,7 @@ LogicalResult mlir::normalizeMemRef(memref::AllocOp *allocOp) {
// Fetch a new memref type after normalizing the old memref to have an
// identity map layout.
MemRefType newMemRefType =
- normalizeMemRefType(memrefType, b, allocOp->getSymbolOperands().size());
+ normalizeMemRefType(memrefType, allocOp->getSymbolOperands().size());
if (newMemRefType == memrefType)
// Either memrefType already had an identity map or the map couldn't be
// transformed to an identity map.
@@ -1742,7 +1742,7 @@ LogicalResult mlir::normalizeMemRef(memref::AllocOp *allocOp) {
return success();
}
-MemRefType mlir::normalizeMemRefType(MemRefType memrefType, OpBuilder b,
+MemRefType mlir::normalizeMemRefType(MemRefType memrefType,
unsigned numSymbolicOperands) {
unsigned rank = memrefType.getRank();
if (rank == 0)
@@ -1790,10 +1790,11 @@ MemRefType mlir::normalizeMemRefType(MemRefType memrefType, OpBuilder b,
// Project out the old data dimensions.
fac.projectOut(newRank, fac.getNumVars() - newRank - fac.getNumLocalVars());
SmallVector<int64_t, 4> newShape(newRank);
+ MLIRContext *context = memrefType.getContext();
for (unsigned d = 0; d < newRank; ++d) {
// Check if each dimension of normalized memrefType is dynamic.
- bool isDynDim = isNormalizedMemRefDynamicDim(
- d, layoutMap, memrefTypeDynDims, b.getContext());
+ bool isDynDim =
+ isNormalizedMemRefDynamicDim(d, layoutMap, memrefTypeDynDims, context);
if (isDynDim) {
newShape[d] = -1;
} else {
@@ -1814,8 +1815,8 @@ MemRefType mlir::normalizeMemRefType(MemRefType memrefType, OpBuilder b,
MemRefType newMemRefType =
MemRefType::Builder(memrefType)
.setShape(newShape)
- .setLayout(AffineMapAttr::get(b.getMultiDimIdentityMap(newRank)));
-
+ .setLayout(AffineMapAttr::get(
+ AffineMap::getMultiDimIdentityMap(newRank, context)));
return newMemRefType;
}
@@ -1844,12 +1845,12 @@ static FailureOr<OpFoldResult> getIndexProduct(OpBuilder &b, Location loc,
FailureOr<SmallVector<Value>> mlir::delinearizeIndex(OpBuilder &b, Location loc,
Value linearIndex,
- ArrayRef<Value> dimSizes) {
- unsigned numDims = dimSizes.size();
+ ArrayRef<Value> basis) {
+ unsigned numDims = basis.size();
SmallVector<Value> divisors;
for (unsigned i = 1; i < numDims; i++) {
- ArrayRef<Value> slice = dimSizes.drop_front(i);
+ ArrayRef<Value> slice = basis.drop_front(i);
FailureOr<OpFoldResult> prod = getIndexProduct(b, loc, slice);
if (failed(prod))
return failure();
diff --git a/mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp b/mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
index 53accebe9ca9c..f61cbc458229b 100644
--- a/mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
+++ b/mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
@@ -364,7 +364,7 @@ void NormalizeMemRefs::normalizeFuncOpMemRefs(func::FuncOp funcOp,
}
// Fetch a new memref type after normalizing the old memref to have an
// identity map layout.
- MemRefType newMemRefType = normalizeMemRefType(memrefType, b,
+ MemRefType newMemRefType = normalizeMemRefType(memrefType,
/*numSymbolicOperands=*/0);
if (newMemRefType == memrefType || funcOp.isExternal()) {
// Either memrefType already had an identity map or the map couldn't be
@@ -472,7 +472,7 @@ void NormalizeMemRefs::normalizeFuncOpMemRefs(func::FuncOp funcOp,
}
// Computing a new memref type after normalizing the old memref to have an
// identity map layout.
- MemRefType newMemRefType = normalizeMemRefType(memrefType, b,
+ MemRefType newMemRefType = normalizeMemRefType(memrefType,
/*numSymbolicOperands=*/0);
resultTypes.push_back(newMemRefType);
}
@@ -511,7 +511,7 @@ Operation *NormalizeMemRefs::createOpResultsNormalized(func::FuncOp funcOp,
continue;
}
// Fetch a new memref type after normalizing the old memref.
- MemRefType newMemRefType = normalizeMemRefType(memrefType, b,
+ MemRefType newMemRefType = normalizeMemRefType(memrefType,
/*numSymbolicOperands=*/0);
if (newMemRefType == memrefType) {
// Either memrefType already had an identity map or the map couldn't
More information about the Mlir-commits
mailing list