Skip to content

Commit

Permalink
[mlir] Finish replacing OwningRewritePatternList with RewritePatternSet
Browse files Browse the repository at this point in the history
OwningRewritePatternList has been deprecated for ~10 months now, we can remove
the leftover using directives at this point.

Differential Revision: https://reviews.llvm.org/D118287
  • Loading branch information
River707 committed Jan 27, 2022
1 parent 7d0426d commit 9f85c19
Show file tree
Hide file tree
Showing 48 changed files with 46 additions and 71 deletions.
2 changes: 1 addition & 1 deletion flang/lib/Optimizer/CodeGen/CodeGen.cpp
Expand Up @@ -3266,7 +3266,7 @@ class FIRToLLVMLowering : public fir::FIRToLLVMLoweringBase<FIRToLLVMLowering> {

auto *context = getModule().getContext();
fir::LLVMTypeConverter typeConverter{getModule()};
mlir::OwningRewritePatternList pattern(context);
mlir::RewritePatternSet pattern(context);
pattern.insert<
AbsentOpConversion, AddcOpConversion, AddrOfOpConversion,
AllocaOpConversion, AllocMemOpConversion, BoxAddrOpConversion,
Expand Down
2 changes: 1 addition & 1 deletion flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
Expand Up @@ -260,7 +260,7 @@ class CodeGenRewrite : public CodeGenRewriteBase<CodeGenRewrite> {
return !(embox.getShape() ||
embox.getType().cast<BoxType>().getEleTy().isa<SequenceType>());
});
mlir::OwningRewritePatternList patterns(&context);
mlir::RewritePatternSet patterns(&context);
patterns.insert<EmboxConversion, ArrayCoorConversion, ReboxConversion>(
&context);
if (mlir::failed(
Expand Down
6 changes: 3 additions & 3 deletions flang/lib/Optimizer/Dialect/FIROps.cpp
Expand Up @@ -784,8 +784,8 @@ static mlir::LogicalResult verify(fir::ConstcOp &op) {
// ConvertOp
//===----------------------------------------------------------------------===//

void fir::ConvertOp::getCanonicalizationPatterns(
OwningRewritePatternList &results, MLIRContext *context) {
void fir::ConvertOp::getCanonicalizationPatterns(RewritePatternSet &results,
MLIRContext *context) {
results.insert<ConvertConvertOptPattern, RedundantConvertOptPattern,
CombineConvertOptPattern, ForwardConstantConvertPattern>(
context);
Expand Down Expand Up @@ -1508,7 +1508,7 @@ struct UndoComplexPattern : public mlir::RewritePattern {
};

void fir::InsertValueOp::getCanonicalizationPatterns(
mlir::OwningRewritePatternList &results, mlir::MLIRContext *context) {
mlir::RewritePatternSet &results, mlir::MLIRContext *context) {
results.insert<UndoComplexPattern<mlir::arith::AddFOp, fir::AddcOp>,
UndoComplexPattern<mlir::arith::SubFOp, fir::SubcOp>>(context);
}
Expand Down
2 changes: 1 addition & 1 deletion flang/lib/Optimizer/Transforms/AbstractResult.cpp
Expand Up @@ -216,7 +216,7 @@ class AbstractResultOpt : public fir::AbstractResultOptBase<AbstractResultOpt> {
auto *context = &getContext();
auto func = getOperation();
auto loc = func.getLoc();
mlir::OwningRewritePatternList patterns(context);
mlir::RewritePatternSet patterns(context);
mlir::ConversionTarget target = *context;
AbstractResultOptions options{passResultAsBox.getValue(),
/*newArg=*/{}};
Expand Down
2 changes: 1 addition & 1 deletion flang/lib/Optimizer/Transforms/AffineDemotion.cpp
Expand Up @@ -143,7 +143,7 @@ class AffineDialectDemotion
LLVM_DEBUG(llvm::dbgs() << "AffineDemotion: running on function:\n";
function.print(llvm::dbgs()););

mlir::OwningRewritePatternList patterns(context);
mlir::RewritePatternSet patterns(context);
patterns.insert<ConvertConversion>(context);
patterns.insert<AffineLoadConversion>(context);
patterns.insert<AffineStoreConversion>(context);
Expand Down
2 changes: 1 addition & 1 deletion flang/lib/Optimizer/Transforms/AffinePromotion.cpp
Expand Up @@ -587,7 +587,7 @@ class AffineDialectPromotion
auto function = getOperation();
markAllAnalysesPreserved();
auto functionAnalysis = AffineFunctionAnalysis(function);
mlir::OwningRewritePatternList patterns(context);
mlir::RewritePatternSet patterns(context);
patterns.insert<AffineIfConversion>(context, functionAnalysis);
patterns.insert<AffineLoopConversion>(context, functionAnalysis);
mlir::ConversionTarget target = *context;
Expand Down
4 changes: 2 additions & 2 deletions flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
Expand Up @@ -784,7 +784,7 @@ class ArrayValueCopyConverter
// array accesses are rewritten we can go on phase 2.
// Phase 2 gets rid of the useless copy-in/copyout operations. The copy-in
// /copy-out refers the Fortran copy-in/copy-out semantics on statements.
mlir::OwningRewritePatternList patterns1(context);
mlir::RewritePatternSet patterns1(context);
patterns1.insert<ArrayFetchConversion>(context, useMap);
patterns1.insert<ArrayUpdateConversion>(context, analysis, useMap);
patterns1.insert<ArrayModifyConversion>(context, analysis, useMap);
Expand All @@ -801,7 +801,7 @@ class ArrayValueCopyConverter
signalPassFailure();
}

mlir::OwningRewritePatternList patterns2(context);
mlir::RewritePatternSet patterns2(context);
patterns2.insert<ArrayLoadConversion>(context);
patterns2.insert<ArrayMergeStoreConversion>(context);
target.addIllegalOp<ArrayLoadOp, ArrayMergeStoreOp>();
Expand Down
2 changes: 1 addition & 1 deletion flang/lib/Optimizer/Transforms/CharacterConversion.cpp
Expand Up @@ -101,7 +101,7 @@ class CharacterConversion
if (clOpts.runtimeName.empty()) {
auto *context = &getContext();
auto *func = getOperation();
mlir::OwningRewritePatternList patterns(context);
mlir::RewritePatternSet patterns(context);
patterns.insert<CharacterConvertConversion>(context);
mlir::ConversionTarget target(*context);
target.addLegalDialect<mlir::AffineDialect, fir::FIROpsDialect,
Expand Down
2 changes: 1 addition & 1 deletion flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
Expand Up @@ -148,7 +148,7 @@ void ExternalNameConversionPass::runOnOperation() {
auto op = getOperation();
auto *context = &getContext();

mlir::OwningRewritePatternList patterns(context);
mlir::RewritePatternSet patterns(context);
patterns.insert<MangleNameOnCallOp, MangleNameOnCallOp, MangleNameOnFuncOp,
MangleNameForCommonBlock, MangleNameOnAddrOfOp,
MangleNameOnEmboxProcOp>(context);
Expand Down
2 changes: 1 addition & 1 deletion flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
Expand Up @@ -172,7 +172,7 @@ class MemoryAllocationOpt
void runOnOperation() override {
auto *context = &getContext();
auto func = getOperation();
mlir::OwningRewritePatternList patterns(context);
mlir::RewritePatternSet patterns(context);
mlir::ConversionTarget target(*context);

useCommandLineOptions();
Expand Down
2 changes: 1 addition & 1 deletion flang/lib/Optimizer/Transforms/RewriteLoop.cpp
Expand Up @@ -296,7 +296,7 @@ class CfgConversion : public CFGConversionBase<CfgConversion> {
public:
void runOnOperation() override {
auto *context = &getContext();
mlir::OwningRewritePatternList patterns(context);
mlir::RewritePatternSet patterns(context);
patterns.insert<CfgLoopConv, CfgIfConv, CfgIterWhileConv>(
context, forceLoopToExecuteOnce);
mlir::ConversionTarget target(*context);
Expand Down
Expand Up @@ -25,7 +25,6 @@ class Value;
class ValueRange;

class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

/// Emit code that computes the given affine expression using standard
/// arithmetic operations applied to the provided dimension and symbol values.
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Conversion/AsyncToLLVM/AsyncToLLVM.h
Expand Up @@ -20,7 +20,6 @@ class OperationPass;
class MLIRContext;
class TypeConverter;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

/// Create a pass to convert Async operations to the LLVM dialect.
std::unique_ptr<OperationPass<ModuleOp>> createConvertAsyncToLLVMPass();
Expand Down
3 changes: 1 addition & 2 deletions mlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
Expand Up @@ -26,7 +26,6 @@ struct LogicalResult;
class ModuleOp;
class Operation;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

template <typename T>
class OperationPass;
Expand Down Expand Up @@ -56,7 +55,7 @@ std::unique_ptr<OperationPass<ModuleOp>> createGpuToLLVMConversionPass();
/// Collect a set of patterns to convert from the GPU dialect to LLVM and
/// populate converter for gpu types.
void populateGpuToLLVMConversionPatterns(LLVMTypeConverter &converter,
OwningRewritePatternList &patterns,
RewritePatternSet &patterns,
StringRef gpuBinaryAnnotation = {});

} // namespace mlir
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h
Expand Up @@ -16,7 +16,6 @@ namespace mlir {
class LLVMTypeConverter;
class ConversionTarget;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

template <typename OpT>
class OperationPass;
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h
Expand Up @@ -16,7 +16,6 @@ namespace mlir {
class LLVMTypeConverter;
class ConversionTarget;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

template <typename OpT>
class OperationPass;
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Conversion/LinalgToSPIRV/LinalgToSPIRV.h
Expand Up @@ -17,7 +17,6 @@ namespace mlir {
class MLIRContext;
class SPIRVTypeConverter;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

/// Appends to a pattern list additional patterns for translating Linalg ops to
/// SPIR-V ops.
Expand Down
Expand Up @@ -17,7 +17,6 @@ class ModuleOp;
template <typename T>
class OperationPass;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

/// Populate the given list with patterns that convert from OpenMP to LLVM.
void populateOpenMPToLLVMConversionPatterns(LLVMTypeConverter &converter,
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Conversion/SCFToGPU/SCFToGPU.h
Expand Up @@ -18,7 +18,6 @@ class MLIRContext;
class Value;
class Operation;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

namespace scf {
class ForOp;
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Conversion/SCFToSPIRV/SCFToSPIRV.h
Expand Up @@ -21,7 +21,6 @@ class Pass;
class SPIRVTypeConverter;
struct ScfToSPIRVContextImpl;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

struct ScfToSPIRVContext {
ScfToSPIRVContext();
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Conversion/SCFToStandard/SCFToStandard.h
Expand Up @@ -17,7 +17,6 @@ struct LogicalResult;
class Pass;

class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

/// Collect a set of patterns to lower from scf.for, scf.if, and
/// loop.terminator to CFG operations within the Standard dialect, in particular
Expand Down
Expand Up @@ -18,7 +18,6 @@ class ModuleOp;
template <typename T>
class OperationPass;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

void populateShapeToStandardConversionPatterns(RewritePatternSet &patterns);

Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Conversion/VectorToROCDL/VectorToROCDL.h
Expand Up @@ -16,7 +16,6 @@ class ModuleOp;
template <typename OpT>
class OperationPass;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

/// Collect a set of patterns to convert from the GPU dialect to ROCDL.
void populateVectorToROCDLConversionPatterns(LLVMTypeConverter &converter,
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Dialect/AMX/Transforms.h
Expand Up @@ -14,7 +14,6 @@ namespace mlir {
class LLVMConversionTarget;
class LLVMTypeConverter;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

/// Collect a set of patterns to lower AMX ops to ops that map to LLVM
/// intrinsics.
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Dialect/ArmSVE/Transforms.h
Expand Up @@ -14,7 +14,6 @@ namespace mlir {
class LLVMConversionTarget;
class LLVMTypeConverter;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

/// Collect a set of patterns to lower ArmSVE ops to ops that map to LLVM
/// intrinsics.
Expand Down
4 changes: 2 additions & 2 deletions mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Expand Up @@ -1289,8 +1289,8 @@ LogicalResult peelAndCanonicalizeTiledLoop(RewriterBase &rewriter,
/// global transformations, in a staged fashion:
/// 1. the first stage consists of a list of FrozenRewritePatternSet. Each
/// FrozenRewritePatternSet in this list is applied once, in order.
/// 2. the second stage consists of a single OwningRewritePattern that is
/// applied greedily until convergence.
/// 2. the second stage consists of a single RewritePattern that is applied
/// greedily until convergence.
/// 3. the third stage consists of applying a lambda, generally used for
/// non-local transformation effects. This allows creating custom fused
/// transformations where patterns can be ordered and applied at a finer
Expand Down
3 changes: 1 addition & 2 deletions mlir/include/mlir/Dialect/MemRef/Transforms/ComposeSubView.h
Expand Up @@ -16,11 +16,10 @@
namespace mlir {
class MLIRContext;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

namespace memref {

void populateComposeSubViewPatterns(OwningRewritePatternList &patterns,
void populateComposeSubViewPatterns(RewritePatternSet &patterns,
MLIRContext *context);

} // namespace memref
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Dialect/SCF/Transforms.h
Expand Up @@ -27,7 +27,6 @@ class Region;
class RewriterBase;
class TypeConverter;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;
class Operation;
class Value;
class ValueRange;
Expand Down
Expand Up @@ -25,7 +25,6 @@ class MLIRContext;
class Operation;
class TypeConverter;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

/// Add a pattern to the given pattern list to convert the operand and result
/// types of a CallOp with the given type converter.
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Dialect/StandardOps/Transforms/Passes.h
Expand Up @@ -23,7 +23,6 @@ class GlobalCreator;
} // namespace bufferization

class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

void populateStdBufferizePatterns(
bufferization::BufferizeTypeConverter &typeConverter,
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Dialect/Tensor/Transforms/Passes.h
Expand Up @@ -17,7 +17,6 @@ class BufferizeTypeConverter;
} // namespace bufferization

class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

void populateTensorBufferizePatterns(
bufferization::BufferizeTypeConverter &typeConverter,
Expand Down
1 change: 0 additions & 1 deletion mlir/include/mlir/Dialect/Vector/VectorOps.h
Expand Up @@ -32,7 +32,6 @@
namespace mlir {
class MLIRContext;
class RewritePatternSet;
using OwningRewritePatternList = RewritePatternSet;

namespace vector {
class VectorDialect;
Expand Down
2 changes: 0 additions & 2 deletions mlir/include/mlir/Dialect/Vector/VectorTransforms.h
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
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
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
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
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

0 comments on commit 9f85c19

Please sign in to comment.