mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 12:26:52 +08:00
[mlir][amdgpu] Add type conversion to populate method (NFC) (#171708)
* Renames populateAMDGPUMemorySpaceAttributeConversions to populateAMDGPUTypeAndAttributeConversions. * Adds TDMBaseType conversion to populateAMDGPUTypeAndAttributeConversions.
This commit is contained in:
committed by
GitHub
parent
dec52b2c47
commit
87345d2ad4
@@ -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
|
||||
|
||||
|
||||
@@ -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>,
|
||||
|
||||
Reference in New Issue
Block a user