Drop needless template parameters from patterns. NFC. (#21721)
These using declarations for ['inheriting
constructors'](https://en.cppreference.com/w/cpp/language/using_declaration.html#:~:text=h%0AD%3A%3Ah-,Inheriting%20constructors,-If%20the%20using)
are only required in templated classes.
Cleaning this up mostly to stop proliferation via copy+paste of old
code.
diff --git a/compiler/src/iree/compiler/Codegen/Common/CPU/CPUPrepareUkernels.cpp b/compiler/src/iree/compiler/Codegen/Common/CPU/CPUPrepareUkernels.cpp
index 46a95fa..dce38ed 100644
--- a/compiler/src/iree/compiler/Codegen/Common/CPU/CPUPrepareUkernels.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/CPU/CPUPrepareUkernels.cpp
@@ -171,7 +171,7 @@
/// Pattern to convert linalg.batch_mmt4d with batch dim = 1 into mmt4d.
struct ConvertBatchMmt4DtoMmt4DPattern
: public OpRewritePattern<linalg::BatchMmt4DOp> {
- using OpRewritePattern<linalg::BatchMmt4DOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::BatchMmt4DOp op,
PatternRewriter &rewriter) const override {
@@ -251,7 +251,7 @@
};
struct Convert3DPackto2DPackPattern : public OpRewritePattern<linalg::PackOp> {
- using OpRewritePattern<linalg::PackOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::PackOp packOp,
PatternRewriter &rewriter) const override {
@@ -321,7 +321,7 @@
struct Convert5DUnPackto4DUnPackPattern
: public OpRewritePattern<linalg::UnPackOp> {
- using OpRewritePattern<linalg::UnPackOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::UnPackOp unpackOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/CPU/CPUPropagateDataLayout.cpp b/compiler/src/iree/compiler/Codegen/Common/CPU/CPUPropagateDataLayout.cpp
index 8139616..99e5eb7 100644
--- a/compiler/src/iree/compiler/Codegen/Common/CPU/CPUPropagateDataLayout.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/CPU/CPUPropagateDataLayout.cpp
@@ -34,7 +34,7 @@
/// not common in practice, so it is not supported now.
struct SinkDownCollapsingUnitDimsAcrossUnpack final
: public OpRewritePattern<linalg::UnPackOp> {
- using OpRewritePattern<linalg::UnPackOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::UnPackOp op,
PatternRewriter &rewriter) const override {
if (!isIdentityPermutation(op.getOuterDimsPerm())) {
diff --git a/compiler/src/iree/compiler/Codegen/Common/DecomposePackUnPackOps.cpp b/compiler/src/iree/compiler/Codegen/Common/DecomposePackUnPackOps.cpp
index 89df0a4..e851d0e 100644
--- a/compiler/src/iree/compiler/Codegen/Common/DecomposePackUnPackOps.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/DecomposePackUnPackOps.cpp
@@ -46,7 +46,7 @@
/// A wrapper pattern that calls linalg::lowerPack on linalg::PackOp. It lowers
/// a linalg.pack op to tensor.pad + tensor.expand_shape + linalg.transpose ops.
struct LowerPackPattern : public OpRewritePattern<linalg::PackOp> {
- using OpRewritePattern<linalg::PackOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
explicit LowerPackPattern(MLIRContext *context,
std::optional<PackUnPackControlFn> controlFn)
@@ -79,7 +79,7 @@
/// lowers a linalg.unpack op to tensor.empty + linalg.transpose +
/// tensor.collapse_shape + tensor.extract_slice ops.
struct LowerUnPackPattern : public OpRewritePattern<linalg::UnPackOp> {
- using OpRewritePattern<linalg::UnPackOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
explicit LowerUnPackPattern(MLIRContext *context,
std::optional<PackUnPackControlFn> controlFn)
diff --git a/compiler/src/iree/compiler/Codegen/Common/DecomposeSoftmax.cpp b/compiler/src/iree/compiler/Codegen/Common/DecomposeSoftmax.cpp
index 9003343..f37d7bc 100644
--- a/compiler/src/iree/compiler/Codegen/Common/DecomposeSoftmax.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/DecomposeSoftmax.cpp
@@ -28,7 +28,7 @@
}
struct FuseElementWiseGenericOps : public OpRewritePattern<linalg::GenericOp> {
- using OpRewritePattern<linalg::GenericOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::GenericOp genericOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/FastMathPatterns.cpp b/compiler/src/iree/compiler/Codegen/Common/FastMathPatterns.cpp
index 9050cbd..7cca3ca 100644
--- a/compiler/src/iree/compiler/Codegen/Common/FastMathPatterns.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/FastMathPatterns.cpp
@@ -17,7 +17,7 @@
// (from
// https://github.com/ROCm/llvm-project/blob/amd-staging/amd/device-libs/ocml/src/erfF.cl#L11)
struct FastErfPattern : public OpRewritePattern<math::ErfOp> {
- using OpRewritePattern<math::ErfOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(math::ErfOp op,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/ForOpCanonicalizationPass.cpp b/compiler/src/iree/compiler/Codegen/Common/ForOpCanonicalizationPass.cpp
index c03dcbe..8bff2e1 100644
--- a/compiler/src/iree/compiler/Codegen/Common/ForOpCanonicalizationPass.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/ForOpCanonicalizationPass.cpp
@@ -23,7 +23,7 @@
struct CanonicalizeForOpInductionVarShape final
: public OpRewritePattern<scf::ForOp> {
- using OpRewritePattern<scf::ForOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
// Return true if it might be possible to yield the operand of `op` instead of
// its result.
@@ -200,7 +200,7 @@
/// pattern allows packing i4/i8/f16 values into i32 variables tightly so that
/// we can generate shader conformant SPIR-V.
struct PackForOpInductionVarVector final : public OpRewritePattern<scf::ForOp> {
- using OpRewritePattern<scf::ForOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(scf::ForOp forOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/GPU/GPUPatterns.cpp b/compiler/src/iree/compiler/Codegen/Common/GPU/GPUPatterns.cpp
index 84feed6..1abfe51 100644
--- a/compiler/src/iree/compiler/Codegen/Common/GPU/GPUPatterns.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/GPU/GPUPatterns.cpp
@@ -151,7 +151,7 @@
// MMA types but MMA load can transpose the matrix when loading.
struct CombineTransferReadOpBroadcast final
: public OpRewritePattern<vector::BroadcastOp> {
- using OpRewritePattern<vector::BroadcastOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(vector::BroadcastOp op,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/GPU/VectorReductionToGPU.cpp b/compiler/src/iree/compiler/Codegen/Common/GPU/VectorReductionToGPU.cpp
index df92e26..12d537c 100644
--- a/compiler/src/iree/compiler/Codegen/Common/GPU/VectorReductionToGPU.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/GPU/VectorReductionToGPU.cpp
@@ -165,7 +165,7 @@
/// Pattern to sink `gpu.barrier` ops out of a `warp_execute_on_lane_0` op.
struct WarpOpBarrier final : OpRewritePattern<gpu::WarpExecuteOnLane0Op> {
- using OpRewritePattern<gpu::WarpExecuteOnLane0Op>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(gpu::WarpExecuteOnLane0Op warpOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/IREECodegenCanonicalizer.cpp b/compiler/src/iree/compiler/Codegen/Common/IREECodegenCanonicalizer.cpp
index 52ca734..0ee3cd0 100644
--- a/compiler/src/iree/compiler/Codegen/Common/IREECodegenCanonicalizer.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/IREECodegenCanonicalizer.cpp
@@ -77,7 +77,7 @@
class DynamicTrivialSubViewOpFolder final
: public OpRewritePattern<memref::SubViewOp> {
public:
- using OpRewritePattern<memref::SubViewOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(memref::SubViewOp subViewOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/IREEExpandStridedMetadata.cpp b/compiler/src/iree/compiler/Codegen/Common/IREEExpandStridedMetadata.cpp
index 1ea8d01..ce95b61 100644
--- a/compiler/src/iree/compiler/Codegen/Common/IREEExpandStridedMetadata.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/IREEExpandStridedMetadata.cpp
@@ -131,7 +131,7 @@
struct ResolveExtractMetadataFromHalInterfaceBindingSubspan
: public OpRewritePattern<memref::ExtractStridedMetadataOp> {
- using OpRewritePattern<memref::ExtractStridedMetadataOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(memref::ExtractStridedMetadataOp op,
PatternRewriter &rewriter) const override {
auto binding =
diff --git a/compiler/src/iree/compiler/Codegen/Common/MemrefCopyToLinalg.cpp b/compiler/src/iree/compiler/Codegen/Common/MemrefCopyToLinalg.cpp
index 5afea19..835c7cb 100644
--- a/compiler/src/iree/compiler/Codegen/Common/MemrefCopyToLinalg.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/MemrefCopyToLinalg.cpp
@@ -18,7 +18,7 @@
namespace {
struct MemrefCopyOpToLinalg : public OpRewritePattern<memref::CopyOp> {
- using OpRewritePattern<memref::CopyOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(memref::CopyOp copyOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/OptimizeTensorInsertExtractSlices.cpp b/compiler/src/iree/compiler/Codegen/Common/OptimizeTensorInsertExtractSlices.cpp
index 5db5f15..a007c4f 100644
--- a/compiler/src/iree/compiler/Codegen/Common/OptimizeTensorInsertExtractSlices.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/OptimizeTensorInsertExtractSlices.cpp
@@ -282,7 +282,7 @@
/// write to memory.
// TODO: Consider upstreaming
struct FoldMaskedTransferRAW : OpRewritePattern<vector::TransferReadOp> {
- using OpRewritePattern<vector::TransferReadOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(vector::TransferReadOp op,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/OptimizeVectorTransferPass.cpp b/compiler/src/iree/compiler/Codegen/Common/OptimizeVectorTransferPass.cpp
index 3dde4f9..a42f596 100644
--- a/compiler/src/iree/compiler/Codegen/Common/OptimizeVectorTransferPass.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/OptimizeVectorTransferPass.cpp
@@ -37,7 +37,7 @@
class TransposeUnitDimToShapeCast
: public OpRewritePattern<vector::TransposeOp> {
public:
- using OpRewritePattern<vector::TransposeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(vector::TransposeOp op,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/RematerializeParallelOps.cpp b/compiler/src/iree/compiler/Codegen/Common/RematerializeParallelOps.cpp
index 0f81a79..1f2a7b7 100644
--- a/compiler/src/iree/compiler/Codegen/Common/RematerializeParallelOps.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/RematerializeParallelOps.cpp
@@ -29,7 +29,7 @@
/// `flow.dispatch.region`.
struct RematerializeParallelOpsPattern
: public OpRewritePattern<linalg::GenericOp> {
- using OpRewritePattern<linalg::GenericOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::GenericOp genericOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/ReshapePatterns.cpp b/compiler/src/iree/compiler/Codegen/Common/ReshapePatterns.cpp
index d8a296b..8105452 100644
--- a/compiler/src/iree/compiler/Codegen/Common/ReshapePatterns.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/ReshapePatterns.cpp
@@ -90,7 +90,7 @@
/// tensor<864xf32>
struct FoldCollapseShapeIntoInterfaceTensorLoad
: OpRewritePattern<tensor::CollapseShapeOp> {
- using OpRewritePattern<tensor::CollapseShapeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::CollapseShapeOp reshapeOp,
PatternRewriter &rewriter) const override {
@@ -166,7 +166,7 @@
/// tensor<864xf32>
struct FoldExpandShapeIntoInterfaceTensorLoad
: OpRewritePattern<tensor::ExpandShapeOp> {
- using OpRewritePattern<tensor::ExpandShapeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExpandShapeOp reshapeOp,
PatternRewriter &rewriter) const override {
@@ -820,7 +820,7 @@
/// the source hal.interface.binding.subspan
struct FoldInnerBitcastIntoInterfaceTensorLoad
: OpRewritePattern<IREE::TensorExt::BitCastOp> {
- using OpRewritePattern<IREE::TensorExt::BitCastOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::TensorExt::BitCastOp bitcastOp,
PatternRewriter &rewriter) const override {
@@ -1031,7 +1031,7 @@
/// tensor operand with the source of the expand_shape.
struct FoldExpandShapeIntoStoreToBuffer
: OpRewritePattern<IREE::Codegen::StoreToBufferOp> {
- using OpRewritePattern<IREE::Codegen::StoreToBufferOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::Codegen::StoreToBufferOp storeOp,
PatternRewriter &rewriter) const override {
@@ -1055,7 +1055,7 @@
/// tensor operand with the source of the collapse_shape.
struct FoldCollapseShapeIntoStoreToBuffer
: OpRewritePattern<IREE::Codegen::StoreToBufferOp> {
- using OpRewritePattern<IREE::Codegen::StoreToBufferOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::Codegen::StoreToBufferOp storeOp,
PatternRewriter &rewriter) const override {
@@ -1083,7 +1083,7 @@
/// the collapse_shape with the collapsed load_from_buffer op.
struct FoldCollapseShapeIntoLoadFromBuffer
: OpRewritePattern<IREE::Codegen::LoadFromBufferOp> {
- using OpRewritePattern<IREE::Codegen::LoadFromBufferOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::Codegen::LoadFromBufferOp loadOp,
PatternRewriter &rewriter) const override {
@@ -1112,7 +1112,7 @@
/// expand_shape with the expanded load_from_buffer op.
struct FoldExpandShapeIntoLoadFromBuffer
: OpRewritePattern<IREE::Codegen::LoadFromBufferOp> {
- using OpRewritePattern<IREE::Codegen::LoadFromBufferOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::Codegen::LoadFromBufferOp loadOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/TileDispatchUsingInterface.cpp b/compiler/src/iree/compiler/Codegen/Common/TileDispatchUsingInterface.cpp
index f6f2b91..3118560 100644
--- a/compiler/src/iree/compiler/Codegen/Common/TileDispatchUsingInterface.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/TileDispatchUsingInterface.cpp
@@ -566,7 +566,7 @@
/// slice.
struct SwapExtractSliceWithDispatchTensorLoad
: public OpRewritePattern<tensor::ExtractSliceOp> {
- using OpRewritePattern<tensor::ExtractSliceOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExtractSliceOp sliceOp,
PatternRewriter &rewriter) const override {
@@ -597,7 +597,7 @@
/// `empty` of the slice.
struct SwapExtractSliceWithTensorEmpty
: public OpRewritePattern<tensor::ExtractSliceOp> {
- using OpRewritePattern<tensor::ExtractSliceOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExtractSliceOp sliceOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/TransformExtensions/CommonExtensions.cpp b/compiler/src/iree/compiler/Codegen/Common/TransformExtensions/CommonExtensions.cpp
index 9526104..2d16c64 100644
--- a/compiler/src/iree/compiler/Codegen/Common/TransformExtensions/CommonExtensions.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/TransformExtensions/CommonExtensions.cpp
@@ -136,7 +136,7 @@
// TODO: atm hardcoded on linalg.fill but we could take any result of any
// generic that yields a constant in that result.
struct FoldFillIntoPad : public OpRewritePattern<tensor::PadOp> {
- using OpRewritePattern<tensor::PadOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::PadOp padOp,
PatternRewriter &rewriter) const final {
Operation *currentOp = padOp.getSource().getDefiningOp();
@@ -904,7 +904,7 @@
namespace {
/// Pattern to rewrite tensor.empty to tensor.alloc.
struct EmptyTensorLoweringPattern : public OpRewritePattern<tensor::EmptyOp> {
- using OpRewritePattern<tensor::EmptyOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::EmptyOp op,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Common/Transforms.cpp b/compiler/src/iree/compiler/Codegen/Common/Transforms.cpp
index f56a35a..f7c47ab 100644
--- a/compiler/src/iree/compiler/Codegen/Common/Transforms.cpp
+++ b/compiler/src/iree/compiler/Codegen/Common/Transforms.cpp
@@ -124,7 +124,7 @@
struct FoldRelayoutOpIntoMapScatterPattern
: public OpRewritePattern<IREE::LinalgExt::MapScatterOp> {
- using OpRewritePattern<IREE::LinalgExt::MapScatterOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::LinalgExt::MapScatterOp mapScatterOp,
PatternRewriter &rewriter) const override {
@@ -145,7 +145,7 @@
struct FoldPadOpIntoMapScatterPattern
: public OpRewritePattern<IREE::LinalgExt::MapScatterOp> {
- using OpRewritePattern<IREE::LinalgExt::MapScatterOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
FoldPadOpIntoMapScatterPattern(MLIRContext *context,
PadDistributionConfigFn configFn,
PatternBenefit benefit = 1)
@@ -337,7 +337,7 @@
struct SwapExpandShapeWithSlicePattern
: public OpRewritePattern<tensor::ExtractSliceOp> {
- using OpRewritePattern<tensor::ExtractSliceOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExtractSliceOp sliceOp,
PatternRewriter &rewriter) const override {
@@ -655,7 +655,7 @@
struct SwapCollapseShapeWithSlicePattern
: public OpRewritePattern<tensor::ExtractSliceOp> {
- using OpRewritePattern<tensor::ExtractSliceOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExtractSliceOp sliceOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Dialect/GPU/Transforms/Transforms.cpp b/compiler/src/iree/compiler/Codegen/Dialect/GPU/Transforms/Transforms.cpp
index c37b0a3..3850c20 100644
--- a/compiler/src/iree/compiler/Codegen/Dialect/GPU/Transforms/Transforms.cpp
+++ b/compiler/src/iree/compiler/Codegen/Dialect/GPU/Transforms/Transforms.cpp
@@ -955,7 +955,7 @@
namespace {
struct LowerInnerTiledPattern
: public OpRewritePattern<IREE::Codegen::InnerTiledOp> {
- using OpRewritePattern<IREE::Codegen::InnerTiledOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::Codegen::InnerTiledOp tiledOp,
PatternRewriter &rewriter) const override {
if (tiledOp.hasTensorSemantics()) {
@@ -1429,7 +1429,7 @@
namespace {
struct DropInnerTiledUnitDimsPattern
: public OpRewritePattern<IREE::Codegen::InnerTiledOp> {
- using OpRewritePattern<IREE::Codegen::InnerTiledOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::Codegen::InnerTiledOp tiledOp,
PatternRewriter &rewriter) const override {
if (tiledOp.hasTensorSemantics()) {
@@ -1786,7 +1786,7 @@
namespace {
struct LowerBarrierRegion
: public OpRewritePattern<IREE::GPU::BarrierRegionOp> {
- using OpRewritePattern<IREE::GPU::BarrierRegionOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::GPU::BarrierRegionOp barrierRegionOp,
PatternRewriter &rewriter) const final {
Location loc = barrierRegionOp.getLoc();
@@ -1877,7 +1877,7 @@
namespace {
struct VectorizeStaticInnerTiledOpPattern final
: OpRewritePattern<IREE::Codegen::InnerTiledOp> {
- using OpRewritePattern<IREE::Codegen::InnerTiledOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::Codegen::InnerTiledOp tiledOp,
PatternRewriter &rewriter) const override {
return vectorizeStaticInnerTiledOp(rewriter, tiledOp);
@@ -1896,7 +1896,7 @@
namespace {
struct LowerValueBarrierPattern
: public OpRewritePattern<IREE::GPU::ValueBarrierOp> {
- using OpRewritePattern<IREE::GPU::ValueBarrierOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::GPU::ValueBarrierOp barrier,
PatternRewriter &rewriter) const override {
if (barrier.hasTensorSemantics()) {
@@ -1913,7 +1913,7 @@
struct LowerGlobalLoadDMAPattern
: public OpRewritePattern<IREE::GPU::GlobalLoadDMAOp> {
- using OpRewritePattern<IREE::GPU::GlobalLoadDMAOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::GPU::GlobalLoadDMAOp dmaOp,
PatternRewriter &rewriter) const override {
Type transferType = rewriter.getI32Type();
diff --git a/compiler/src/iree/compiler/Codegen/LLVMCPU/ConvertToLLVM.cpp b/compiler/src/iree/compiler/Codegen/LLVMCPU/ConvertToLLVM.cpp
index d3b2934..7824dc4 100644
--- a/compiler/src/iree/compiler/Codegen/LLVMCPU/ConvertToLLVM.cpp
+++ b/compiler/src/iree/compiler/Codegen/LLVMCPU/ConvertToLLVM.cpp
@@ -885,7 +885,7 @@
/// vectorized.
class ExpandMulSIExtended : public OpRewritePattern<arith::MulSIExtendedOp> {
public:
- using OpRewritePattern<arith::MulSIExtendedOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(arith::MulSIExtendedOp op,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/LLVMCPU/LLVMCPUUnfuseFMAOps.cpp b/compiler/src/iree/compiler/Codegen/LLVMCPU/LLVMCPUUnfuseFMAOps.cpp
index 1574334..1172c87 100644
--- a/compiler/src/iree/compiler/Codegen/LLVMCPU/LLVMCPUUnfuseFMAOps.cpp
+++ b/compiler/src/iree/compiler/Codegen/LLVMCPU/LLVMCPUUnfuseFMAOps.cpp
@@ -21,7 +21,7 @@
// TODO(ataei): Upstream this pattern if needed ?
class UnfusedFMAOpsPassConversion : public OpRewritePattern<LLVM::FMAOp> {
public:
- using OpRewritePattern<LLVM::FMAOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(LLVM::FMAOp op,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/LLVMCPU/VectorContractCustomKernels.cpp b/compiler/src/iree/compiler/Codegen/LLVMCPU/VectorContractCustomKernels.cpp
index 960a31c..c87d016 100644
--- a/compiler/src/iree/compiler/Codegen/LLVMCPU/VectorContractCustomKernels.cpp
+++ b/compiler/src/iree/compiler/Codegen/LLVMCPU/VectorContractCustomKernels.cpp
@@ -1020,7 +1020,7 @@
struct MMT_8x4x8_i8i8i32_Aarch64Dotprod_Intrinsics
: public OpRewritePattern<vector::ContractionOp> {
public:
- using OpRewritePattern<vector::ContractionOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(vector::ContractionOp contractionOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/LLVMGPU/ConvertToLLVM.cpp b/compiler/src/iree/compiler/Codegen/LLVMGPU/ConvertToLLVM.cpp
index 4efb799..2c24ed6 100644
--- a/compiler/src/iree/compiler/Codegen/LLVMGPU/ConvertToLLVM.cpp
+++ b/compiler/src/iree/compiler/Codegen/LLVMGPU/ConvertToLLVM.cpp
@@ -147,7 +147,7 @@
};
struct ConvertSharedMemAllocOp : public OpRewritePattern<memref::AllocOp> {
- using OpRewritePattern<memref::AllocOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(memref::AllocOp allocOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/LLVMGPU/ConvertToROCDL.cpp b/compiler/src/iree/compiler/Codegen/LLVMGPU/ConvertToROCDL.cpp
index b2590fa..cf28dd5 100644
--- a/compiler/src/iree/compiler/Codegen/LLVMGPU/ConvertToROCDL.cpp
+++ b/compiler/src/iree/compiler/Codegen/LLVMGPU/ConvertToROCDL.cpp
@@ -59,7 +59,7 @@
// operations as well.
struct ReplaceGPUBarrierWithLDSBarrier
: public OpRewritePattern<gpu::BarrierOp> {
- using OpRewritePattern<gpu::BarrierOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(gpu::BarrierOp op,
PatternRewriter &rewriter) const override {
@@ -96,7 +96,7 @@
/// effort.
constexpr StringLiteral kSwapName = "iree_gpu.swap_mfma";
struct SwapSetPrioWithMFMA : public OpRewritePattern<ROCDL::SetPrioOp> {
- using OpRewritePattern<ROCDL::SetPrioOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(ROCDL::SetPrioOp setPrio,
PatternRewriter &rewriter) const override {
if (!setPrio->hasAttr(kSwapName)) {
diff --git a/compiler/src/iree/compiler/Codegen/LLVMGPU/TransformExtensions/LLVMGPUExtensions.cpp b/compiler/src/iree/compiler/Codegen/LLVMGPU/TransformExtensions/LLVMGPUExtensions.cpp
index 5b1cbca..3ce2d46 100644
--- a/compiler/src/iree/compiler/Codegen/LLVMGPU/TransformExtensions/LLVMGPUExtensions.cpp
+++ b/compiler/src/iree/compiler/Codegen/LLVMGPU/TransformExtensions/LLVMGPUExtensions.cpp
@@ -410,7 +410,7 @@
/// gpu.synchronize
/// %0 = memref.load %src[%c0] : memref<1024xf32>
struct WarpOpLoad : public OpRewritePattern<gpu::WarpExecuteOnLane0Op> {
- using OpRewritePattern<gpu::WarpExecuteOnLane0Op>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(gpu::WarpExecuteOnLane0Op warpOp,
PatternRewriter &rewriter) const override {
OpOperand *operand = getWarpResult(warpOp, llvm::IsaPred<memref::LoadOp>);
@@ -454,7 +454,7 @@
/// really have the semantic of global variables. Therefore hoisting them is
/// always correct for static allocations.
struct HoistSharedMemoryAlloc : public OpRewritePattern<memref::AllocOp> {
- using OpRewritePattern<memref::AllocOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(memref::AllocOp alloc,
PatternRewriter &rewriter) const override {
if (!iree_compiler::hasSharedMemoryAddressSpace(alloc.getType()))
@@ -1347,7 +1347,7 @@
/// Polygeist.
class BarrierElimination final : public OpRewritePattern<gpu::BarrierOp> {
public:
- using OpRewritePattern<gpu::BarrierOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(gpu::BarrierOp barrier,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/SPIRV/SPIRVTileAndVectorizeToCooperativeOps.cpp b/compiler/src/iree/compiler/Codegen/SPIRV/SPIRVTileAndVectorizeToCooperativeOps.cpp
index 3cb4362..4f4a20c 100644
--- a/compiler/src/iree/compiler/Codegen/SPIRV/SPIRVTileAndVectorizeToCooperativeOps.cpp
+++ b/compiler/src/iree/compiler/Codegen/SPIRV/SPIRVTileAndVectorizeToCooperativeOps.cpp
@@ -279,7 +279,7 @@
class CombineContractTranspose final
: public OpRewritePattern<vector::ContractionOp> {
public:
- using OpRewritePattern<vector::ContractionOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(vector::ContractionOp op,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Codegen/Transforms/AffineMinDistributedSCFCanonicalization.cpp b/compiler/src/iree/compiler/Codegen/Transforms/AffineMinDistributedSCFCanonicalization.cpp
index 6c3ffe5..4231cfe 100644
--- a/compiler/src/iree/compiler/Codegen/Transforms/AffineMinDistributedSCFCanonicalization.cpp
+++ b/compiler/src/iree/compiler/Codegen/Transforms/AffineMinDistributedSCFCanonicalization.cpp
@@ -162,7 +162,7 @@
namespace {
struct AffineMinDistributedSCFCanonicalizationPattern
: public mlir::OpRewritePattern<mlir::affine::AffineMinOp> {
- using OpRewritePattern<mlir::affine::AffineMinOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
mlir::LogicalResult
matchAndRewrite(mlir::affine::AffineMinOp minOp,
diff --git a/compiler/src/iree/compiler/Codegen/Transforms/Transforms.cpp b/compiler/src/iree/compiler/Codegen/Transforms/Transforms.cpp
index f2ef49f..6812681 100644
--- a/compiler/src/iree/compiler/Codegen/Transforms/Transforms.cpp
+++ b/compiler/src/iree/compiler/Codegen/Transforms/Transforms.cpp
@@ -574,7 +574,7 @@
// loop also has workgroup mapping.
struct FoldSplitReductionForallWithWorkgroupForall
: public OpRewritePattern<scf::ForallOp> {
- using OpRewritePattern<scf::ForallOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(scf::ForallOp forallOp,
PatternRewriter &rewriter) const override {
@@ -940,7 +940,7 @@
namespace {
struct HoistForallFromFor : public OpRewritePattern<scf::ForOp> {
- using OpRewritePattern<scf::ForOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(scf::ForOp loop,
PatternRewriter &rewriter) const final {
if (loop.getBody()->getOperations().size() == 1) {
diff --git a/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/Patterns.cpp b/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/Patterns.cpp
index 420f056..f95ec9e 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/Patterns.cpp
+++ b/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/Patterns.cpp
@@ -50,7 +50,7 @@
/// Convert tensor.insert_slice ops into flow.tensor.update ops where possible.
struct ConvertTensorInsertSlicePattern
: public OpRewritePattern<tensor::InsertSliceOp> {
- using OpRewritePattern<tensor::InsertSliceOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::InsertSliceOp insertOp,
PatternRewriter &rewriter) const override {
return convertInsertSliceOpToFlowUpdateOp(rewriter, insertOp);
@@ -59,7 +59,7 @@
/// Convert tensor.insert ops into flow.tensor.store ops where possible.
struct ConvertTensorInsertPattern : public OpRewritePattern<tensor::InsertOp> {
- using OpRewritePattern<tensor::InsertOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::InsertOp insertOp,
PatternRewriter &rewriter) const override {
if (insertOp->getParentOfType<IREE::Flow::DispatchWorkgroupsOp>()) {
@@ -75,7 +75,7 @@
/// Convert tensor.extract_slice ops into flow.tensor.slice ops where possible.
struct ConvertTensorExtractSlicePattern
: public OpRewritePattern<tensor::ExtractSliceOp> {
- using OpRewritePattern<tensor::ExtractSliceOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExtractSliceOp sliceOp,
PatternRewriter &rewriter) const override {
return convertExtractSliceOpToFlowSliceOp(rewriter, sliceOp);
@@ -84,7 +84,7 @@
struct ConvertTensorExtractPattern
: public OpRewritePattern<tensor::ExtractOp> {
- using OpRewritePattern<tensor::ExtractOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExtractOp op,
PatternRewriter &rewriter) const override {
@@ -99,7 +99,7 @@
struct ConvertTensorExtBitcastPattern
: public OpRewritePattern<TensorExt::BitCastOp> {
- using OpRewritePattern<TensorExt::BitCastOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(TensorExt::BitCastOp op,
PatternRewriter &rewriter) const override {
if (op->getParentOfType<IREE::Flow::DispatchWorkgroupsOp>()) {
@@ -114,7 +114,7 @@
struct ConvertTensorBitcastPattern
: public OpRewritePattern<tensor::BitcastOp> {
- using OpRewritePattern<tensor::BitcastOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::BitcastOp op,
PatternRewriter &rewriter) const override {
if (op->getParentOfType<IREE::Flow::DispatchWorkgroupsOp>()) {
@@ -130,7 +130,7 @@
};
struct ConvertTensorCastPattern : public OpRewritePattern<tensor::CastOp> {
- using OpRewritePattern<tensor::CastOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::CastOp op,
PatternRewriter &rewriter) const override {
if (op->getParentOfType<IREE::Flow::DispatchWorkgroupsOp>()) {
@@ -194,7 +194,7 @@
};
struct ConvertTensorConcatPattern : public OpRewritePattern<tensor::ConcatOp> {
- using OpRewritePattern<tensor::ConcatOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ConcatOp concatOp,
PatternRewriter &rewriter) const override {
@@ -277,7 +277,7 @@
struct ConvertTensorFromElementsPattern
: public OpRewritePattern<tensor::FromElementsOp> {
- using OpRewritePattern<tensor::FromElementsOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::FromElementsOp op,
PatternRewriter &rewriter) const override {
// TODO: This pattern was mainly added to iron out some kinks specific to
@@ -337,7 +337,7 @@
/// Convert tensor.reshape ops into flow.tensor.reshape ops where possible.
struct ConvertTensorDialectReshapeOpPattern
: public OpRewritePattern<tensor::ReshapeOp> {
- using OpRewritePattern<tensor::ReshapeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ReshapeOp op,
PatternRewriter &rewriter) const override {
if (op->getParentOfType<IREE::Flow::DispatchWorkgroupsOp>()) {
diff --git a/compiler/src/iree/compiler/Dialect/Flow/IR/FlowOpFolders.cpp b/compiler/src/iree/compiler/Dialect/Flow/IR/FlowOpFolders.cpp
index 7b3ffed..acb417e 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/IR/FlowOpFolders.cpp
+++ b/compiler/src/iree/compiler/Dialect/Flow/IR/FlowOpFolders.cpp
@@ -449,7 +449,7 @@
struct ExpandDynamicShapeConstant
: public OpRewritePattern<TensorDynamicConstantOp> {
- using OpRewritePattern<TensorDynamicConstantOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(TensorDynamicConstantOp op,
PatternRewriter &rewriter) const override {
auto constantOp = rewriter.create<IREE::Flow::TensorConstantOp>(
@@ -566,7 +566,7 @@
};
struct ResolveShapedRank : public OpRewritePattern<tensor::RankOp> {
- using OpRewritePattern<tensor::RankOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::RankOp op,
PatternRewriter &rewriter) const override {
auto shapedType = llvm::cast<ShapedType>(op.getTensor().getType());
@@ -577,7 +577,7 @@
};
struct ResolveShapedDim : public OpRewritePattern<tensor::DimOp> {
- using OpRewritePattern<tensor::DimOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::DimOp op,
PatternRewriter &rewriter) const override {
if (!op.getConstantIndex().has_value()) {
@@ -677,7 +677,7 @@
// Replace `flow.tensor.splat`-`flow.tensor.load` op-pairs by the input
// primitive value for the splat op.
struct FoldSplatLoadIntoPrimitive : public OpRewritePattern<TensorLoadOp> {
- using OpRewritePattern<TensorLoadOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(TensorLoadOp loadOp,
PatternRewriter &rewriter) const override {
auto sourceOp =
@@ -750,7 +750,7 @@
namespace {
struct FoldSplatReshapeIntoSplat : public OpRewritePattern<TensorReshapeOp> {
- using OpRewritePattern<TensorReshapeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(TensorReshapeOp reshapeOp,
PatternRewriter &rewriter) const override {
auto splatOp = dyn_cast_if_present<TensorSplatOp>(
@@ -1069,7 +1069,7 @@
// When the target tensor is a result of a tensor.cast operation, the op needs
// to be updated to use the source of the cast as the target tensor.
struct FoldTensorUpdateOpWithCasts : public OpRewritePattern<TensorUpdateOp> {
- using OpRewritePattern<TensorUpdateOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(TensorUpdateOp updateOp,
PatternRewriter &rewriter) const override {
auto targetCastOp = updateOp.getTarget().getDefiningOp<tensor::CastOp>();
@@ -1097,7 +1097,7 @@
struct ReplaceOpIfTensorUpdateOperandZeroElements
: public OpRewritePattern<TensorUpdateOp> {
- using OpRewritePattern<TensorUpdateOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(TensorUpdateOp op,
PatternRewriter &rewriter) const override {
auto operand = op.getUpdate();
diff --git a/compiler/src/iree/compiler/Dialect/Flow/IR/FlowOps.cpp b/compiler/src/iree/compiler/Dialect/Flow/IR/FlowOps.cpp
index 36c1495..f2f7373 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/IR/FlowOps.cpp
+++ b/compiler/src/iree/compiler/Dialect/Flow/IR/FlowOps.cpp
@@ -628,7 +628,7 @@
struct DispatchRegionDropUnusedResults
: public OpRewritePattern<DispatchRegionOp> {
- using OpRewritePattern<DispatchRegionOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(DispatchRegionOp regionOp,
PatternRewriter &rewriter) const final {
diff --git a/compiler/src/iree/compiler/Dialect/Flow/Transforms/Canonicalize.cpp b/compiler/src/iree/compiler/Dialect/Flow/Transforms/Canonicalize.cpp
index 3c777e7..6a09c4b 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/Transforms/Canonicalize.cpp
+++ b/compiler/src/iree/compiler/Dialect/Flow/Transforms/Canonicalize.cpp
@@ -35,7 +35,7 @@
}
struct FoldFullInsertSlice : public OpRewritePattern<tensor::InsertSliceOp> {
- using OpRewritePattern<tensor::InsertSliceOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::InsertSliceOp insertSliceOp,
PatternRewriter &rewriter) const override {
@@ -87,7 +87,7 @@
/// Convert an "affine.apply" operation into a sequence of arith ops.
class AffineApplyLowering : public OpRewritePattern<affine::AffineApplyOp> {
public:
- using OpRewritePattern<affine::AffineApplyOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(affine::AffineApplyOp op,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Dialect/Flow/Transforms/InitializeEmptyTensors.cpp b/compiler/src/iree/compiler/Dialect/Flow/Transforms/InitializeEmptyTensors.cpp
index 294d443..0e15e92 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/Transforms/InitializeEmptyTensors.cpp
+++ b/compiler/src/iree/compiler/Dialect/Flow/Transforms/InitializeEmptyTensors.cpp
@@ -43,7 +43,7 @@
/// Converts an tensor.empty() op to `flow.tensor.splat` op.
struct RewriteTensorEmptyToSplat : public OpRewritePattern<tensor::EmptyOp> {
- using OpRewritePattern<tensor::EmptyOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::EmptyOp emptyTensorOp,
PatternRewriter &rewriter) const override {
if (!shouldBeConvertedToFlowTensorOp(emptyTensorOp)) {
@@ -67,7 +67,7 @@
/// Converts an tensor.empty() op to `flow.tensor.empty` op.
struct RewriteTensorEmptyToEmpty : public OpRewritePattern<tensor::EmptyOp> {
- using OpRewritePattern<tensor::EmptyOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::EmptyOp emptyTensorOp,
PatternRewriter &rewriter) const override {
if (!shouldBeConvertedToFlowTensorOp(emptyTensorOp)) {
diff --git a/compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeInterfaces.cpp b/compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeInterfaces.cpp
index 2674ff3..35b0a6f 100644
--- a/compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeInterfaces.cpp
+++ b/compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeInterfaces.cpp
@@ -499,7 +499,7 @@
namespace {
struct ConvertReturnPattern : public OpRewritePattern<IREE::Stream::ReturnOp> {
- using OpRewritePattern<IREE::Stream::ReturnOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::Stream::ReturnOp op,
PatternRewriter &rewriter) const override {
rewriter.replaceOpWithNewOp<IREE::HAL::ReturnOp>(op, op.getOperands());
@@ -522,7 +522,7 @@
struct InlineConstantWorkgroupSizePattern
: public OpRewritePattern<IREE::HAL::InterfaceWorkgroupSizeOp> {
- using OpRewritePattern<IREE::HAL::InterfaceWorkgroupSizeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::HAL::InterfaceWorkgroupSizeOp sizeOp,
PatternRewriter &rewriter) const override {
// Lookup the entry point matching the parent.
diff --git a/compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/DecomposeWinogradPass.cpp b/compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/DecomposeWinogradPass.cpp
index 4e98531..50ae0ad 100644
--- a/compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/DecomposeWinogradPass.cpp
+++ b/compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/DecomposeWinogradPass.cpp
@@ -112,7 +112,7 @@
/// ````
struct DecomposeWinogradFilterTransform
: public OpRewritePattern<WinogradFilterTransformOp> {
- using OpRewritePattern<WinogradFilterTransformOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(WinogradFilterTransformOp transformOp,
PatternRewriter &rewriter) const override {
@@ -194,7 +194,7 @@
/// ````
struct DecomposeWinogradInputTransform
: public OpRewritePattern<WinogradInputTransformOp> {
- using OpRewritePattern<WinogradInputTransformOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(WinogradInputTransformOp transformOp,
PatternRewriter &rewriter) const override {
@@ -277,7 +277,7 @@
/// ````
struct DecomposeWinogradOutputTransform
: public OpRewritePattern<WinogradOutputTransformOp> {
- using OpRewritePattern<WinogradOutputTransformOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(WinogradOutputTransformOp transformOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/ReshapeFusion.cpp b/compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/ReshapeFusion.cpp
index 079d25c..4d8990e 100644
--- a/compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/ReshapeFusion.cpp
+++ b/compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/ReshapeFusion.cpp
@@ -463,7 +463,7 @@
namespace {
struct DropScatterUnitIndexDepth final : public OpRewritePattern<ScatterOp> {
- using OpRewritePattern<ScatterOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(ScatterOp scatterOp,
PatternRewriter &rewriter) const override {
llvm::ArrayRef<int64_t> indicesShape =
@@ -576,7 +576,7 @@
}
struct DropMapScatterUnitDims final : public OpRewritePattern<MapScatterOp> {
- using OpRewritePattern<MapScatterOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
DropMapScatterUnitDims(MLIRContext *context,
linalg::ControlDropUnitDims options,
PatternBenefit benefit = 1)
diff --git a/compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/VectorizeIREELinalgExtOps.cpp b/compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/VectorizeIREELinalgExtOps.cpp
index 3db809d..06275f0 100644
--- a/compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/VectorizeIREELinalgExtOps.cpp
+++ b/compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/VectorizeIREELinalgExtOps.cpp
@@ -20,7 +20,7 @@
struct VectorizeStaticMapScatterOpPattern final
: OpRewritePattern<IREE::LinalgExt::MapScatterOp> {
- using OpRewritePattern<IREE::LinalgExt::MapScatterOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::LinalgExt::MapScatterOp mapScatterOp,
PatternRewriter &rewriter) const override {
if (mapScatterOp.isVectorized()) {
diff --git a/compiler/src/iree/compiler/Dialect/TensorExt/IR/TensorExtOpFolders.cpp b/compiler/src/iree/compiler/Dialect/TensorExt/IR/TensorExtOpFolders.cpp
index 8539d7d..e543777 100644
--- a/compiler/src/iree/compiler/Dialect/TensorExt/IR/TensorExtOpFolders.cpp
+++ b/compiler/src/iree/compiler/Dialect/TensorExt/IR/TensorExtOpFolders.cpp
@@ -17,7 +17,7 @@
namespace {
struct ReplaceBitCastIfTensorOperandEmpty final : OpRewritePattern<BitCastOp> {
- using OpRewritePattern<BitCastOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(BitCastOp op,
PatternRewriter &rewriter) const override {
auto emptyOp =
@@ -31,7 +31,7 @@
};
struct BitCastOfTensorCastStaticInfo final : OpRewritePattern<BitCastOp> {
- using OpRewritePattern<BitCastOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(BitCastOp bitcastOp,
PatternRewriter &rewriter) const final {
diff --git a/compiler/src/iree/compiler/Dialect/TensorExt/Transforms/Folders.cpp b/compiler/src/iree/compiler/Dialect/TensorExt/Transforms/Folders.cpp
index 3a45ba8..855dd9d 100644
--- a/compiler/src/iree/compiler/Dialect/TensorExt/Transforms/Folders.cpp
+++ b/compiler/src/iree/compiler/Dialect/TensorExt/Transforms/Folders.cpp
@@ -16,7 +16,7 @@
/// `tensor.extract_slice`.
struct FoldTensorLoadWithExtractSlice
: OpRewritePattern<tensor::ExtractSliceOp> {
- using OpRewritePattern<tensor::ExtractSliceOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExtractSliceOp extractSliceOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Dialect/Util/IR/UtilOpFolders.cpp b/compiler/src/iree/compiler/Dialect/Util/IR/UtilOpFolders.cpp
index f9f0e8f..c680b17 100644
--- a/compiler/src/iree/compiler/Dialect/Util/IR/UtilOpFolders.cpp
+++ b/compiler/src/iree/compiler/Dialect/Util/IR/UtilOpFolders.cpp
@@ -207,7 +207,7 @@
/// Deduplicates operands, merging assume ranges along the way.
struct DeduplicateOperands : public OpRewritePattern<AssumeIntOp> {
- using OpRewritePattern<AssumeIntOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(AssumeIntOp op,
PatternRewriter &rewriter) const override {
ArrayAttr assumptions = op.getAssumptions();
@@ -269,7 +269,7 @@
///
/// Where X | Y.
struct FoldDivMulOfAssume : public OpRewritePattern<arith::MulIOp> {
- using OpRewritePattern<arith::MulIOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(arith::MulIOp mulOp,
PatternRewriter &rewriter) const override {
APInt mulConstantInt;
@@ -343,7 +343,7 @@
/// Folds cast ops into the result of other ops.
/// Only safe to apply to ops that don't care about their types.
struct FoldCastIntoNullOp : public OpRewritePattern<CastOp> {
- using OpRewritePattern<CastOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(CastOp castOp,
PatternRewriter &rewriter) const override {
auto nullOp = dyn_cast_or_null<NullOp>(castOp.getOperand().getDefiningOp());
@@ -824,7 +824,7 @@
struct ExpandUnfoldableConstantOp
: public OpRewritePattern<UnfoldableConstantOp> {
- using OpRewritePattern<IREE::Util::UnfoldableConstantOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(UnfoldableConstantOp op,
PatternRewriter &rewriter) const override {
auto stdConst = rewriter.create<arith::ConstantOp>(
@@ -909,7 +909,7 @@
/// store back to the same global: we want to be able to elide the entire load
/// and store.
struct EraseUnusedGlobalStoreOp : public OpRewritePattern<GlobalStoreOp> {
- using OpRewritePattern<GlobalStoreOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(GlobalStoreOp op,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Dialect/VM/IR/VMOpFolders.cpp b/compiler/src/iree/compiler/Dialect/VM/IR/VMOpFolders.cpp
index 0ac76c3..bac9fda 100644
--- a/compiler/src/iree/compiler/Dialect/VM/IR/VMOpFolders.cpp
+++ b/compiler/src/iree/compiler/Dialect/VM/IR/VMOpFolders.cpp
@@ -2897,7 +2897,7 @@
/// Changes a cmp.eq.ref check against null to a cmp.nz.ref and inverted cond.
struct NullCheckCmpEQRefToCmpNZRef : public OpRewritePattern<CmpEQRefOp> {
- using OpRewritePattern<CmpEQRefOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(CmpEQRefOp op,
PatternRewriter &rewriter) const override {
Attribute rhs;
@@ -2932,7 +2932,7 @@
/// Changes a cmp.ne.ref check against null to a cmp.nz.ref.
struct NullCheckCmpNERefToCmpNZRef : public OpRewritePattern<CmpNERefOp> {
- using OpRewritePattern<CmpNERefOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(CmpNERefOp op,
PatternRewriter &rewriter) const override {
Attribute rhs;
@@ -3027,7 +3027,7 @@
///
/// (same logic as for std.br)
struct SimplifyBrToBlockWithSinglePred : public OpRewritePattern<BranchOp> {
- using OpRewritePattern<BranchOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(BranchOp op,
PatternRewriter &rewriter) const override {
// Check that the successor block has a single predecessor.
@@ -3053,7 +3053,7 @@
///
/// (same logic as for std.br)
struct SimplifyPassThroughBr : public OpRewritePattern<BranchOp> {
- using OpRewritePattern<BranchOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(BranchOp op,
PatternRewriter &rewriter) const override {
Block *dest = op.getDest();
@@ -3085,7 +3085,7 @@
/// Simplifies a cond_br with a constant condition to an unconditional branch.
struct SimplifyConstCondBranchPred : public OpRewritePattern<CondBranchOp> {
- using OpRewritePattern<CondBranchOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(CondBranchOp op,
PatternRewriter &rewriter) const override {
if (matchPattern(op.getCondition(), m_NonZero())) {
@@ -3106,7 +3106,7 @@
/// Simplifies a cond_br with both targets (including operands) being equal to
/// an unconditional branch.
struct SimplifySameTargetCondBranchOp : public OpRewritePattern<CondBranchOp> {
- using OpRewritePattern<CondBranchOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(CondBranchOp op,
PatternRewriter &rewriter) const override {
if (op.getTrueDest() != op.getFalseDest()) {
@@ -3129,7 +3129,7 @@
/// Swaps the cond_br true and false targets if the condition is inverted.
struct SwapInvertedCondBranchOpTargets : public OpRewritePattern<CondBranchOp> {
- using OpRewritePattern<CondBranchOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(CondBranchOp op,
PatternRewriter &rewriter) const override {
// TODO(benvanik): figure out something more reliable when the xor may be
@@ -3166,7 +3166,7 @@
/// Converts a vm.call.variadic to a non-variadic function to a normal vm.call.
struct ConvertNonVariadicToCallOp : public OpRewritePattern<CallVariadicOp> {
- using OpRewritePattern<CallVariadicOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(CallVariadicOp op,
PatternRewriter &rewriter) const override {
// If any segment size is != -1 (which indicates variadic) we bail.
@@ -3193,7 +3193,7 @@
/// Rewrites a cond_fail op to a cond_branch to a fail op.
struct RewriteCondFailToBranchFail : public OpRewritePattern<CondFailOp> {
- using OpRewritePattern<CondFailOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(CondFailOp op,
PatternRewriter &rewriter) const override {
auto *block = rewriter.getInsertionBlock();
@@ -3358,7 +3358,7 @@
};
struct SimplifyConstCondBreakPred : public OpRewritePattern<CondBreakOp> {
- using OpRewritePattern<CondBreakOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(CondBreakOp op,
PatternRewriter &rewriter) const override {
IntegerAttr condValue;
diff --git a/compiler/src/iree/compiler/Dialect/VMVX/Transforms/ResolveBufferDescriptors.cpp b/compiler/src/iree/compiler/Dialect/VMVX/Transforms/ResolveBufferDescriptors.cpp
index 15e9c25..3c1cd32 100644
--- a/compiler/src/iree/compiler/Dialect/VMVX/Transforms/ResolveBufferDescriptors.cpp
+++ b/compiler/src/iree/compiler/Dialect/VMVX/Transforms/ResolveBufferDescriptors.cpp
@@ -226,7 +226,7 @@
namespace {
struct FromMemRefSubView : public OpRewritePattern<GetBufferDescriptorOp> {
- using OpRewritePattern<GetBufferDescriptorOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(GetBufferDescriptorOp op,
PatternRewriter &rewriter) const override {
auto subview = op.getSource().template getDefiningOp<memref::SubViewOp>();
@@ -291,7 +291,7 @@
struct FromHalInterfaceBindingSubspan
: public OpRewritePattern<GetBufferDescriptorOp> {
- using OpRewritePattern<GetBufferDescriptorOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(GetBufferDescriptorOp op,
PatternRewriter &rewriter) const override {
auto binding =
@@ -338,7 +338,7 @@
struct FromMemRefAssumeAlignment
: public OpRewritePattern<GetBufferDescriptorOp> {
- using OpRewritePattern<GetBufferDescriptorOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(GetBufferDescriptorOp op,
PatternRewriter &rewriter) const override {
auto assumeOp = op.getSource().getDefiningOp<memref::AssumeAlignmentOp>();
@@ -380,7 +380,7 @@
// Allocations always return a non-offset memref and are matched by this
// pattern.
struct FromAllocation : public OpRewritePattern<GetBufferDescriptorOp> {
- using OpRewritePattern<GetBufferDescriptorOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(GetBufferDescriptorOp op,
PatternRewriter &rewriter) const override {
auto alloca = op.getSource().template getDefiningOp<memref::AllocaOp>();
@@ -414,7 +414,7 @@
// MemRef globals are always static shaped and reference a non-offset
// buffer.
struct FromGlobal : public OpRewritePattern<GetBufferDescriptorOp> {
- using OpRewritePattern<GetBufferDescriptorOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(GetBufferDescriptorOp op,
PatternRewriter &rewriter) const override {
auto global = op.getSource().template getDefiningOp<memref::GetGlobalOp>();
diff --git a/compiler/src/iree/compiler/DispatchCreation/BubbleUpExpandShapes.cpp b/compiler/src/iree/compiler/DispatchCreation/BubbleUpExpandShapes.cpp
index a785242..27e4dda 100644
--- a/compiler/src/iree/compiler/DispatchCreation/BubbleUpExpandShapes.cpp
+++ b/compiler/src/iree/compiler/DispatchCreation/BubbleUpExpandShapes.cpp
@@ -53,7 +53,7 @@
// Because `extract_slice` ops and dequantize-like ops get cloned into regions
// later, it's okay to bubble up through multi-use dequant ops.
struct BubbleUpExtract : OpRewritePattern<tensor::ExtractSliceOp> {
- using OpRewritePattern<tensor::ExtractSliceOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExtractSliceOp sliceOp,
PatternRewriter &rewriter) const final {
@@ -167,7 +167,7 @@
struct BubbleExpandThroughExtract final
: public OpRewritePattern<tensor::ExpandShapeOp> {
- using OpRewritePattern<tensor::ExpandShapeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExpandShapeOp expandOp,
PatternRewriter &rewriter) const override {
@@ -270,7 +270,7 @@
struct BubbleExpandThroughConcat final
: public OpRewritePattern<tensor::ExpandShapeOp> {
- using OpRewritePattern<tensor::ExpandShapeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExpandShapeOp expandOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/DispatchCreation/HoistEncodingOps.cpp b/compiler/src/iree/compiler/DispatchCreation/HoistEncodingOps.cpp
index db2bdba..bcd9a62 100644
--- a/compiler/src/iree/compiler/DispatchCreation/HoistEncodingOps.cpp
+++ b/compiler/src/iree/compiler/DispatchCreation/HoistEncodingOps.cpp
@@ -176,7 +176,7 @@
/// of a dispatch.
struct BubbleUpSetEncodingOp
: public OpRewritePattern<IREE::Encoding::SetEncodingOp> {
- using OpRewritePattern<IREE::Encoding::SetEncodingOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::Encoding::SetEncodingOp encodingOp,
PatternRewriter &rewriter) const override {
@@ -202,7 +202,7 @@
/// Pattern to sink UnsetEncoding ops down through consumers.
struct SinkUnsetEncodingOp
: public OpRewritePattern<IREE::Encoding::UnsetEncodingOp> {
- using OpRewritePattern<IREE::Encoding::UnsetEncodingOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(IREE::Encoding::UnsetEncodingOp encodingOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/DispatchCreation/TensorPadToTensorInsertSlice.cpp b/compiler/src/iree/compiler/DispatchCreation/TensorPadToTensorInsertSlice.cpp
index 992124f..eec9b8b 100644
--- a/compiler/src/iree/compiler/DispatchCreation/TensorPadToTensorInsertSlice.cpp
+++ b/compiler/src/iree/compiler/DispatchCreation/TensorPadToTensorInsertSlice.cpp
@@ -35,7 +35,7 @@
/// tensor.insert_slice. This is needed till tensor.pad op can be fused with its
/// consumers.
struct TensorPadOpConversion : public OpRewritePattern<tensor::PadOp> {
- using OpRewritePattern<tensor::PadOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
TensorPadOpConversion(MLIRContext *context, bool skipSingleLinalgOpUses)
: OpRewritePattern<tensor::PadOp>(context, skipSingleLinalgOpUses),
skipSingleLinalgOpUses(skipSingleLinalgOpUses) {}
diff --git a/compiler/src/iree/compiler/DispatchCreation/TransposeGenericOps.cpp b/compiler/src/iree/compiler/DispatchCreation/TransposeGenericOps.cpp
index d047713..98e5d8e 100644
--- a/compiler/src/iree/compiler/DispatchCreation/TransposeGenericOps.cpp
+++ b/compiler/src/iree/compiler/DispatchCreation/TransposeGenericOps.cpp
@@ -31,7 +31,7 @@
/// dimension.
struct MakeReductionInnermostPattern final
: public OpRewritePattern<linalg::GenericOp> {
- using OpRewritePattern<linalg::GenericOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::GenericOp genericOp,
PatternRewriter &rewriter) const override {
SmallVector<unsigned> interchange;
@@ -64,7 +64,7 @@
/// fixes up elementwise operations for which that is not the case.
struct TransposeGenericOpPattern final
: public OpRewritePattern<linalg::GenericOp> {
- using OpRewritePattern<linalg::GenericOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::GenericOp genericOp,
PatternRewriter &rewriter) const override {
if (!genericOp.hasPureTensorSemantics()) {
diff --git a/compiler/src/iree/compiler/GlobalOptimization/ConvertStridedContractionToContraction.cpp b/compiler/src/iree/compiler/GlobalOptimization/ConvertStridedContractionToContraction.cpp
index d9a7909..ca5d54b 100644
--- a/compiler/src/iree/compiler/GlobalOptimization/ConvertStridedContractionToContraction.cpp
+++ b/compiler/src/iree/compiler/GlobalOptimization/ConvertStridedContractionToContraction.cpp
@@ -22,7 +22,7 @@
class ConvertStridedContractionToContraction
: public OpRewritePattern<linalg::GenericOp> {
public:
- using OpRewritePattern<linalg::GenericOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::GenericOp op,
PatternRewriter &rewriter) const override {
// Check if the generic op satisfies all other conditions for being a
diff --git a/compiler/src/iree/compiler/GlobalOptimization/PropagateLinalgTranspose.cpp b/compiler/src/iree/compiler/GlobalOptimization/PropagateLinalgTranspose.cpp
index da79610..fa3343c 100644
--- a/compiler/src/iree/compiler/GlobalOptimization/PropagateLinalgTranspose.cpp
+++ b/compiler/src/iree/compiler/GlobalOptimization/PropagateLinalgTranspose.cpp
@@ -191,7 +191,7 @@
class FuseTransposeWithProducerLinalgOp
: public OpRewritePattern<linalg::TransposeOp> {
public:
- using OpRewritePattern<linalg::TransposeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
FuseTransposeWithProducerLinalgOp(MLIRContext *ctx, bool aggressiveProp,
bool convProp, PatternBenefit b = 1)
: OpRewritePattern<linalg::TransposeOp>(ctx, b),
@@ -307,7 +307,7 @@
class BubbleTransposeThroughCollapseShape
: public OpRewritePattern<linalg::TransposeOp> {
public:
- using OpRewritePattern<linalg::TransposeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::TransposeOp transposeOp,
PatternRewriter &rewriter) const override {
@@ -376,7 +376,7 @@
// new propagation opportunities and eases the analysis in fusion/later passes.
class ComposeTransposes : public OpRewritePattern<linalg::TransposeOp> {
public:
- using OpRewritePattern<linalg::TransposeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::TransposeOp consumer,
PatternRewriter &rewriter) const override {
@@ -409,7 +409,7 @@
class SinkTransposeThroughExtractSlice
: public OpRewritePattern<tensor::ExtractSliceOp> {
public:
- using OpRewritePattern<tensor::ExtractSliceOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExtractSliceOp extractOp,
PatternRewriter &rewriter) const override {
@@ -504,7 +504,7 @@
class SinkTransposeThroughExpandShape
: public OpRewritePattern<tensor::ExpandShapeOp> {
public:
- using OpRewritePattern<tensor::ExpandShapeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::ExpandShapeOp expandOp,
PatternRewriter &rewriter) const override {
@@ -724,7 +724,7 @@
class SinkTransposeThroughUnaryElementwiseInput
: public OpRewritePattern<linalg::GenericOp> {
public:
- using OpRewritePattern<linalg::GenericOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::GenericOp genericOp,
PatternRewriter &rewriter) const override {
@@ -816,7 +816,7 @@
class BubbleTransposeThroughUnaryElementwiseDpsInit
: public OpRewritePattern<linalg::TransposeOp> {
public:
- using OpRewritePattern<linalg::TransposeOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::TransposeOp transposeOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/GlobalOptimization/QuantizedConvToConv.cpp b/compiler/src/iree/compiler/GlobalOptimization/QuantizedConvToConv.cpp
index c8b3344..462ddbb 100644
--- a/compiler/src/iree/compiler/GlobalOptimization/QuantizedConvToConv.cpp
+++ b/compiler/src/iree/compiler/GlobalOptimization/QuantizedConvToConv.cpp
@@ -127,7 +127,7 @@
// https://arxiv.org/abs/1712.05877.
struct QuantizedConvToConv
: public OpRewritePattern<linalg::Conv2DNhwcHwcfQOp> {
- using OpRewritePattern<linalg::Conv2DNhwcHwcfQOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::Conv2DNhwcHwcfQOp op,
PatternRewriter &rewriter) const override {
@@ -247,7 +247,7 @@
// https://arxiv.org/abs/1712.05877.
struct QuantizedDepthwiseConvToDepthwiseConv
: public OpRewritePattern<linalg::DepthwiseConv2DNhwcHwcQOp> {
- using OpRewritePattern<linalg::DepthwiseConv2DNhwcHwcQOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::DepthwiseConv2DNhwcHwcQOp op,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/GlobalOptimization/RemoveZeroExtentTensors.cpp b/compiler/src/iree/compiler/GlobalOptimization/RemoveZeroExtentTensors.cpp
index cdd22fd..c4b93a5 100644
--- a/compiler/src/iree/compiler/GlobalOptimization/RemoveZeroExtentTensors.cpp
+++ b/compiler/src/iree/compiler/GlobalOptimization/RemoveZeroExtentTensors.cpp
@@ -64,7 +64,7 @@
/// Forward the destination of a `tensor.insert_slice` to its uses
/// if the source is zero-extent.
struct FoldZeroExtentInserts : public OpRewritePattern<tensor::InsertSliceOp> {
- using OpRewritePattern<tensor::InsertSliceOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(tensor::InsertSliceOp sliceOp,
PatternRewriter &rewriter) const override {
diff --git a/compiler/src/iree/compiler/Modules/Check/IR/CheckOps.cpp b/compiler/src/iree/compiler/Modules/Check/IR/CheckOps.cpp
index 9c2a3b4..72bbbf7 100644
--- a/compiler/src/iree/compiler/Modules/Check/IR/CheckOps.cpp
+++ b/compiler/src/iree/compiler/Modules/Check/IR/CheckOps.cpp
@@ -16,7 +16,7 @@
namespace {
// Rewrites expect_eq_const -> expect_eq
struct ExpectEqConstOpToExpectEqOp : public OpRewritePattern<ExpectEqConstOp> {
- using OpRewritePattern<ExpectEqConstOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(ExpectEqConstOp op,
PatternRewriter &rewriter) const override {
auto rhs = rewriter.create<arith::ConstantOp>(op.getLoc(), op.getValue());
@@ -29,7 +29,7 @@
// Rewrites expect_almost_eq_const -> expect_almost_eq
struct ExpectAlmostEqConstOpToExpectAlmostEqOp
: public OpRewritePattern<ExpectAlmostEqConstOp> {
- using OpRewritePattern<ExpectAlmostEqConstOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(ExpectAlmostEqConstOp op,
PatternRewriter &rewriter) const override {
auto rhs = rewriter.create<arith::ConstantOp>(op.getLoc(), op.getValue());
diff --git a/compiler/src/iree/compiler/Modules/HAL/Inline/IR/HALInlineOps.cpp b/compiler/src/iree/compiler/Modules/HAL/Inline/IR/HALInlineOps.cpp
index 9e493eb..5cbc0ef 100644
--- a/compiler/src/iree/compiler/Modules/HAL/Inline/IR/HALInlineOps.cpp
+++ b/compiler/src/iree/compiler/Modules/HAL/Inline/IR/HALInlineOps.cpp
@@ -199,7 +199,7 @@
/// Skips a hal.buffer_view.buffer accessor when the buffer view was created in
/// the same scope and we know the origin buffer.
struct SkipBufferViewBufferOp : public OpRewritePattern<BufferViewBufferOp> {
- using OpRewritePattern<BufferViewBufferOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(BufferViewBufferOp op,
PatternRewriter &rewriter) const override {
if (auto createOp = dyn_cast_or_null<BufferViewCreateOp>(
diff --git a/compiler/src/iree/compiler/Preprocessing/Common/ConvertConv2DToImg2Col.cpp b/compiler/src/iree/compiler/Preprocessing/Common/ConvertConv2DToImg2Col.cpp
index 1d2b07f..8f7fd83 100644
--- a/compiler/src/iree/compiler/Preprocessing/Common/ConvertConv2DToImg2Col.cpp
+++ b/compiler/src/iree/compiler/Preprocessing/Common/ConvertConv2DToImg2Col.cpp
@@ -239,7 +239,7 @@
class ConvertDepthwiseConv2DNhwcHwc final
: public OpRewritePattern<linalg::DepthwiseConv2DNhwcHwcOp> {
public:
- using OpRewritePattern<linalg::DepthwiseConv2DNhwcHwcOp>::OpRewritePattern;
+ using OpRewritePattern::OpRewritePattern;
LogicalResult matchAndRewrite(linalg::DepthwiseConv2DNhwcHwcOp convOp,
PatternRewriter &rewriter) const override {