MLIR 22.0.0git
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 >:

Public Member Functions

OperationlookupSymbol (StringAttr name)
 Look up a symbol with the specified name, returning null if no such name exists.
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.

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 452 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 461 of file SymbolTable.h.

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

Referenced by lookupSymbol(), lookupSymbol(), and lookupSymbol().

◆ lookupSymbol() [2/6]

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

Definition at line 465 of file SymbolTable.h.

References lookupSymbol().

◆ 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

Definition at line 480 of file SymbolTable.h.

References lookupSymbol().

◆ 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

Definition at line 472 of file SymbolTable.h.

References lookupSymbol().

◆ verifyRegionTrait()

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

Definition at line 454 of file SymbolTable.h.


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