MLIR 24.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, and implement SymbolOpInterface will be verified to ensure that their names are uniqued.

Definition at line 503 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 512 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 516 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 531 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 523 of file SymbolTable.h.

References lookupSymbol().

◆ verifyRegionTrait()

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

Definition at line 505 of file SymbolTable.h.


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