MLIR  16.0.0git
Public Member Functions | Static Public Member Functions | List of all members
mlir::OpTrait::SymbolTable< ConcreteType > Class Template Reference

A trait used to provide symbol table functionalities to a region operation. More...

#include "mlir/IR/SymbolTable.h"

+ Inheritance diagram for mlir::OpTrait::SymbolTable< ConcreteType >:
+ Collaboration diagram for mlir::OpTrait::SymbolTable< ConcreteType >:

Public Member Functions

OperationlookupSymbol (StringAttr name)
 Look up a symbol with the specified name, returning null if no such name exists. More...
 
template<typename T >
lookupSymbol (StringAttr name)
 
OperationlookupSymbol (SymbolRefAttr symbol)
 
template<typename T >
lookupSymbol (SymbolRefAttr symbol)
 
OperationlookupSymbol (StringRef name)
 
template<typename T >
lookupSymbol (StringRef name)
 

Static Public Member Functions

static LogicalResult verifyRegionTrait (Operation *op)
 

Additional Inherited Members

- Protected Member Functions inherited from mlir::OpTrait::TraitBase< ConcreteType, SymbolTable >
OperationgetOperation ()
 Return the ultimate Operation being worked on. More...
 

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.

Definition at line 341 of file SymbolTable.h.

Member Function Documentation

◆ lookupSymbol() [1/6]

template<typename ConcreteType >
Operation* mlir::OpTrait::SymbolTable< ConcreteType >::lookupSymbol ( StringAttr  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.

Definition at line 350 of file SymbolTable.h.

References mlir::OpTrait::TraitBase< ConcreteType, SymbolTable >::getOperation(), and mlir::SymbolTable::lookupSymbolIn().

Referenced by mlir::OpTrait::SymbolTable< ConcreteType >::lookupSymbol().

◆ lookupSymbol() [2/6]

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

◆ lookupSymbol() [3/6]

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

◆ lookupSymbol() [4/6]

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

◆ lookupSymbol() [5/6]

template<typename ConcreteType >
Operation* mlir::OpTrait::SymbolTable< ConcreteType >::lookupSymbol ( SymbolRefAttr  symbol)
inline

◆ lookupSymbol() [6/6]

template<typename ConcreteType >
template<typename T >
T mlir::OpTrait::SymbolTable< ConcreteType >::lookupSymbol ( SymbolRefAttr  symbol)
inline

◆ verifyRegionTrait()

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

Definition at line 343 of file SymbolTable.h.

References mlir::detail::verifySymbolTable().


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