[Mlir-commits] [mlir] Improve mlir-query by adding matcher combinators (PR #141423)
Denzel-Brian Budii
llvmlistbot at llvm.org
Tue May 27 08:51:09 PDT 2025
================
@@ -27,12 +27,66 @@ class VariantMatcher::SinglePayload : public VariantMatcher::Payload {
DynMatcher matcher;
};
+class VariantMatcher::VariadicOpPayload : public VariantMatcher::Payload {
+public:
+ VariadicOpPayload(DynMatcher::VariadicOperator varOp,
+ std::vector<VariantMatcher> args)
+ : varOp(varOp), args(std::move(args)) {}
+
+ std::optional<DynMatcher> getDynMatcher() const override {
+ std::vector<DynMatcher> dynMatchers;
+ for (auto variantMatcher : args) {
+ std::optional<DynMatcher> dynMatcher = variantMatcher.getDynMatcher();
+ if (dynMatcher)
+ dynMatchers.push_back(dynMatcher.value());
+ }
+ auto result = DynMatcher::constructVariadic(varOp, dynMatchers);
+ return *result;
+ }
+
+ std::string getTypeAsString() const override {
+ std::string inner;
+ for (size_t i = 0, e = args.size(); i != e; ++i) {
----------------
chios202 wrote:
Thanks for the suggestion. Some space around & would be nicer too
https://github.com/llvm/llvm-project/pull/141423
More information about the Mlir-commits
mailing list