MLIR  15.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 338 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 347 of file SymbolTable.h.

References mlir::SymbolTable::lookupSymbolIn().

◆ lookupSymbol() [2/6]

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

Definition at line 351 of file SymbolTable.h.

◆ lookupSymbol() [3/6]

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

Definition at line 354 of file SymbolTable.h.

References mlir::SymbolTable::lookupSymbolIn().

◆ lookupSymbol() [4/6]

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

Definition at line 358 of file SymbolTable.h.

◆ lookupSymbol() [5/6]

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

Definition at line 362 of file SymbolTable.h.

References mlir::SymbolTable::lookupSymbolIn().

◆ lookupSymbol() [6/6]

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

Definition at line 366 of file SymbolTable.h.

References mlir::impl::parseOptionalVisibilityKeyword().

◆ verifyRegionTrait()

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

Definition at line 340 of file SymbolTable.h.

References mlir::detail::verifySymbolTable().


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