MLIR  20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
mlir::pdll::ast::OperationType Class Reference

This class represents a PDLL type that corresponds to an mlir::Operation. More...

#include "mlir/Tools/PDLL/AST/Types.h"

+ Inheritance diagram for mlir::pdll::ast::OperationType:

Public Member Functions

std::optional< StringRef > getName () const
 Return the name of this operation type, or std::nullopt if it doesn't have on. More...
 
const ods::OperationgetODSOperation () const
 Return the ODS operation that this type refers to, or nullptr if the ODS operation is unknown. More...
 
- Public Member Functions inherited from mlir::pdll::ast::Type
 Type (Storage *impl=nullptr)
 
bool operator== (const Type &other) const
 
bool operator!= (const Type &other) const
 
 operator bool () const
 
template<typename U >
bool isa () const
 Provide type casting support. More...
 
template<typename U , typename V , typename... Others>
bool isa () const
 
template<typename U >
dyn_cast () const
 
template<typename U >
dyn_cast_or_null () const
 
template<typename U >
cast () const
 
StoragegetImpl () const
 Return the internal storage instance of this type. More...
 
TypeID getTypeID () const
 Return the TypeID instance of this type. More...
 
void print (raw_ostream &os) const
 Print this type to the given stream. More...
 
Type refineWith (Type other) const
 Try to refine this type with the one provided. More...
 

Static Public Member Functions

static OperationType get (Context &context, std::optional< StringRef > name=std::nullopt, const ods::Operation *odsOp=nullptr)
 Return an instance of the Operation type with an optional operation name. More...
 
- Static Public Member Functions inherited from mlir::pdll::ast::Type::TypeBase< detail::OperationTypeStorage >
static bool classof (Type type)
 Provide type casting support. More...
 

Additional Inherited Members

- Public Types inherited from mlir::pdll::ast::Type::TypeBase< detail::OperationTypeStorage >
using Base = TypeBase< detail::OperationTypeStorage, Type >
 
using ImplTy = detail::OperationTypeStorage
 
- Protected Member Functions inherited from mlir::pdll::ast::Type
template<typename T >
const T * getImplAs () const
 Return the internal storage instance of this type reinterpreted as the given derived storage type. More...
 

Detailed Description

This class represents a PDLL type that corresponds to an mlir::Operation.

Definition at line 163 of file Types.h.

Member Function Documentation

◆ get()

OperationType OperationType::get ( Context context,
std::optional< StringRef >  name = std::nullopt,
const ods::Operation odsOp = nullptr 
)
static

Return an instance of the Operation type with an optional operation name.

If no name is provided, this type may refer to any operation.

Definition at line 73 of file Types.cpp.

References mlir::StorageUniquer::get(), and mlir::pdll::ast::Context::getTypeUniquer().

Referenced by mlir::pdll::ast::OperationExpr::create().

◆ getName()

std::optional< StringRef > OperationType::getName ( ) const

Return the name of this operation type, or std::nullopt if it doesn't have on.

Definition at line 81 of file Types.cpp.

◆ getODSOperation()

const ods::Operation * OperationType::getODSOperation ( ) const

Return the ODS operation that this type refers to, or nullptr if the ODS operation is unknown.

Definition at line 87 of file Types.cpp.


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