Skip to content

Commit 19a0d0a

Browse files
committed
[mlir] Rename ConvertToLLVMPattern::isSupportedMemRefType() to isConvertibleAndHasIdentityMaps().
Reviewed By: ftynse, herhut Differential Revision: https://reviews.llvm.org/D93752
1 parent 32a884c commit 19a0d0a

File tree

3 files changed

+12
-10
lines changed

3 files changed

+12
-10
lines changed

mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -512,8 +512,9 @@ class ConvertToLLVMPattern : public ConversionPattern {
512512
ValueRange indices,
513513
ConversionPatternRewriter &rewriter) const;
514514

515-
/// Returns if the givem memref type is supported.
516-
bool isSupportedMemRefType(MemRefType type) const;
515+
/// Returns if the given memref has identity maps and the element type is
516+
/// convertible to LLVM.
517+
bool isConvertibleAndHasIdentityMaps(MemRefType type) const;
517518

518519
/// Returns the type of a pointer to an element of the memref.
519520
Type getElementPtrType(MemRefType type) const;

mlir/lib/Conversion/GPUCommon/ConvertLaunchFuncToRuntimeCalls.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ LogicalResult ConvertAllocOpToGpuRuntimeCallPattern::matchAndRewrite(
369369
MemRefType memRefType = allocOp.getType();
370370

371371
if (failed(areAllLLVMTypes(allocOp, operands, rewriter)) ||
372-
!isSupportedMemRefType(memRefType) ||
372+
!isConvertibleAndHasIdentityMaps(memRefType) ||
373373
failed(isAsyncWithOneDependency(rewriter, allocOp)))
374374
return failure();
375375

@@ -670,7 +670,7 @@ LogicalResult ConvertMemcpyOpToGpuRuntimeCallPattern::matchAndRewrite(
670670
auto memRefType = memcpyOp.src().getType().cast<MemRefType>();
671671

672672
if (failed(areAllLLVMTypes(memcpyOp, operands, rewriter)) ||
673-
!isSupportedMemRefType(memRefType) ||
673+
!isConvertibleAndHasIdentityMaps(memRefType) ||
674674
failed(isAsyncWithOneDependency(rewriter, memcpyOp)))
675675
return failure();
676676

mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1087,7 +1087,8 @@ Value ConvertToLLVMPattern::getStridedElementPtr(
10871087

10881088
// Check if the MemRefType `type` is supported by the lowering. We currently
10891089
// only support memrefs with identity maps.
1090-
bool ConvertToLLVMPattern::isSupportedMemRefType(MemRefType type) const {
1090+
bool ConvertToLLVMPattern::isConvertibleAndHasIdentityMaps(
1091+
MemRefType type) const {
10911092
if (!typeConverter->convertType(type.getElementType()))
10921093
return false;
10931094
return type.getAffineMaps().empty() ||
@@ -1105,7 +1106,7 @@ void ConvertToLLVMPattern::getMemRefDescriptorSizes(
11051106
Location loc, MemRefType memRefType, ArrayRef<Value> dynamicSizes,
11061107
ConversionPatternRewriter &rewriter, SmallVectorImpl<Value> &sizes,
11071108
SmallVectorImpl<Value> &strides, Value &sizeBytes) const {
1108-
assert(isSupportedMemRefType(memRefType) &&
1109+
assert(isConvertibleAndHasIdentityMaps(memRefType) &&
11091110
"layout maps must have been normalized away");
11101111

11111112
sizes.reserve(memRefType.getRank());
@@ -1977,7 +1978,7 @@ struct AllocLikeOpLowering : public ConvertToLLVMPattern {
19771978

19781979
LogicalResult match(Operation *op) const override {
19791980
MemRefType memRefType = getMemRefResultType(op);
1980-
return success(isSupportedMemRefType(memRefType));
1981+
return success(isConvertibleAndHasIdentityMaps(memRefType));
19811982
}
19821983

19831984
// An `alloc` is converted into a definition of a memref descriptor value and
@@ -2411,7 +2412,7 @@ struct GlobalMemrefOpLowering : public ConvertOpToLLVMPattern<GlobalMemrefOp> {
24112412
matchAndRewrite(GlobalMemrefOp global, ArrayRef<Value> operands,
24122413
ConversionPatternRewriter &rewriter) const override {
24132414
MemRefType type = global.type().cast<MemRefType>();
2414-
if (!isSupportedMemRefType(type))
2415+
if (!isConvertibleAndHasIdentityMaps(type))
24152416
return failure();
24162417

24172418
LLVM::LLVMType arrayTy =
@@ -3031,12 +3032,12 @@ struct RankOpLowering : public ConvertOpToLLVMPattern<RankOp> {
30313032
template <typename Derived>
30323033
struct LoadStoreOpLowering : public ConvertOpToLLVMPattern<Derived> {
30333034
using ConvertOpToLLVMPattern<Derived>::ConvertOpToLLVMPattern;
3034-
using ConvertOpToLLVMPattern<Derived>::isSupportedMemRefType;
3035+
using ConvertOpToLLVMPattern<Derived>::isConvertibleAndHasIdentityMaps;
30353036
using Base = LoadStoreOpLowering<Derived>;
30363037

30373038
LogicalResult match(Derived op) const override {
30383039
MemRefType type = op.getMemRefType();
3039-
return isSupportedMemRefType(type) ? success() : failure();
3040+
return isConvertibleAndHasIdentityMaps(type) ? success() : failure();
30403041
}
30413042
};
30423043

0 commit comments

Comments
 (0)