Skip to content

Commit 49f30a3

Browse files
committed
[MLIR] Replace get(Void/Int)PtrType with getPtrType in ConvertToLLVMPattern
1 parent d0469d1 commit 49f30a3

File tree

4 files changed

+15
-11
lines changed

4 files changed

+15
-11
lines changed

mlir/include/mlir/Conversion/LLVMCommon/Pattern.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,12 @@ class ConvertToLLVMPattern : public ConversionPattern {
113113
Type getVoidType() const;
114114

115115
/// Get the MLIR type wrapping the LLVM i8* type.
116+
[[deprecated("Use getPtrType() instead!")]]
116117
Type getVoidPtrType() const;
117118

119+
/// Get the MLIR type wrapping the LLVM ptr type.
120+
Type getPtrType(unsigned addressSpace = 0) const;
121+
118122
/// Create a constant Op producing a value of `resultType` from an index-typed
119123
/// integer attribute.
120124
static Value createIndexAttrConstant(OpBuilder &builder, Location loc,

mlir/lib/Conversion/LLVMCommon/Pattern.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,13 @@ Type ConvertToLLVMPattern::getVoidType() const {
4646
return LLVM::LLVMVoidType::get(&getTypeConverter()->getContext());
4747
}
4848

49-
Type ConvertToLLVMPattern::getVoidPtrType() const {
50-
return LLVM::LLVMPointerType::get(&getTypeConverter()->getContext());
49+
Type ConvertToLLVMPattern::getPtrType(unsigned addressSpace) const {
50+
return LLVM::LLVMPointerType::get(&getTypeConverter()->getContext(),
51+
addressSpace);
5152
}
5253

54+
Type ConvertToLLVMPattern::getVoidPtrType() const { return getPtrType(); }
55+
5356
Value ConvertToLLVMPattern::createIndexAttrConstant(OpBuilder &builder,
5457
Location loc,
5558
Type resultType,
@@ -273,7 +276,7 @@ LogicalResult ConvertToLLVMPattern::copyUnrankedDescriptors(
273276
? builder
274277
.create<LLVM::CallOp>(loc, mallocFunc.value(), allocationSize)
275278
.getResult()
276-
: builder.create<LLVM::AllocaOp>(loc, getVoidPtrType(),
279+
: builder.create<LLVM::AllocaOp>(loc, getPtrType(),
277280
IntegerType::get(getContext(), 8),
278281
allocationSize,
279282
/*alignment=*/0);

mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -408,8 +408,7 @@ struct AllocaScopeOpLowering
408408

409409
// Save stack and then branch into the body of the region.
410410
rewriter.setInsertionPointToEnd(currentBlock);
411-
auto stackSaveOp =
412-
rewriter.create<LLVM::StackSaveOp>(loc, getVoidPtrType());
411+
auto stackSaveOp = rewriter.create<LLVM::StackSaveOp>(loc, getPtrType());
413412
rewriter.create<LLVM::BrOp>(loc, ValueRange(), beforeBody);
414413

415414
// Replace the alloca_scope return with a branch that jumps out of the body.
@@ -1122,8 +1121,7 @@ class MemRefCopyOpLowering : public ConvertOpToLLVMPattern<memref::CopyOp> {
11221121
};
11231122

11241123
// Save stack position before promoting descriptors
1125-
auto stackSaveOp =
1126-
rewriter.create<LLVM::StackSaveOp>(loc, getVoidPtrType());
1124+
auto stackSaveOp = rewriter.create<LLVM::StackSaveOp>(loc, getPtrType());
11271125

11281126
auto srcMemRefType = dyn_cast<MemRefType>(srcType);
11291127
Value unrankedSource =
@@ -1249,7 +1247,7 @@ struct MemorySpaceCastOpLowering
12491247
result, resultAddrSpace, sizes);
12501248
Value resultUnderlyingSize = sizes.front();
12511249
Value resultUnderlyingDesc = rewriter.create<LLVM::AllocaOp>(
1252-
loc, getVoidPtrType(), rewriter.getI8Type(), resultUnderlyingSize);
1250+
loc, getPtrType(), rewriter.getI8Type(), resultUnderlyingSize);
12531251
result.setMemRefDescPtr(rewriter, loc, resultUnderlyingDesc);
12541252

12551253
// Copy pointers, performing address space casts.
@@ -1530,8 +1528,7 @@ struct MemRefReshapeOpLowering
15301528
UnrankedMemRefDescriptor::computeSizes(rewriter, loc, *getTypeConverter(),
15311529
targetDesc, addressSpace, sizes);
15321530
Value underlyingDescPtr = rewriter.create<LLVM::AllocaOp>(
1533-
loc, getVoidPtrType(), IntegerType::get(getContext(), 8),
1534-
sizes.front());
1531+
loc, getPtrType(), IntegerType::get(getContext(), 8), sizes.front());
15351532
targetDesc.setMemRefDescPtr(rewriter, loc, underlyingDescPtr);
15361533

15371534
// Extract pointers and offset from the source memref.

mlir/test/lib/Conversion/FuncToLLVM/TestConvertCallOp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class TestTypeProducerOpConverter
2828
LogicalResult
2929
matchAndRewrite(test::TestTypeProducerOp op, OpAdaptor adaptor,
3030
ConversionPatternRewriter &rewriter) const override {
31-
rewriter.replaceOpWithNewOp<LLVM::ZeroOp>(op, getVoidPtrType());
31+
rewriter.replaceOpWithNewOp<LLVM::ZeroOp>(op, getPtrType());
3232
return success();
3333
}
3434
};

0 commit comments

Comments
 (0)