1 //===- PatternMatchTest.cpp - PatternMatch unit tests ---------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #include "mlir/IR/PatternMatch.h" 10 #include "gtest/gtest.h" 11 12 #include "../../test/lib/Dialect/Test/TestDialect.h" 13 14 using namespace mlir; 15 16 namespace { 17 struct AnOpRewritePattern : OpRewritePattern<test::OpA> { AnOpRewritePattern__anon8f7fb42a0111::AnOpRewritePattern18 AnOpRewritePattern(MLIRContext *context) 19 : OpRewritePattern(context, /*benefit=*/1, 20 /*generatedNames=*/{test::OpB::getOperationName()}) {} 21 }; TEST(OpRewritePatternTest,GetGeneratedNames)22TEST(OpRewritePatternTest, GetGeneratedNames) { 23 MLIRContext context; 24 AnOpRewritePattern pattern(&context); 25 ArrayRef<OperationName> ops = pattern.getGeneratedOps(); 26 27 ASSERT_EQ(ops.size(), 1u); 28 ASSERT_EQ(ops.front().getStringRef(), test::OpB::getOperationName()); 29 } 30 } // end anonymous namespace 31