forked from OSchip/llvm-project
[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
This commit is contained in:
parent
81c330e23d
commit
d4d016869d
|
@ -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
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -3095,11 +3095,6 @@ void mlir::populateFunctionLikeTypeConversionPattern(
|
|||
functionLikeOpName, patterns.getContext(), converter);
|
||||
}
|
||||
|
||||
void mlir::populateFuncOpTypeConversionPattern(RewritePatternSet &patterns,
|
||||
TypeConverter &converter) {
|
||||
populateFunctionLikeTypeConversionPattern<FuncOp>(patterns, converter);
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// ConversionTarget
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -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))))
|
||||
|
|
Loading…
Reference in New Issue