@@ -295,13 +295,15 @@ DynamicOpDefinition::DynamicOpDefinition(
295
295
OperationName::PrintAssemblyFn &&printFn,
296
296
OperationName::FoldHookFn &&foldHookFn,
297
297
OperationName::GetCanonicalizationPatternsFn
298
- &&getCanonicalizationPatternsFn)
298
+ &&getCanonicalizationPatternsFn,
299
+ OperationName::PopulateDefaultAttrsFn &&populateDefaultAttrsFn)
299
300
: typeID(dialect->allocateTypeID ()),
300
301
name((dialect->getNamespace () + "." + name).str()), dialect(dialect),
301
302
verifyFn(std::move(verifyFn)), verifyRegionFn(std::move(verifyRegionFn)),
302
303
parseFn(std::move(parseFn)), printFn(std::move(printFn)),
303
304
foldHookFn(std::move(foldHookFn)),
304
- getCanonicalizationPatternsFn(std::move(getCanonicalizationPatternsFn)) {}
305
+ getCanonicalizationPatternsFn(std::move(getCanonicalizationPatternsFn)),
306
+ populateDefaultAttrsFn(std::move(populateDefaultAttrsFn)) {}
305
307
306
308
std::unique_ptr<DynamicOpDefinition> DynamicOpDefinition::get (
307
309
StringRef name, ExtensibleDialect *dialect,
@@ -336,25 +338,31 @@ std::unique_ptr<DynamicOpDefinition> DynamicOpDefinition::get(
336
338
auto getCanonicalizationPatternsFn = [](RewritePatternSet &, MLIRContext *) {
337
339
};
338
340
341
+ auto populateDefaultAttrsFn = [](const RegisteredOperationName &,
342
+ NamedAttrList &) {};
343
+
339
344
return DynamicOpDefinition::get (name, dialect, std::move (verifyFn),
340
345
std::move (verifyRegionFn), std::move (parseFn),
341
346
std::move (printFn), std::move (foldHookFn),
342
- std::move (getCanonicalizationPatternsFn));
347
+ std::move (getCanonicalizationPatternsFn),
348
+ std::move (populateDefaultAttrsFn));
343
349
}
344
350
345
- std::unique_ptr<DynamicOpDefinition>
346
- DynamicOpDefinition::get (StringRef name, ExtensibleDialect *dialect,
347
- OperationName::VerifyInvariantsFn &&verifyFn,
348
- OperationName::VerifyInvariantsFn &&verifyRegionFn,
349
- OperationName::ParseAssemblyFn &&parseFn,
350
- OperationName::PrintAssemblyFn &&printFn,
351
- OperationName::FoldHookFn &&foldHookFn,
352
- OperationName::GetCanonicalizationPatternsFn
353
- &&getCanonicalizationPatternsFn) {
351
+ std::unique_ptr<DynamicOpDefinition> DynamicOpDefinition::get (
352
+ StringRef name, ExtensibleDialect *dialect,
353
+ OperationName::VerifyInvariantsFn &&verifyFn,
354
+ OperationName::VerifyInvariantsFn &&verifyRegionFn,
355
+ OperationName::ParseAssemblyFn &&parseFn,
356
+ OperationName::PrintAssemblyFn &&printFn,
357
+ OperationName::FoldHookFn &&foldHookFn,
358
+ OperationName::GetCanonicalizationPatternsFn
359
+ &&getCanonicalizationPatternsFn,
360
+ OperationName::PopulateDefaultAttrsFn &&populateDefaultAttrsFn) {
354
361
return std::unique_ptr<DynamicOpDefinition>(new DynamicOpDefinition (
355
362
name, dialect, std::move (verifyFn), std::move (verifyRegionFn),
356
363
std::move (parseFn), std::move (printFn), std::move (foldHookFn),
357
- std::move (getCanonicalizationPatternsFn)));
364
+ std::move (getCanonicalizationPatternsFn),
365
+ std::move (populateDefaultAttrsFn)));
358
366
}
359
367
360
368
// ===----------------------------------------------------------------------===//
@@ -448,7 +456,7 @@ void ExtensibleDialect::registerDynamicOp(
448
456
std::move (op->verifyRegionFn ), std::move (op->foldHookFn ),
449
457
std::move (op->getCanonicalizationPatternsFn ),
450
458
detail::InterfaceMap::get<>(), std::move (hasTraitFn), {},
451
- std::move (op->getPopulateDefaultAttrsFn ));
459
+ std::move (op->populateDefaultAttrsFn ));
452
460
}
453
461
454
462
bool ExtensibleDialect::classof (const Dialect *dialect) {
0 commit comments