33#include " triton/Conversion/TritonGPUToLLVM/PatternTritonGPUOpToLLVM.h"
44#include " triton/Conversion/TritonGPUToLLVM/Utility.h"
55
6- using ::mlir::transferWithinBlockPadding;
76using ::mlir::triton::gpu::AMDMfmaEncodingAttr;
8- using ::mlir::triton::gpu::AMDWmmaEncodingAttr;
97using ::mlir::triton::gpu::ConvertLayoutOp;
10- using ::mlir::triton::gpu::DotOperandEncodingAttr;
11- using ::mlir::triton::gpu::MemDescType;
128using ::triton::gpu::LinearEncodingAttr;
139
1410namespace {
@@ -119,14 +115,14 @@ class ConvertLayoutOpMFMAToLinearConversion
119115 const TargetInfoBase &targetInfo;
120116};
121117
122- struct ConvertLayoutForcedPadding
118+ class ConvertLayoutForcedPadding
123119 : public ConvertOpToLLVMPattern<ConvertLayoutOp> {
124-
125- explicit ConvertLayoutForcedPadding (LLVMTypeConverter &typeConverter,
126- const TargetInfoBase &targetInfo,
127- PatternBenefit benefit)
128- : ConvertOpToLLVMPattern<ConvertLayoutOp> (typeConverter, benefit),
129- targetInfo(targetInfo) { }
120+ public:
121+ ConvertLayoutForcedPadding (LLVMTypeConverter &typeConverter,
122+ const TargetInfoBase &targetInfo,
123+ PatternBenefit benefit)
124+ : ConvertOpToLLVMPattern(typeConverter, benefit), targetInfo(targetInfo) {
125+ }
130126
131127 LogicalResult
132128 matchAndRewrite (ConvertLayoutOp op, OpAdaptor adaptor,
@@ -144,10 +140,9 @@ struct ConvertLayoutForcedPadding
144140 return success ();
145141 }
146142
147- protected :
143+ private :
148144 const TargetInfoBase &targetInfo;
149145};
150-
151146} // namespace
152147
153148void mlir::triton::AMD::populateConvertLayoutOpToLLVMPatterns (
@@ -156,4 +151,6 @@ void mlir::triton::AMD::populateConvertLayoutOpToLLVMPatterns(
156151 patterns.add <ConvertLayoutOpMFMAToLinearConversion>(typeConverter, targetInfo,
157152 benefit);
158153 patterns.add <ConvertLayoutForcedPadding>(typeConverter, targetInfo, benefit);
154+ // No need to convert when ForcedSwizzling as it's already the default
155+ // lowering
159156}
0 commit comments