MLIR 22.0.0git
mlir::OperationName::UnregisteredOpModel Struct Reference

Default implementation for unregistered operations. More...

#include "mlir/IR/OperationSupport.h"

Inheritance diagram for mlir::OperationName::UnregisteredOpModel:

Public Member Functions

LogicalResult foldHook (Operation *, ArrayRef< Attribute >, SmallVectorImpl< OpFoldResult > &) final
void getCanonicalizationPatterns (RewritePatternSet &, MLIRContext *) final
bool hasTrait (TypeID) final
OperationName::ParseAssemblyFn getParseAssemblyFn () final
void populateDefaultAttrs (const OperationName &, NamedAttrList &) final
void printAssembly (Operation *, OpAsmPrinter &, StringRef) final
LogicalResult verifyInvariants (Operation *) final
LogicalResult verifyRegionInvariants (Operation *) final
std::optional< AttributegetInherentAttr (Operation *op, StringRef name) final
 Implementation for properties.
void setInherentAttr (Operation *op, StringAttr name, Attribute value) final
void populateInherentAttrs (Operation *op, NamedAttrList &attrs) final
LogicalResult verifyInherentAttrs (OperationName opName, NamedAttrList &attributes, function_ref< InFlightDiagnostic()> emitError) final
int getOpPropertyByteSize () final
void initProperties (OperationName opName, OpaqueProperties storage, OpaqueProperties init) final
void deleteProperties (OpaqueProperties) final
void populateDefaultProperties (OperationName opName, OpaqueProperties properties) final
LogicalResult setPropertiesFromAttr (OperationName, OpaqueProperties, Attribute, function_ref< InFlightDiagnostic()> emitError) final
Attribute getPropertiesAsAttr (Operation *) final
void copyProperties (OpaqueProperties, OpaqueProperties) final
bool compareProperties (OpaqueProperties, OpaqueProperties) final
llvm::hash_code hashProperties (OpaqueProperties) final
 Impl (StringRef, Dialect *dialect, TypeID typeID, detail::InterfaceMap interfaceMap)
 Impl (StringAttr name, Dialect *dialect, TypeID typeID, detail::InterfaceMap interfaceMap)
Public Member Functions inherited from mlir::OperationName::Impl
 Impl (StringRef, Dialect *dialect, TypeID typeID, detail::InterfaceMap interfaceMap)
 Impl (StringAttr name, Dialect *dialect, TypeID typeID, detail::InterfaceMap interfaceMap)
bool isRegistered () const
 Returns true if this is a registered operation.
detail::InterfaceMapgetInterfaceMap ()
DialectgetDialect () const
StringAttr getName () const
TypeID getTypeID () const
ArrayRef< StringAttr > getAttributeNames () const
Public Member Functions inherited from mlir::OperationName::InterfaceConcept
virtual ~InterfaceConcept ()=default

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.
Dialectdialect
 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.

Detailed Description

Default implementation for unregistered operations.

Definition at line 194 of file OperationSupport.h.

Member Function Documentation

◆ compareProperties()

bool OperationName::UnregisteredOpModel::compareProperties ( OpaqueProperties lhs,
OpaqueProperties rhs )
finalvirtual

Implements mlir::OperationName::InterfaceConcept.

Definition at line 930 of file MLIRContext.cpp.

References lhs, and rhs.

◆ copyProperties()

void OperationName::UnregisteredOpModel::copyProperties ( OpaqueProperties lhs,
OpaqueProperties rhs )
finalvirtual

Implements mlir::OperationName::InterfaceConcept.

Definition at line 926 of file MLIRContext.cpp.

References lhs, and rhs.

◆ deleteProperties()

void OperationName::UnregisteredOpModel::deleteProperties ( OpaqueProperties prop)
finalvirtual

Implements mlir::OperationName::InterfaceConcept.

Definition at line 910 of file MLIRContext.cpp.

References mlir::OpaqueProperties::as().

◆ foldHook()

LogicalResult OperationName::UnregisteredOpModel::foldHook ( Operation * ,
ArrayRef< Attribute > ,
SmallVectorImpl< OpFoldResult > &  )
finalvirtual

Implements mlir::OperationName::InterfaceConcept.

Definition at line 847 of file MLIRContext.cpp.

◆ getCanonicalizationPatterns()

void OperationName::UnregisteredOpModel::getCanonicalizationPatterns ( RewritePatternSet & ,
MLIRContext *  )
finalvirtual

Implements mlir::OperationName::InterfaceConcept.

Definition at line 851 of file MLIRContext.cpp.

◆ getInherentAttr()

std::optional< Attribute > OperationName::UnregisteredOpModel::getInherentAttr ( Operation * op,
StringRef name )
finalvirtual

Implementation for properties.

Implements mlir::OperationName::InterfaceConcept.

Definition at line 875 of file MLIRContext.cpp.

References getPropertiesAsAttr(), and mlir::OperationName::Impl::name.

◆ getOpPropertyByteSize()

int OperationName::UnregisteredOpModel::getOpPropertyByteSize ( )
finalvirtual

Implements mlir::OperationName::InterfaceConcept.

Definition at line 901 of file MLIRContext.cpp.

◆ getParseAssemblyFn()

OperationName::ParseAssemblyFn OperationName::UnregisteredOpModel::getParseAssemblyFn ( )
finalvirtual

Implements mlir::OperationName::InterfaceConcept.

Definition at line 856 of file MLIRContext.cpp.

◆ getPropertiesAsAttr()

Attribute OperationName::UnregisteredOpModel::getPropertiesAsAttr ( Operation * op)
finalvirtual

◆ hashProperties()

llvm::hash_code OperationName::UnregisteredOpModel::hashProperties ( OpaqueProperties prop)
finalvirtual

Implements mlir::OperationName::InterfaceConcept.

Definition at line 935 of file MLIRContext.cpp.

References mlir::OpaqueProperties::as().

◆ hasTrait()

bool OperationName::UnregisteredOpModel::hasTrait ( TypeID )
finalvirtual

Implements mlir::OperationName::InterfaceConcept.

Definition at line 853 of file MLIRContext.cpp.

◆ Impl() [1/2]

mlir::OperationName::Impl::Impl ( StringAttr name,
Dialect * dialect,
TypeID typeID,
detail::InterfaceMap interfaceMap )
inline

Definition at line 152 of file OperationSupport.h.

◆ Impl() [2/2]

OperationName::Impl::Impl ( StringRef name,
Dialect * dialect,
TypeID typeID,
detail::InterfaceMap interfaceMap )

Definition at line 150 of file MLIRContext.cpp.

◆ initProperties()

void OperationName::UnregisteredOpModel::initProperties ( OperationName opName,
OpaqueProperties storage,
OpaqueProperties init )
finalvirtual

◆ populateDefaultAttrs()

void OperationName::UnregisteredOpModel::populateDefaultAttrs ( const OperationName & ,
NamedAttrList &  )
finalvirtual

◆ populateDefaultProperties()

void OperationName::UnregisteredOpModel::populateDefaultProperties ( OperationName opName,
OpaqueProperties properties )
finalvirtual

◆ populateInherentAttrs()

void OperationName::UnregisteredOpModel::populateInherentAttrs ( Operation * op,
NamedAttrList & attrs )
finalvirtual

Implements mlir::OperationName::InterfaceConcept.

Definition at line 894 of file MLIRContext.cpp.

◆ printAssembly()

void OperationName::UnregisteredOpModel::printAssembly ( Operation * op,
OpAsmPrinter & p,
StringRef defaultDialect )
finalvirtual

◆ setInherentAttr()

◆ setPropertiesFromAttr()

LogicalResult OperationName::UnregisteredOpModel::setPropertiesFromAttr ( OperationName opName,
OpaqueProperties properties,
Attribute attr,
function_ref< InFlightDiagnostic()> emitError )
finalvirtual

◆ verifyInherentAttrs()

LogicalResult OperationName::UnregisteredOpModel::verifyInherentAttrs ( OperationName opName,
NamedAttrList & attributes,
function_ref< InFlightDiagnostic()> emitError )
finalvirtual

◆ verifyInvariants()

LogicalResult OperationName::UnregisteredOpModel::verifyInvariants ( Operation * )
finalvirtual

Implements mlir::OperationName::InterfaceConcept.

Definition at line 866 of file MLIRContext.cpp.

References success().

◆ verifyRegionInvariants()

LogicalResult OperationName::UnregisteredOpModel::verifyRegionInvariants ( Operation * )
finalvirtual

Implements mlir::OperationName::InterfaceConcept.

Definition at line 870 of file MLIRContext.cpp.

References success().


The documentation for this struct was generated from the following files: