[Mlir-commits] [mlir] 2321ac1 - [mlir] Remove the deprecated OpConversionPattern::matchAndRewrite methods
River Riddle
llvmlistbot at llvm.org
Thu Oct 28 16:20:10 PDT 2021
Author: River Riddle
Date: 2021-10-28T23:17:59Z
New Revision: 2321ac195ca8cca328e13382b9f44c1648b7209d
URL: https://github.com/llvm/llvm-project/commit/2321ac195ca8cca328e13382b9f44c1648b7209d
DIFF: https://github.com/llvm/llvm-project/commit/2321ac195ca8cca328e13382b9f44c1648b7209d.diff
LOG: [mlir] Remove the deprecated OpConversionPattern::matchAndRewrite methods
These have been deprecated for a few weeks now.
Differential Revision: https://reviews.llvm.org/D112763
Added:
Modified:
mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
mlir/include/mlir/Transforms/DialectConversion.h
Removed:
################################################################################
diff --git a/mlir/include/mlir/Conversion/LLVMCommon/Pattern.h b/mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
index 4ffd135538b79..406f838f14606 100644
--- a/mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
+++ b/mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
@@ -156,24 +156,6 @@ class ConvertOpToLLVMPattern : public ConvertToLLVMPattern {
rewriter);
}
- /// Rewrite and Match methods that operate on the SourceOp type. These must be
- /// overridden by the derived pattern class.
- /// NOTICE: These methods are deprecated and will be removed. All new code
- /// should use the adaptor methods below instead.
- virtual void rewrite(SourceOp op, ArrayRef<Value> operands,
- ConversionPatternRewriter &rewriter) const {
- llvm_unreachable("must override rewrite or matchAndRewrite");
- }
- virtual LogicalResult
- matchAndRewrite(SourceOp op, ArrayRef<Value> operands,
- ConversionPatternRewriter &rewriter) const {
- if (succeeded(match(op))) {
- rewrite(op, OpAdaptor(operands, op->getAttrDictionary()), rewriter);
- return success();
- }
- return failure();
- }
-
/// Rewrite and Match methods that operate on the SourceOp type. These must be
/// overridden by the derived pattern class.
virtual LogicalResult match(SourceOp op) const {
@@ -181,21 +163,15 @@ class ConvertOpToLLVMPattern : public ConvertToLLVMPattern {
}
virtual void rewrite(SourceOp op, OpAdaptor adaptor,
ConversionPatternRewriter &rewriter) const {
- ValueRange operands = adaptor.getOperands();
- rewrite(op,
- ArrayRef<Value>(operands.getBase().get<const Value *>(),
- operands.size()),
- rewriter);
+ llvm_unreachable("must override rewrite or matchAndRewrite");
}
virtual LogicalResult
matchAndRewrite(SourceOp op, OpAdaptor adaptor,
ConversionPatternRewriter &rewriter) const {
- ValueRange operands = adaptor.getOperands();
- return matchAndRewrite(
- op,
- ArrayRef<Value>(operands.getBase().get<const Value *>(),
- operands.size()),
- rewriter);
+ if (failed(match(op)))
+ return failure();
+ rewrite(op, adaptor, rewriter);
+ return success();
}
private:
diff --git a/mlir/include/mlir/Transforms/DialectConversion.h b/mlir/include/mlir/Transforms/DialectConversion.h
index 1d89eccf9a8c7..849d5427ed7ce 100644
--- a/mlir/include/mlir/Transforms/DialectConversion.h
+++ b/mlir/include/mlir/Transforms/DialectConversion.h
@@ -353,7 +353,7 @@ class ConversionPattern : public RewritePattern {
/// Construct a conversion pattern with the given converter, and forward the
/// remaining arguments to RewritePattern.
template <typename... Args>
- ConversionPattern(TypeConverter &typeConverter, Args &&... args)
+ ConversionPattern(TypeConverter &typeConverter, Args &&...args)
: RewritePattern(std::forward<Args>(args)...),
typeConverter(&typeConverter) {}
@@ -382,6 +382,9 @@ class OpConversionPattern : public ConversionPattern {
/// Wrappers around the ConversionPattern methods that pass the derived op
/// type.
+ LogicalResult match(Operation *op) const final {
+ return match(cast<SourceOp>(op));
+ }
void rewrite(Operation *op, ArrayRef<Value> operands,
ConversionPatternRewriter &rewriter) const final {
rewrite(cast<SourceOp>(op), OpAdaptor(operands, op->getAttrDictionary()),
@@ -395,42 +398,22 @@ class OpConversionPattern : public ConversionPattern {
rewriter);
}
- /// Rewrite and Match methods that operate on the SourceOp type and accept the
- /// raw operand values.
- /// NOTICE: These methods are deprecated and will be removed. All new code
- /// should use the adaptor methods below instead.
- virtual void rewrite(SourceOp op, ArrayRef<Value> operands,
- ConversionPatternRewriter &rewriter) const {
- llvm_unreachable("must override matchAndRewrite or a rewrite method");
- }
- virtual LogicalResult
- matchAndRewrite(SourceOp op, ArrayRef<Value> operands,
- ConversionPatternRewriter &rewriter) const {
- if (failed(match(op)))
- return failure();
- rewrite(op, OpAdaptor(operands, op->getAttrDictionary()), rewriter);
- return success();
- }
-
/// Rewrite and Match methods that operate on the SourceOp type. These must be
/// overridden by the derived pattern class.
+ virtual LogicalResult match(SourceOp op) const {
+ llvm_unreachable("must override match or matchAndRewrite");
+ }
virtual void rewrite(SourceOp op, OpAdaptor adaptor,
ConversionPatternRewriter &rewriter) const {
- ValueRange operands = adaptor.getOperands();
- rewrite(op,
- ArrayRef<Value>(operands.getBase().get<const Value *>(),
- operands.size()),
- rewriter);
+ llvm_unreachable("must override matchAndRewrite or a rewrite method");
}
virtual LogicalResult
matchAndRewrite(SourceOp op, OpAdaptor adaptor,
ConversionPatternRewriter &rewriter) const {
- ValueRange operands = adaptor.getOperands();
- return matchAndRewrite(
- op,
- ArrayRef<Value>(operands.getBase().get<const Value *>(),
- operands.size()),
- rewriter);
+ if (failed(match(op)))
+ return failure();
+ rewrite(op, adaptor, rewriter);
+ return success();
}
private:
More information about the Mlir-commits
mailing list