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

#include <SymbolTable.h>

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

Public Member Functions

StringRef getName ()
 Returns the name of this symbol. More...
 
void setName (StringRef name)
 Set the name of this symbol. More...
 
Optional<::mlir::SymbolTable::UseRangegetSymbolUses (Operation *from)
 
bool symbolKnownUseEmpty (Operation *from)
 
LLVM_NODISCARD LogicalResult replaceAllSymbolUses (StringRef newSymbol, Operation *from)
 

Static Public Member Functions

static LogicalResult verifyTrait (Operation *op)
 

Additional Inherited Members

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

Detailed Description

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

A trait used to define a symbol that can be used on operations within a symbol table. Operations using this trait must adhere to the following:

Member Function Documentation

◆ getName()

template<typename ConcreteType >
StringRef mlir::OpTrait::Symbol< ConcreteType >::getName ( )
inline

Returns the name of this symbol.

◆ getSymbolUses()

template<typename ConcreteType >
Optional<::mlir::SymbolTable::UseRange> mlir::OpTrait::Symbol< ConcreteType >::getSymbolUses ( Operation from)
inline

Get all of the uses of the current symbol that are nested within the given operation 'from'. Note: See mlir::SymbolTable::getSymbolUses for more details.

◆ replaceAllSymbolUses()

template<typename ConcreteType >
LLVM_NODISCARD LogicalResult mlir::OpTrait::Symbol< ConcreteType >::replaceAllSymbolUses ( StringRef  newSymbol,
Operation from 
)
inline

Attempt to replace all uses of the current symbol with the provided symbol 'newSymbol' that are nested within the given operation 'from'. Note: See mlir::SymbolTable::replaceAllSymbolUses for more details.

◆ setName()

template<typename ConcreteType >
void mlir::OpTrait::Symbol< ConcreteType >::setName ( StringRef  name)
inline

Set the name of this symbol.

◆ symbolKnownUseEmpty()

template<typename ConcreteType >
bool mlir::OpTrait::Symbol< ConcreteType >::symbolKnownUseEmpty ( Operation from)
inline

Return if the current symbol is known to have no uses that are nested within the given operation 'from'. Note: See mlir::SymbolTable::symbolKnownUseEmpty for more details.

◆ verifyTrait()

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

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