diff --git a/mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h b/mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h index 94dd9e3a2933..a52ee2ee89ca 100644 --- a/mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h +++ b/mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h @@ -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 diff --git a/mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp b/mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp index 7dd4be66d2bd..fd2ba0683786 100644 --- a/mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp +++ b/mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp @@ -164,7 +164,8 @@ LogicalResult RawBufferAtomicByCasPattern::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(); @@ -204,7 +205,7 @@ void mlir::amdgpu::populateAmdgpuEmulateAtomicsPatterns( RawBufferAtomicByCasPattern, RawBufferAtomicByCasPattern, RawBufferAtomicByCasPattern>( - patterns.getContext()); + patterns.getContext(), benefit); } void AmdgpuEmulateAtomicsPass::runOnOperation() { diff --git a/mlir/lib/Dialect/AMDGPU/Transforms/ResolveStridedMetadata.cpp b/mlir/lib/Dialect/AMDGPU/Transforms/ResolveStridedMetadata.cpp index 4b3d94b4ce2a..195f59d62555 100644 --- a/mlir/lib/Dialect/AMDGPU/Transforms/ResolveStridedMetadata.cpp +++ b/mlir/lib/Dialect/AMDGPU/Transforms/ResolveStridedMetadata.cpp @@ -66,9 +66,9 @@ struct ExtractStridedMetadataOnFatRawBufferCastFolder final } // namespace void mlir::amdgpu::populateAmdgpuResolveStridedMetadataPatterns( - RewritePatternSet &patterns) { + RewritePatternSet &patterns, PatternBenefit benefit) { patterns.add( - patterns.getContext()); + patterns.getContext(), benefit); } void AmdgpuResolveStridedMetadataPass::runOnOperation() { diff --git a/mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp b/mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp index 96925dbf9f28..f5b12a9524cc 100644 --- a/mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp +++ b/mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp @@ -222,8 +222,8 @@ struct TransferReadLowering final : OpRewritePattern { } // namespace void mlir::amdgpu::populateAmdgpuTransferReadToLoadPatterns( - RewritePatternSet &patterns) { - patterns.add(patterns.getContext()); + RewritePatternSet &patterns, PatternBenefit benefit) { + patterns.add(patterns.getContext(), benefit); } struct AmdgpuTransferReadToLoadPass final