summaryrefslogtreecommitdiff
path: root/mlir/unittests
diff options
context:
space:
mode:
authorChenguang Wang <w3cing@gmail.com>2022-12-22 09:10:15 -0800
committerJacques Pienaar <jpienaar@google.com>2022-12-22 09:10:15 -0800
commitd9f645fe5081fccbe59560989cdf8ea4535946fc (patch)
tree01d48031b2d154b21d736a1290e66aa066b242f7 /mlir/unittests
parent61b72f6abeb0ed3e43318e5fec8b26d3dc53ca0a (diff)
downloadllvm-d9f645fe5081fccbe59560989cdf8ea4535946fc.tar.gz
[mlir] Allow specifying benefit for C func ptr style patterns.
Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D139234
Diffstat (limited to 'mlir/unittests')
-rw-r--r--mlir/unittests/IR/PatternMatchTest.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/mlir/unittests/IR/PatternMatchTest.cpp b/mlir/unittests/IR/PatternMatchTest.cpp
index 6454f05fbf2f..3a58d5c1634d 100644
--- a/mlir/unittests/IR/PatternMatchTest.cpp
+++ b/mlir/unittests/IR/PatternMatchTest.cpp
@@ -28,3 +28,22 @@ TEST(OpRewritePatternTest, GetGeneratedNames) {
ASSERT_EQ(ops.front().getStringRef(), test::OpB::getOperationName());
}
} // end anonymous namespace
+
+namespace {
+LogicalResult anOpRewritePatternFunc(test::OpA op, PatternRewriter &rewriter) {
+ return failure();
+}
+TEST(AnOpRewritePatternTest, PatternFuncAttributes) {
+ MLIRContext context;
+ RewritePatternSet patterns(&context);
+
+ patterns.add(anOpRewritePatternFunc, /*benefit=*/3,
+ /*generatedNames=*/{test::OpB::getOperationName()});
+ ASSERT_EQ(patterns.getNativePatterns().size(), 1);
+ auto &pattern = patterns.getNativePatterns().front();
+ ASSERT_EQ(pattern->getBenefit(), 3);
+ ASSERT_EQ(pattern->getGeneratedOps().size(), 1);
+ ASSERT_EQ(pattern->getGeneratedOps().front().getStringRef(),
+ test::OpB::getOperationName());
+}
+} // end anonymous namespace