[Mlir-commits] [mlir] d4d0168 - [mlir] Remove populateFuncOpTypeConversionPattern
River Riddle
llvmlistbot at llvm.org
Wed Jan 12 14:07:30 PST 2022
Author: River Riddle
Date: 2022-01-12T14:05:35-08:00
New Revision: d4d016869d6cbd5fa1fa50fd178697028576ab1a
URL: https://github.com/llvm/llvm-project/commit/d4d016869d6cbd5fa1fa50fd178697028576ab1a
DIFF: https://github.com/llvm/llvm-project/commit/d4d016869d6cbd5fa1fa50fd178697028576ab1a.diff
LOG: [mlir] Remove populateFuncOpTypeConversionPattern
This method simply forwards to populateFunctionLikeTypeConversionPattern,
which is more general. This also helps to remove special treatment of FuncOp from
DialectConversion.
Differential Revision: https://reviews.llvm.org/D116624
Added:
Modified:
mlir/include/mlir/Transforms/DialectConversion.h
mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
mlir/lib/Dialect/StandardOps/Transforms/FuncBufferize.cpp
mlir/lib/Transforms/Utils/DialectConversion.cpp
mlir/test/lib/Dialect/Test/TestPatterns.cpp
Removed:
################################################################################
diff --git a/mlir/include/mlir/Transforms/DialectConversion.h b/mlir/include/mlir/Transforms/DialectConversion.h
index d840c996f69b9..63892418f4cf4 100644
--- a/mlir/include/mlir/Transforms/DialectConversion.h
+++ b/mlir/include/mlir/Transforms/DialectConversion.h
@@ -22,7 +22,6 @@ namespace mlir {
// Forward declarations.
class Block;
class ConversionPatternRewriter;
-class FuncOp;
class MLIRContext;
class Operation;
class Type;
@@ -507,11 +506,6 @@ void populateFunctionLikeTypeConversionPattern(RewritePatternSet &patterns,
patterns, converter);
}
-/// Add a pattern to the given pattern list to convert the signature of a FuncOp
-/// with the given type converter.
-void populateFuncOpTypeConversionPattern(RewritePatternSet &patterns,
- TypeConverter &converter);
-
//===----------------------------------------------------------------------===//
// Conversion PatternRewriter
//===----------------------------------------------------------------------===//
diff --git a/mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp b/mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
index f46dd4239220c..a3ed0e15b6849 100644
--- a/mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
+++ b/mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
@@ -983,7 +983,7 @@ void ConvertAsyncToLLVMPass::runOnOperation() {
llvmConverter.addConversion(AsyncRuntimeTypeConverter::convertAsyncTypes);
// Convert async types in function signatures and function calls.
- populateFuncOpTypeConversionPattern(patterns, converter);
+ populateFunctionLikeTypeConversionPattern<FuncOp>(patterns, converter);
populateCallOpTypeConversionPattern(patterns, converter);
// Convert return operations inside async.execute regions.
diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp b/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
index fbd526ba51ffb..b409c787d7112 100644
--- a/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
+++ b/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
@@ -124,7 +124,7 @@ struct SparseTensorConversionPass
.addLegalDialect<bufferization::BufferizationDialect, LLVM::LLVMDialect,
memref::MemRefDialect, scf::SCFDialect>();
// Populate with rules and apply rewriting rules.
- populateFuncOpTypeConversionPattern(patterns, converter);
+ populateFunctionLikeTypeConversionPattern<FuncOp>(patterns, converter);
populateCallOpTypeConversionPattern(patterns, converter);
populateSparseTensorConversionPatterns(converter, patterns);
if (failed(applyPartialConversion(getOperation(), target,
diff --git a/mlir/lib/Dialect/StandardOps/Transforms/FuncBufferize.cpp b/mlir/lib/Dialect/StandardOps/Transforms/FuncBufferize.cpp
index 8061bb4e3e52d..1c3bb3f33ae02 100644
--- a/mlir/lib/Dialect/StandardOps/Transforms/FuncBufferize.cpp
+++ b/mlir/lib/Dialect/StandardOps/Transforms/FuncBufferize.cpp
@@ -31,7 +31,7 @@ struct FuncBufferizePass : public FuncBufferizeBase<FuncBufferizePass> {
RewritePatternSet patterns(context);
ConversionTarget target(*context);
- populateFuncOpTypeConversionPattern(patterns, typeConverter);
+ populateFunctionLikeTypeConversionPattern<FuncOp>(patterns, typeConverter);
target.addDynamicallyLegalOp<FuncOp>([&](FuncOp op) {
return typeConverter.isSignatureLegal(op.getType()) &&
typeConverter.isLegal(&op.getBody());
diff --git a/mlir/lib/Transforms/Utils/DialectConversion.cpp b/mlir/lib/Transforms/Utils/DialectConversion.cpp
index 657b0eb834e6b..eeb5851ec8774 100644
--- a/mlir/lib/Transforms/Utils/DialectConversion.cpp
+++ b/mlir/lib/Transforms/Utils/DialectConversion.cpp
@@ -3095,11 +3095,6 @@ void mlir::populateFunctionLikeTypeConversionPattern(
functionLikeOpName, patterns.getContext(), converter);
}
-void mlir::populateFuncOpTypeConversionPattern(RewritePatternSet &patterns,
- TypeConverter &converter) {
- populateFunctionLikeTypeConversionPattern<FuncOp>(patterns, converter);
-}
-
//===----------------------------------------------------------------------===//
// ConversionTarget
//===----------------------------------------------------------------------===//
diff --git a/mlir/test/lib/Dialect/Test/TestPatterns.cpp b/mlir/test/lib/Dialect/Test/TestPatterns.cpp
index 17a58713763d6..cc165cd003909 100644
--- a/mlir/test/lib/Dialect/Test/TestPatterns.cpp
+++ b/mlir/test/lib/Dialect/Test/TestPatterns.cpp
@@ -655,7 +655,7 @@ struct TestLegalizePatternDriver
TestNestedOpCreationUndoRewrite, TestReplaceEraseOp,
TestCreateUnregisteredOp>(&getContext());
patterns.add<TestDropOpSignatureConversion>(&getContext(), converter);
- mlir::populateFuncOpTypeConversionPattern(patterns, converter);
+ mlir::populateFunctionLikeTypeConversionPattern<FuncOp>(patterns, converter);
mlir::populateCallOpTypeConversionPattern(patterns, converter);
// Define the conversion target used for the test.
@@ -1120,7 +1120,7 @@ struct TestTypeConversionDriver
TestTestSignatureConversionNoConverter>(converter,
&getContext());
patterns.add<TestTypeConversionAnotherProducer>(&getContext());
- mlir::populateFuncOpTypeConversionPattern(patterns, converter);
+ mlir::populateFunctionLikeTypeConversionPattern<FuncOp>(patterns, converter);
if (failed(applyPartialConversion(getOperation(), target,
std::move(patterns))))
More information about the Mlir-commits
mailing list