2 changes: 0 additions & 2 deletions mlir/include/mlir/Dialect/Vector/VectorTransforms.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ class VectorTransferOpInterface;
class RewritePatternSet;
class RewriterBase;

using OwningRewritePatternList = RewritePatternSet;

namespace scf {
class IfOp;
} // namespace scf
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Dialect/X86Vector/Transforms.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ class ImplicitLocOpBuilder;
class LLVMConversionTarget;
class LLVMTypeConverter;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

namespace x86vector {

Expand Down
4 changes: 1 addition & 3 deletions mlir/include/mlir/IR/OperationSupport.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,13 @@ class Pattern;
class Region;
class ResultRange;
class RewritePattern;
class RewritePatternSet;
class Type;
class Value;
class ValueRange;
template <typename ValueRangeT>
class ValueTypeRange;

class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

//===----------------------------------------------------------------------===//
// OperationName
//===----------------------------------------------------------------------===//
Expand Down
2 changes: 1 addition & 1 deletion mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -848,7 +848,7 @@ mlir::createGpuToLLVMConversionPass() {
}

void mlir::populateGpuToLLVMConversionPatterns(
LLVMTypeConverter &converter, OwningRewritePatternList &patterns,
LLVMTypeConverter &converter, RewritePatternSet &patterns,
StringRef gpuBinaryAnnotation) {
converter.addConversion(
[context = &converter.getContext()](gpu::AsyncTokenType type) -> Type {
Expand Down
2 changes: 1 addition & 1 deletion mlir/lib/Conversion/OpenACCToLLVM/OpenACCToLLVM.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ class LegalizeDataOpForLLVMTranslation : public ConvertOpToLLVMPattern<Op> {
} // namespace

void mlir::populateOpenACCToLLVMConversionPatterns(
LLVMTypeConverter &converter, OwningRewritePatternList &patterns) {
LLVMTypeConverter &converter, RewritePatternSet &patterns) {
patterns.add<LegalizeDataOpForLLVMTranslation<acc::DataOp>>(converter);
patterns.add<LegalizeDataOpForLLVMTranslation<acc::EnterDataOp>>(converter);
patterns.add<LegalizeDataOpForLLVMTranslation<acc::ExitDataOp>>(converter);
Expand Down
16 changes: 8 additions & 8 deletions mlir/lib/Dialect/Arithmetic/IR/ArithmeticOps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ OpFoldResult arith::AddIOp::fold(ArrayRef<Attribute> operands) {
}

void arith::AddIOp::getCanonicalizationPatterns(
OwningRewritePatternList &patterns, MLIRContext *context) {
RewritePatternSet &patterns, MLIRContext *context) {
patterns.insert<AddIAddConstant, AddISubConstantRHS, AddISubConstantLHS>(
context);
}
Expand All @@ -231,7 +231,7 @@ OpFoldResult arith::SubIOp::fold(ArrayRef<Attribute> operands) {
}

void arith::SubIOp::getCanonicalizationPatterns(
OwningRewritePatternList &patterns, MLIRContext *context) {
RewritePatternSet &patterns, MLIRContext *context) {
patterns.insert<SubIRHSAddConstant, SubILHSAddConstant, SubIRHSSubConstantRHS,
SubIRHSSubConstantLHS, SubILHSSubConstantRHS,
SubILHSSubConstantLHS>(context);
Expand Down Expand Up @@ -567,7 +567,7 @@ OpFoldResult arith::XOrIOp::fold(ArrayRef<Attribute> operands) {
}

void arith::XOrIOp::getCanonicalizationPatterns(
OwningRewritePatternList &patterns, MLIRContext *context) {
RewritePatternSet &patterns, MLIRContext *context) {
patterns.insert<XOrINotCmpI>(context);
}

Expand Down Expand Up @@ -846,7 +846,7 @@ bool arith::ExtSIOp::areCastCompatible(TypeRange inputs, TypeRange outputs) {
}

void arith::ExtSIOp::getCanonicalizationPatterns(
OwningRewritePatternList &patterns, MLIRContext *context) {
RewritePatternSet &patterns, MLIRContext *context) {
patterns.insert<ExtSIOfExtUI>(context);
}

Expand Down Expand Up @@ -926,7 +926,7 @@ bool arith::TruncFOp::areCastCompatible(TypeRange inputs, TypeRange outputs) {
//===----------------------------------------------------------------------===//

void arith::AndIOp::getCanonicalizationPatterns(
OwningRewritePatternList &patterns, MLIRContext *context) {
RewritePatternSet &patterns, MLIRContext *context) {
patterns.insert<AndOfExtUI, AndOfExtSI>(context);
}

Expand All @@ -935,7 +935,7 @@ void arith::AndIOp::getCanonicalizationPatterns(
//===----------------------------------------------------------------------===//

void arith::OrIOp::getCanonicalizationPatterns(
OwningRewritePatternList &patterns, MLIRContext *context) {
RewritePatternSet &patterns, MLIRContext *context) {
patterns.insert<OrOfExtUI, OrOfExtSI>(context);
}

Expand Down Expand Up @@ -1074,7 +1074,7 @@ OpFoldResult arith::IndexCastOp::fold(ArrayRef<Attribute> operands) {
}

void arith::IndexCastOp::getCanonicalizationPatterns(
OwningRewritePatternList &patterns, MLIRContext *context) {
RewritePatternSet &patterns, MLIRContext *context) {
patterns.insert<IndexCastOfIndexCast, IndexCastOfExtSI>(context);
}

Expand Down Expand Up @@ -1123,7 +1123,7 @@ OpFoldResult arith::BitcastOp::fold(ArrayRef<Attribute> operands) {
}

void arith::BitcastOp::getCanonicalizationPatterns(
OwningRewritePatternList &patterns, MLIRContext *context) {
RewritePatternSet &patterns, MLIRContext *context) {
patterns.insert<BitcastOfBitcast>(context);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ using ScalableMaskedDivFOpLowering =

/// Populate the given list with patterns that convert from ArmSVE to LLVM.
void mlir::populateArmSVELegalizeForLLVMExportPatterns(
LLVMTypeConverter &converter, OwningRewritePatternList &patterns) {
LLVMTypeConverter &converter, RewritePatternSet &patterns) {
// Populate conversion patterns

// clang-format off
Expand Down
2 changes: 1 addition & 1 deletion mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ struct SimplifyClones : public OpRewritePattern<CloneOp> {

} // namespace

void CloneOp::getCanonicalizationPatterns(OwningRewritePatternList &results,
void CloneOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<SimplifyClones>(context);
}
Expand Down
2 changes: 1 addition & 1 deletion mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ checkBufferizationResult(Operation *op, const BufferizationOptions &options) {
LogicalResult bufferization::bufferizeOp(Operation *op,
const BufferizationState &state) {
// Bufferize the op and its nested ops.
OwningRewritePatternList patterns(op->getContext());
RewritePatternSet patterns(op->getContext());
patterns.add<BufferizationPattern>(op->getContext(), state);
if (failed(applyPatternsAndFoldGreedily(op, std::move(patterns))))
return failure();
Expand Down
2 changes: 1 addition & 1 deletion mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1753,7 +1753,7 @@ struct TiledLoopResultsFolder : public OpRewritePattern<linalg::TiledLoopOp> {
};
} // namespace

void TiledLoopOp::getCanonicalizationPatterns(OwningRewritePatternList &results,
void TiledLoopOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<TiledLoopInputsFolder, TiledLoopResultsFolder,
DimOfTiledLoopInsOutsFolder<tensor::DimOp>,
Expand Down
2 changes: 2 additions & 0 deletions mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
add_mlir_dialect_library(MLIRMemRefTransforms
ComposeSubView.cpp
ExpandOps.cpp
FoldSubViewOps.cpp
NormalizeMemRefs.cpp
ResolveShapedTypeResultDims.cpp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
//
//===----------------------------------------------------------------------===//

#include "mlir/Dialect/StandardOps/Transforms/ComposeSubView.h"

#include "mlir/Dialect/MemRef/Transforms/ComposeSubView.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/IR/BuiltinAttributes.h"
Expand All @@ -21,7 +20,7 @@
#include "mlir/Transforms/DialectConversion.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"

namespace mlir {
using namespace mlir;

namespace {

Expand Down Expand Up @@ -128,9 +127,7 @@ struct ComposeSubViewOpPattern : public OpRewritePattern<memref::SubViewOp> {

} // namespace

void populateComposeSubViewPatterns(OwningRewritePatternList &patterns,
MLIRContext *context) {
void mlir::memref::populateComposeSubViewPatterns(
RewritePatternSet &patterns, MLIRContext *context) {
patterns.insert<ComposeSubViewOpPattern>(context);
}

} // namespace mlir
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
#include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
#include "mlir/Dialect/Arithmetic/Transforms/Passes.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/MemRef/Transforms/Passes.h"
#include "mlir/Dialect/StandardOps/IR/Ops.h"
#include "mlir/Dialect/StandardOps/Transforms/Passes.h"
#include "mlir/IR/TypeUtilities.h"
#include "mlir/Transforms/DialectConversion.h"

Expand Down Expand Up @@ -120,13 +120,13 @@ struct MemRefReshapeOpConverter : public OpRewritePattern<memref::ReshapeOp> {
}
};

struct StdExpandOpsPass : public StdExpandOpsBase<StdExpandOpsPass> {
struct ExpandOpsPass : public ExpandOpsBase<ExpandOpsPass> {
void runOnOperation() override {
MLIRContext &ctx = getContext();

RewritePatternSet patterns(&ctx);
populateStdExpandOpsPatterns(patterns);
ConversionTarget target(getContext());
memref::populateExpandOpsPatterns(patterns);
ConversionTarget target(ctx);

target.addLegalDialect<arith::ArithmeticDialect, memref::MemRefDialect,
StandardOpsDialect>();
Expand All @@ -146,11 +146,11 @@ struct StdExpandOpsPass : public StdExpandOpsBase<StdExpandOpsPass> {

} // namespace

void mlir::populateStdExpandOpsPatterns(RewritePatternSet &patterns) {
void mlir::memref::populateExpandOpsPatterns(RewritePatternSet &patterns) {
patterns.add<AtomicRMWOpConverter, MemRefReshapeOpConverter>(
patterns.getContext());
}

std::unique_ptr<Pass> mlir::createStdExpandOpsPass() {
return std::make_unique<StdExpandOpsPass>();
std::unique_ptr<Pass> mlir::memref::createExpandOpsPass() {
return std::make_unique<ExpandOpsPass>();
}
1 change: 1 addition & 0 deletions mlir/lib/Dialect/MemRef/Transforms/PassDetail.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
namespace mlir {

class AffineDialect;
class StandardOpsDialect;

// Forward declaration from Dialect.h
template <typename ConcreteDialect>
Expand Down
2 changes: 1 addition & 1 deletion mlir/lib/Dialect/SCF/SCF.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2537,7 +2537,7 @@ struct WhileUnusedArg : public OpRewritePattern<WhileOp> {
};
} // namespace

void WhileOp::getCanonicalizationPatterns(OwningRewritePatternList &results,
void WhileOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<WhileConditionTruth, WhileUnusedResult, WhileCmpCond,
WhileUnusedArg>(context);
Expand Down
2 changes: 1 addition & 1 deletion mlir/lib/Dialect/StandardOps/IR/Ops.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -764,7 +764,7 @@ struct SelectToExtUI : public OpRewritePattern<SelectOp> {
}
};

void SelectOp::getCanonicalizationPatterns(OwningRewritePatternList &results,
void SelectOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<SelectI1Simplify, SelectToExtUI>(context);
}
Expand Down
2 changes: 0 additions & 2 deletions mlir/lib/Dialect/StandardOps/Transforms/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
add_mlir_dialect_library(MLIRStandardOpsTransforms
Bufferize.cpp
ComposeSubView.cpp
DecomposeCallGraphTypes.cpp
ExpandOps.cpp
FuncBufferize.cpp
FuncConversions.cpp
TensorConstantBufferize.cpp
Expand Down
16 changes: 8 additions & 8 deletions mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ struct ConcatOptimization : public OpRewritePattern<tosa::ConcatOp> {
}
};

void ConcatOp::getCanonicalizationPatterns(OwningRewritePatternList &results,
void ConcatOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<ConcatOptimization>(context);
}
Expand Down Expand Up @@ -187,7 +187,7 @@ struct ReshapeConstOptimization : public OpRewritePattern<tosa::ReshapeOp> {
}
};

void ReshapeOp::getCanonicalizationPatterns(OwningRewritePatternList &results,
void ReshapeOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<ReshapeReshapeOptimization>(context);
results.insert<ReshapeConstOptimization>(context);
Expand Down Expand Up @@ -284,7 +284,7 @@ struct NoOpOptimization : public OpRewritePattern<tosa::TransposeOp> {
}
};

void TransposeOp::getCanonicalizationPatterns(OwningRewritePatternList &results,
void TransposeOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<ConstantTransposeOptimization>(context);
results.insert<NoOpOptimization>(context);
Expand Down Expand Up @@ -322,7 +322,7 @@ struct AddZeroOptimization : public OpRewritePattern<tosa::AddOp> {
}
};

void AddOp::getCanonicalizationPatterns(OwningRewritePatternList &results,
void AddOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<AddZeroOptimization>(context);
}
Expand Down Expand Up @@ -371,7 +371,7 @@ struct MulOneOptimization : public OpRewritePattern<tosa::MulOp> {
}
};

void MulOp::getCanonicalizationPatterns(OwningRewritePatternList &results,
void MulOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<MulOneOptimization>(context);
}
Expand Down Expand Up @@ -418,7 +418,7 @@ struct MaterializePadValue : public OpRewritePattern<tosa::PadOp> {
}
};

void PadOp::getCanonicalizationPatterns(OwningRewritePatternList &results,
void PadOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<MaterializePadValue>(context);
}
Expand Down Expand Up @@ -453,7 +453,7 @@ struct MaxPool2dIsNoOp : public OpRewritePattern<tosa::MaxPool2dOp> {
}
};

void MaxPool2dOp::getCanonicalizationPatterns(OwningRewritePatternList &results,
void MaxPool2dOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<MaxPool2dIsNoOp>(context);
}
Expand Down Expand Up @@ -556,7 +556,7 @@ struct ClampClampOptimization : public OpRewritePattern<tosa::ClampOp> {
}
};

void ClampOp::getCanonicalizationPatterns(OwningRewritePatternList &results,
void ClampOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<ClampIsNoOp>(context);
results.insert<ClampClampOptimization>(context);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// RUN: mlir-opt -std-expand %s -split-input-file | FileCheck %s
// RUN: mlir-opt -memref-expand %s -split-input-file | FileCheck %s

// CHECK-LABEL: func @atomic_rmw_to_generic
// CHECK-SAME: ([[F:%.*]]: memref<10xf32>, [[f:%.*]]: f32, [[i:%.*]]: index)
Expand Down
1 change: 1 addition & 0 deletions mlir/test/lib/Dialect/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ add_subdirectory(DLTI)
add_subdirectory(GPU)
add_subdirectory(Linalg)
add_subdirectory(Math)
add_subdirectory(MemRef)
add_subdirectory(SCF)
add_subdirectory(Shape)
add_subdirectory(SPIRV)
Expand Down
2 changes: 1 addition & 1 deletion mlir/test/lib/Dialect/Linalg/TestLinalgDistribution.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ struct TestLinalgDistribution

void TestLinalgDistribution::runOnOperation() {
auto funcOp = getOperation();
OwningRewritePatternList distributeTiledLoopsPatterns(&getContext());
RewritePatternSet distributeTiledLoopsPatterns(&getContext());
populateLinalgDistributeTiledLoopPattern(
distributeTiledLoopsPatterns, getDistributionOptions(),
LinalgTransformationFilter(
Expand Down
17 changes: 17 additions & 0 deletions mlir/test/lib/Dialect/MemRef/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Exclude tests from libMLIR.so
add_mlir_library(MLIRMemRefTestPasses
TestComposeSubView.cpp

EXCLUDE_FROM_LIBMLIR

LINK_LIBS PUBLIC
MLIRPass
MLIRMemRefTransforms
MLIRTestDialect
)

target_include_directories(MLIRMemRefTestPasses
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/../Test
${CMAKE_CURRENT_BINARY_DIR}/../Test
)
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
//===----------------------------------------------------------------------===//

#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/StandardOps/Transforms/ComposeSubView.h"
#include "mlir/Dialect/MemRef/Transforms/ComposeSubView.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"

Expand All @@ -34,8 +34,8 @@ void TestComposeSubViewPass::getDependentDialects(
}

void TestComposeSubViewPass::runOnOperation() {
OwningRewritePatternList patterns(&getContext());
populateComposeSubViewPatterns(patterns, &getContext());
RewritePatternSet patterns(&getContext());
memref::populateComposeSubViewPatterns(patterns, &getContext());
(void)applyPatternsAndFoldGreedily(getOperation(), std::move(patterns));
}
} // namespace
Expand Down
1 change: 0 additions & 1 deletion mlir/test/lib/Dialect/StandardOps/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Exclude tests from libMLIR.so
add_mlir_library(MLIRStandardOpsTestPasses
TestDecomposeCallGraphTypes.cpp
TestComposeSubView.cpp

EXCLUDE_FROM_LIBMLIR

Expand Down
2 changes: 1 addition & 1 deletion mlir/test/mlir-cpu-runner/memref-reshape.mlir
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// RUN: mlir-opt %s -convert-scf-to-std -std-expand -convert-arith-to-llvm -convert-memref-to-llvm -convert-std-to-llvm -reconcile-unrealized-casts \
// RUN: mlir-opt %s -convert-scf-to-std -memref-expand -convert-arith-to-llvm -convert-memref-to-llvm -convert-std-to-llvm -reconcile-unrealized-casts \
// RUN: | mlir-cpu-runner -e main -entry-point-result=void \
// RUN: -shared-libs=%mlir_runner_utils_dir/libmlir_runner_utils%shlibext,%mlir_runner_utils_dir/libmlir_c_runner_utils%shlibext \
// RUN: | FileCheck %s
Expand Down
1 change: 1 addition & 0 deletions mlir/tools/mlir-opt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ if(MLIR_INCLUDE_TESTS)
MLIRGPUTestPasses
MLIRLinalgTestPasses
MLIRMathTestPasses
MLIRMemRefTestPasses
MLIRSCFTestPasses
MLIRShapeTestPasses
MLIRSPIRVTestPasses
Expand Down