[mlir][amdgpu][nfc] Add PatternBenefit to populate methods (#144663)

This commit is contained in:
Kunwar Grover
2025-06-18 14:19:17 +01:00
committed by GitHub
parent 68471d29ee
commit 6729da647a
4 changed files with 14 additions and 9 deletions

View File

@@ -14,6 +14,7 @@
#define MLIR_DIALECT_AMDGPU_TRANSFORMS_PASSES_H_
#include "mlir/Dialect/AMDGPU/Utils/Chipset.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Pass/Pass.h"
namespace mlir {
@@ -28,11 +29,14 @@ namespace amdgpu {
void populateAmdgpuEmulateAtomicsPatterns(ConversionTarget &target,
RewritePatternSet &patterns,
Chipset chipset);
Chipset chipset,
PatternBenefit benefit = 1);
void populateAmdgpuResolveStridedMetadataPatterns(RewritePatternSet &patterns);
void populateAmdgpuResolveStridedMetadataPatterns(RewritePatternSet &patterns,
PatternBenefit benefit = 1);
void populateAmdgpuTransferReadToLoadPatterns(RewritePatternSet &patterns);
void populateAmdgpuTransferReadToLoadPatterns(RewritePatternSet &patterns,
PatternBenefit benefit = 1);
} // namespace amdgpu
} // namespace mlir

View File

@@ -164,7 +164,8 @@ LogicalResult RawBufferAtomicByCasPattern<AtomicOp, ArithOp>::matchAndRewrite(
}
void mlir::amdgpu::populateAmdgpuEmulateAtomicsPatterns(
ConversionTarget &target, RewritePatternSet &patterns, Chipset chipset) {
ConversionTarget &target, RewritePatternSet &patterns, Chipset chipset,
PatternBenefit benefit) {
// gfx10 has no atomic adds.
if (chipset.majorVersion == 10 || chipset < Chipset(9, 0, 8)) {
target.addIllegalOp<RawBufferAtomicFaddOp>();
@@ -204,7 +205,7 @@ void mlir::amdgpu::populateAmdgpuEmulateAtomicsPatterns(
RawBufferAtomicByCasPattern<RawBufferAtomicFmaxOp, arith::MaximumFOp>,
RawBufferAtomicByCasPattern<RawBufferAtomicSmaxOp, arith::MaxSIOp>,
RawBufferAtomicByCasPattern<RawBufferAtomicUminOp, arith::MinUIOp>>(
patterns.getContext());
patterns.getContext(), benefit);
}
void AmdgpuEmulateAtomicsPass::runOnOperation() {

View File

@@ -66,9 +66,9 @@ struct ExtractStridedMetadataOnFatRawBufferCastFolder final
} // namespace
void mlir::amdgpu::populateAmdgpuResolveStridedMetadataPatterns(
RewritePatternSet &patterns) {
RewritePatternSet &patterns, PatternBenefit benefit) {
patterns.add<ExtractStridedMetadataOnFatRawBufferCastFolder>(
patterns.getContext());
patterns.getContext(), benefit);
}
void AmdgpuResolveStridedMetadataPass::runOnOperation() {

View File

@@ -222,8 +222,8 @@ struct TransferReadLowering final : OpRewritePattern<vector::TransferReadOp> {
} // namespace
void mlir::amdgpu::populateAmdgpuTransferReadToLoadPatterns(
RewritePatternSet &patterns) {
patterns.add<TransferReadLowering>(patterns.getContext());
RewritePatternSet &patterns, PatternBenefit benefit) {
patterns.add<TransferReadLowering>(patterns.getContext(), benefit);
}
struct AmdgpuTransferReadToLoadPass final