My Project
Public Member Functions | Static Public Member Functions | List of all members
mlir::OpTrait::SymbolTable< ConcreteType > Class Template Reference

#include <SymbolTable.h>

Inheritance diagram for mlir::OpTrait::SymbolTable< ConcreteType >:
Inheritance graph
[legend]
Collaboration diagram for mlir::OpTrait::SymbolTable< ConcreteType >:
Collaboration graph
[legend]

Public Member Functions

OperationlookupSymbol (StringRef name)
 
template<typename T >
lookupSymbol (StringRef name)
 

Static Public Member Functions

static LogicalResult verifyTrait (Operation *op)
 

Additional Inherited Members

- Protected Member Functions inherited from mlir::OpTrait::TraitBase< ConcreteType, SymbolTable >
OperationgetOperation ()
 Return the ultimate Operation being worked on. More...
 
- Static Protected Member Functions inherited from mlir::OpTrait::TraitBase< ConcreteType, SymbolTable >
static LogicalResult verifyTrait (Operation *op)
 
static AbstractOperation::OperationProperties getTraitProperties ()
 

Detailed Description

template<typename ConcreteType>
class mlir::OpTrait::SymbolTable< ConcreteType >

A trait used to provide symbol table functionalities to a region operation. This operation must hold exactly 1 region. Once attached, all operations that are directly within the region, i.e not including those within child regions, that contain a 'SymbolTable::getSymbolAttrName()' StringAttr will be verified to ensure that the names are uniqued. These operations must also adhere to the constraints defined by the Symbol trait, even if they do not inherit from it.

Member Function Documentation

◆ lookupSymbol() [1/2]

template<typename ConcreteType >
Operation* mlir::OpTrait::SymbolTable< ConcreteType >::lookupSymbol ( StringRef  name)
inline

Look up a symbol with the specified name, returning null if no such name exists. Symbol names never include the @ on them. Note: This performs a linear scan of held symbols.

◆ lookupSymbol() [2/2]

template<typename ConcreteType >
template<typename T >
T mlir::OpTrait::SymbolTable< ConcreteType >::lookupSymbol ( StringRef  name)
inline

◆ verifyTrait()

template<typename ConcreteType >
static LogicalResult mlir::OpTrait::SymbolTable< ConcreteType >::verifyTrait ( Operation op)
inlinestatic

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