MLIR  20.0.0git
Public Member Functions | List of all members
mlir::OperationName::InterfaceConcept Struct Referenceabstract

This class represents a type erased version of an operation. More...

#include "mlir/IR/OperationSupport.h"

+ Inheritance diagram for mlir::OperationName::InterfaceConcept:

Public Member Functions

virtual ~InterfaceConcept ()=default
 
virtual LogicalResult foldHook (Operation *, ArrayRef< Attribute >, SmallVectorImpl< OpFoldResult > &)=0
 
virtual void getCanonicalizationPatterns (RewritePatternSet &, MLIRContext *)=0
 
virtual bool hasTrait (TypeID)=0
 
virtual OperationName::ParseAssemblyFn getParseAssemblyFn ()=0
 
virtual void populateDefaultAttrs (const OperationName &, NamedAttrList &)=0
 
virtual void printAssembly (Operation *, OpAsmPrinter &, StringRef)=0
 
virtual LogicalResult verifyInvariants (Operation *)=0
 
virtual LogicalResult verifyRegionInvariants (Operation *)=0
 
virtual std::optional< AttributegetInherentAttr (Operation *, StringRef name)=0
 Implementation for properties. More...
 
virtual void setInherentAttr (Operation *op, StringAttr name, Attribute value)=0
 
virtual void populateInherentAttrs (Operation *op, NamedAttrList &attrs)=0
 
virtual LogicalResult verifyInherentAttrs (OperationName opName, NamedAttrList &attributes, function_ref< InFlightDiagnostic()> emitError)=0
 
virtual int getOpPropertyByteSize ()=0
 
virtual void initProperties (OperationName opName, OpaqueProperties storage, OpaqueProperties init)=0
 
virtual void deleteProperties (OpaqueProperties)=0
 
virtual void populateDefaultProperties (OperationName opName, OpaqueProperties properties)=0
 
virtual LogicalResult setPropertiesFromAttr (OperationName, OpaqueProperties, Attribute, function_ref< InFlightDiagnostic()> emitError)=0
 
virtual Attribute getPropertiesAsAttr (Operation *)=0
 
virtual void copyProperties (OpaqueProperties, OpaqueProperties)=0
 
virtual bool compareProperties (OpaqueProperties, OpaqueProperties)=0
 
virtual llvm::hash_code hashProperties (OpaqueProperties)=0
 

Detailed Description

This class represents a type erased version of an operation.

It contains all of the components necessary for opaquely interacting with an operation. If the operation is not registered, some of these components may not be populated.

Definition at line 110 of file OperationSupport.h.

Constructor & Destructor Documentation

◆ ~InterfaceConcept()

virtual mlir::OperationName::InterfaceConcept::~InterfaceConcept ( )
virtualdefault

Member Function Documentation

◆ compareProperties()

virtual bool mlir::OperationName::InterfaceConcept::compareProperties ( OpaqueProperties  ,
OpaqueProperties   
)
pure virtual

◆ copyProperties()

virtual void mlir::OperationName::InterfaceConcept::copyProperties ( OpaqueProperties  ,
OpaqueProperties   
)
pure virtual

◆ deleteProperties()

virtual void mlir::OperationName::InterfaceConcept::deleteProperties ( OpaqueProperties  )
pure virtual

◆ foldHook()

virtual LogicalResult mlir::OperationName::InterfaceConcept::foldHook ( Operation ,
ArrayRef< Attribute ,
SmallVectorImpl< OpFoldResult > &   
)
pure virtual

◆ getCanonicalizationPatterns()

virtual void mlir::OperationName::InterfaceConcept::getCanonicalizationPatterns ( RewritePatternSet ,
MLIRContext  
)
pure virtual

◆ getInherentAttr()

virtual std::optional<Attribute> mlir::OperationName::InterfaceConcept::getInherentAttr ( Operation ,
StringRef  name 
)
pure virtual

◆ getOpPropertyByteSize()

virtual int mlir::OperationName::InterfaceConcept::getOpPropertyByteSize ( )
pure virtual

◆ getParseAssemblyFn()

virtual OperationName::ParseAssemblyFn mlir::OperationName::InterfaceConcept::getParseAssemblyFn ( )
pure virtual

◆ getPropertiesAsAttr()

virtual Attribute mlir::OperationName::InterfaceConcept::getPropertiesAsAttr ( Operation )
pure virtual

◆ hashProperties()

virtual llvm::hash_code mlir::OperationName::InterfaceConcept::hashProperties ( OpaqueProperties  )
pure virtual

◆ hasTrait()

virtual bool mlir::OperationName::InterfaceConcept::hasTrait ( TypeID  )
pure virtual

◆ initProperties()

virtual void mlir::OperationName::InterfaceConcept::initProperties ( OperationName  opName,
OpaqueProperties  storage,
OpaqueProperties  init 
)
pure virtual

◆ populateDefaultAttrs()

virtual void mlir::OperationName::InterfaceConcept::populateDefaultAttrs ( const OperationName ,
NamedAttrList  
)
pure virtual

◆ populateDefaultProperties()

virtual void mlir::OperationName::InterfaceConcept::populateDefaultProperties ( OperationName  opName,
OpaqueProperties  properties 
)
pure virtual

◆ populateInherentAttrs()

virtual void mlir::OperationName::InterfaceConcept::populateInherentAttrs ( Operation op,
NamedAttrList attrs 
)
pure virtual

◆ printAssembly()

virtual void mlir::OperationName::InterfaceConcept::printAssembly ( Operation ,
OpAsmPrinter ,
StringRef   
)
pure virtual

◆ setInherentAttr()

virtual void mlir::OperationName::InterfaceConcept::setInherentAttr ( Operation op,
StringAttr  name,
Attribute  value 
)
pure virtual

◆ setPropertiesFromAttr()

virtual LogicalResult mlir::OperationName::InterfaceConcept::setPropertiesFromAttr ( OperationName  ,
OpaqueProperties  ,
Attribute  ,
function_ref< InFlightDiagnostic()>  emitError 
)
pure virtual

◆ verifyInherentAttrs()

virtual LogicalResult mlir::OperationName::InterfaceConcept::verifyInherentAttrs ( OperationName  opName,
NamedAttrList attributes,
function_ref< InFlightDiagnostic()>  emitError 
)
pure virtual

◆ verifyInvariants()

virtual LogicalResult mlir::OperationName::InterfaceConcept::verifyInvariants ( Operation )
pure virtual

◆ verifyRegionInvariants()

virtual LogicalResult mlir::OperationName::InterfaceConcept::verifyRegionInvariants ( Operation )
pure virtual

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