|
MLIR 24.0.0git
|
The definition of a dynamic op. More...
#include "mlir/IR/ExtensibleDialect.h"
Public Types | |
| using | GetCanonicalizationPatternsFn |
Static Public Member Functions | |
| static std::unique_ptr< DynamicOpDefinition > | get (StringRef name, ExtensibleDialect *dialect, OperationName::VerifyInvariantsFn &&verifyFn, OperationName::VerifyRegionInvariantsFn &&verifyRegionFn) |
| Create a new op at runtime. | |
| static std::unique_ptr< DynamicOpDefinition > | get (StringRef name, ExtensibleDialect *dialect, OperationName::VerifyInvariantsFn &&verifyFn, OperationName::VerifyRegionInvariantsFn &&verifyRegionFn, OperationName::ParseAssemblyFn &&parseFn, OperationName::PrintAssemblyFn &&printFn) |
| static std::unique_ptr< DynamicOpDefinition > | get (StringRef name, ExtensibleDialect *dialect, OperationName::VerifyInvariantsFn &&verifyFn, OperationName::VerifyRegionInvariantsFn &&verifyRegionFn, OperationName::ParseAssemblyFn &&parseFn, OperationName::PrintAssemblyFn &&printFn, OperationName::FoldHookFn &&foldHookFn, GetCanonicalizationPatternsFn &&getCanonicalizationPatternsFn, OperationName::PopulateDefaultAttrsFn &&populateDefaultAttrsFn) |
Additional Inherited Members | |
| Protected Attributes inherited from mlir::OperationName::Impl | |
| StringAttr | name |
| The name of the operation. | |
| TypeID | typeID |
| The unique identifier of the derived Op class. | |
| Dialect * | dialect |
| The following fields are only populated when the operation is registered. | |
| detail::InterfaceMap | interfaceMap |
| A map of interfaces that were registered to this operation. | |
| ArrayRef< StringAttr > | attributeNames |
| A list of attribute names registered to this operation in StringAttr form. | |
| TypeID | propertiesTypeID |
| The TypeID of the Properties struct for this operation. | |
The definition of a dynamic op.
A dynamic op is an op that is defined at runtime, and that can be registered at runtime by an extensible dialect (a dialect inheriting ExtensibleDialect). This class implements the method exposed by the OperationName class, and in addition defines the TypeID of the op that will be defined. Each dynamic operation definition refers to one instance of this class.
Definition at line 439 of file ExtensibleDialect.h.
Definition at line 441 of file ExtensibleDialect.h.
|
inline |
Attach a trait to this dynamic-defined op.
Definition at line 513 of file ExtensibleDialect.h.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 577 of file ExtensibleDialect.h.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 576 of file ExtensibleDialect.h.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 564 of file ExtensibleDialect.h.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 517 of file ExtensibleDialect.h.
Referenced by setFoldHookFn().
|
static |
Create a new op at runtime.
The op is registered only after passing it to the dialect using registerDynamicOp.
Definition at line 311 of file ExtensibleDialect.cpp.
References mlir::OperationName::Impl::dialect, mlir::AsmParser::emitError(), get(), mlir::AsmParser::getCurrentLocation(), mlir::OperationName::Impl::name, and result.
Referenced by get(), get(), and loadOperation().
|
static |
Definition at line 330 of file ExtensibleDialect.cpp.
References mlir::OperationName::Impl::dialect, get(), and mlir::OperationName::Impl::name.
|
static |
Definition at line 353 of file ExtensibleDialect.cpp.
References mlir::OperationName::Impl::dialect, and mlir::OperationName::Impl::name.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 521 of file ExtensibleDialect.h.
Referenced by setGetCanonicalizationPatternsFn().
|
inlinefinalvirtual |
Implementation for properties (unsupported right now here).
Implements mlir::OperationName::InterfaceConcept.
Definition at line 548 of file ExtensibleDialect.h.
References mlir::OperationName::Impl::name.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 561 of file ExtensibleDialect.h.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 526 of file ExtensibleDialect.h.
Implements mlir::OperationName::InterfaceConcept.
Definition at line 575 of file ExtensibleDialect.h.
|
inline |
Returns the op typeID.
Definition at line 467 of file ExtensibleDialect.h.
References mlir::OperationName::Impl::typeID.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 578 of file ExtensibleDialect.h.
Implements mlir::OperationName::InterfaceConcept.
Definition at line 525 of file ExtensibleDialect.h.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 562 of file ExtensibleDialect.h.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 531 of file ExtensibleDialect.h.
References mlir::OperationName::Impl::name.
Referenced by setPopulateDefaultAttrsFn().
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 565 of file ExtensibleDialect.h.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 555 of file ExtensibleDialect.h.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 535 of file ExtensibleDialect.h.
References mlir::OperationName::Impl::name.
|
inline |
Sets the hook implementing a generalized folder for the op.
See RegisteredOperationName::foldHook for more details
Definition at line 495 of file ExtensibleDialect.h.
References foldHook().
|
inline |
Set the hook returning any canonicalization pattern rewrites that the op supports, for use by the canonicalization pass.
Definition at line 501 of file ExtensibleDialect.h.
References getCanonicalizationPatterns().
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 552 of file ExtensibleDialect.h.
References mlir::OperationName::Impl::name.
|
inline |
Sets the static hook for parsing this op assembly.
Definition at line 484 of file ExtensibleDialect.h.
|
inline |
Set the hook populating default attributes.
Definition at line 507 of file ExtensibleDialect.h.
References populateDefaultAttrs().
|
inline |
Sets the static hook for printing this op assembly.
Definition at line 489 of file ExtensibleDialect.h.
References print().
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 569 of file ExtensibleDialect.h.
References mlir::emitError().
|
inline |
Sets the verifier function for this operation.
It should emits an error message and returns failure if a problem is detected, or returns success if everything is ok.
Definition at line 472 of file ExtensibleDialect.h.
References mlir::verify().
|
inline |
Sets the region verifier function for this operation.
It should emits an error message and returns failure if a problem is detected, or returns success if everything is ok.
Definition at line 479 of file ExtensibleDialect.h.
References mlir::verify().
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 557 of file ExtensibleDialect.h.
References mlir::emitError(), and success().
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 539 of file ExtensibleDialect.h.
|
inlinefinalvirtual |
Implements mlir::OperationName::InterfaceConcept.
Definition at line 542 of file ExtensibleDialect.h.