11
11
//
12
12
// ===----------------------------------------------------------------------===//
13
13
14
+ #include " mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h"
14
15
#include " mlir/Dialect/Affine/IR/AffineOps.h"
15
16
#include " mlir/Dialect/Affine/ViewLikeInterfaceUtils.h"
16
17
#include " mlir/Dialect/Arith/Utils/Utils.h"
20
21
#include " mlir/Dialect/MemRef/Transforms/Transforms.h"
21
22
#include " mlir/Dialect/MemRef/Utils/MemRefUtils.h"
22
23
#include " mlir/Dialect/NVGPU/IR/NVGPUDialect.h"
23
- #include " mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h"
24
24
#include " mlir/Dialect/Vector/IR/VectorOps.h"
25
25
#include " mlir/IR/AffineMap.h"
26
26
#include " mlir/Transforms/GreedyPatternRewriteDriver.h"
@@ -733,11 +733,11 @@ LogicalResult NVGPUAsyncCopyOpSubViewOpFolder::matchAndRewrite(
733
733
return success ();
734
734
}
735
735
736
- struct FoldSubviewIntoGatherToLDSOp
737
- : public OpRewritePattern<amdgpu::GatherToLDSOp> {
738
- using OpRewritePattern<amdgpu::GatherToLDSOp> ::OpRewritePattern;
739
- LogicalResult
740
- matchAndRewrite (amdgpu::GatherToLDSOp op, PatternRewriter &rewriter) const override {
736
+ struct FoldSubviewIntoAMDGPUGatherToLDSOp final
737
+ : OpRewritePattern<amdgpu::GatherToLDSOp> {
738
+ using OpRewritePattern::OpRewritePattern;
739
+ LogicalResult matchAndRewrite (amdgpu::GatherToLDSOp op,
740
+ PatternRewriter &rewriter) const override {
741
741
Location loc = op.getLoc ();
742
742
743
743
// Check if the source is a subview operation:
@@ -747,15 +747,15 @@ struct FoldSubviewIntoGatherToLDSOp
747
747
loc, " GatherToLDSOp can only be folded if the source is a SubviewOp" );
748
748
749
749
SmallVector<Value> sourceIndices;
750
- mlir::affine::resolveIndicesIntoOpWithOffsetsAndStrides (
751
- rewriter, loc, subviewOp.getMixedOffsets (), subviewOp.getMixedStrides (),
752
- subviewOp.getDroppedDims (), op.getSrcIndices (), sourceIndices);
750
+ mlir::affine::resolveIndicesIntoOpWithOffsetsAndStrides (
751
+ rewriter, loc, subviewOp.getMixedOffsets (), subviewOp.getMixedStrides (),
752
+ subviewOp.getDroppedDims (), op.getSrcIndices (), sourceIndices);
753
753
754
- rewriter.replaceOpWithNewOp <admgpu ::GatherToLDSOp>(
755
- op, subviewOp.getSource (), sourceIndices, op.getDst (), op. getDstIndices (),
756
- op.getTransferType ());
754
+ rewriter.replaceOpWithNewOp <amdgpu ::GatherToLDSOp>(
755
+ op, subviewOp.getSource (), sourceIndices, op.getDst (),
756
+ op. getDstIndices (), op.getTransferType ());
757
757
758
- return success ();
758
+ return success ();
759
759
}
760
760
};
761
761
@@ -790,7 +790,7 @@ void memref::populateFoldMemRefAliasOpPatterns(RewritePatternSet &patterns) {
790
790
StoreOpOfCollapseShapeOpFolder<vector::StoreOp>,
791
791
StoreOpOfCollapseShapeOpFolder<vector::MaskedStoreOp>,
792
792
SubViewOfSubViewFolder, NVGPUAsyncCopyOpSubViewOpFolder,
793
- FoldSubviewIntoGatherToLDSOp >(patterns.getContext ());
793
+ FoldSubviewIntoAMDGPUGatherToLDSOp >(patterns.getContext ());
794
794
}
795
795
796
796
// ===----------------------------------------------------------------------===//
0 commit comments