//===--- MatchersInternal.cpp----------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "mlir/Query/Matcher/MatchersInternal.h" namespace mlir::query::matcher { namespace internal { bool allOfVariadicOperator(Operation *op, SetVector *matchedOps, ArrayRef innerMatchers) { return llvm::all_of(innerMatchers, [&](const DynMatcher &matcher) { if (matchedOps) return matcher.match(op, *matchedOps); return matcher.match(op); }); } bool anyOfVariadicOperator(Operation *op, SetVector *matchedOps, ArrayRef innerMatchers) { return llvm::any_of(innerMatchers, [&](const DynMatcher &matcher) { if (matchedOps) return matcher.match(op, *matchedOps); return matcher.match(op); }); } } // namespace internal } // namespace mlir::query::matcher