[mlir][amdgpu] Add type conversion to populate method (NFC) (#171708)

* Renames populateAMDGPUMemorySpaceAttributeConversions to
populateAMDGPUTypeAndAttributeConversions.
* Adds TDMBaseType conversion to
populateAMDGPUTypeAndAttributeConversions.
This commit is contained in:
Erick Ochoa Lopez
2025-12-11 08:44:19 -05:00
committed by GitHub
parent dec52b2c47
commit 87345d2ad4
2 changed files with 9 additions and 10 deletions

View File

@@ -23,8 +23,8 @@ class Pass;
#include "mlir/Conversion/Passes.h.inc"
/// Note: This function will also add conversions for the AMDGPU-specific
/// address spaces, but those can be added separately using
/// populateAMDGPUMemorySpaceAttributeConversions().
/// address spaces and types, but those can be added separately using
/// populateAMDGPUTypeAndAttributeConversions().
void populateAMDGPUToROCDLConversionPatterns(LLVMTypeConverter &converter,
RewritePatternSet &patterns,
amdgpu::Chipset chipset);
@@ -33,8 +33,7 @@ void populateAMDGPUToROCDLConversionPatterns(LLVMTypeConverter &converter,
/// by mapping amdgpu::AddressSpace::fat_raw_buffer to ptr addrspace(7),
/// amdgpu::AddressSpace::buffer_rsrc to ptr addrspace(8), and
/// amdgpu::AddressSpace::fat_strided_buffer to ptr addrspace(9).
void populateAMDGPUMemorySpaceAttributeConversions(
TypeConverter &typeConverter);
void populateAMDGPUTypeAndAttributeConversions(TypeConverter &typeConverter);
} // namespace mlir

View File

@@ -2725,10 +2725,6 @@ struct ConvertAMDGPUToROCDLPass
RewritePatternSet patterns(ctx);
LLVMTypeConverter converter(ctx);
converter.addConversion([&](TDMBaseType type) -> Type {
Type i32 = IntegerType::get(type.getContext(), 32);
return converter.convertType(VectorType::get(4, i32));
});
populateAMDGPUToROCDLConversionPatterns(converter, patterns, *maybeChipset);
populateGpuMemorySpaceAttributeConversions(
@@ -2754,7 +2750,7 @@ struct ConvertAMDGPUToROCDLPass
};
} // namespace
void mlir::populateAMDGPUMemorySpaceAttributeConversions(
void mlir::populateAMDGPUTypeAndAttributeConversions(
TypeConverter &typeConverter) {
typeConverter.addTypeAttributeConversion(
[](BaseMemRefType type, amdgpu::AddressSpaceAttr as)
@@ -2771,12 +2767,16 @@ void mlir::populateAMDGPUMemorySpaceAttributeConversions(
}
return TypeConverter::AttributeConversionResult::abort();
});
typeConverter.addConversion([&](TDMBaseType type) -> Type {
Type i32 = IntegerType::get(type.getContext(), 32);
return typeConverter.convertType(VectorType::get(4, i32));
});
}
void mlir::populateAMDGPUToROCDLConversionPatterns(LLVMTypeConverter &converter,
RewritePatternSet &patterns,
Chipset chipset) {
populateAMDGPUMemorySpaceAttributeConversions(converter);
populateAMDGPUTypeAndAttributeConversions(converter);
patterns.add<
FatRawBufferCastLowering,
RawBufferOpLowering<RawBufferLoadOp, ROCDL::RawPtrBufferLoadOp>,