MLIR  16.0.0git
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
mlir::detail::IROperandBase Class Reference

This class is the base for IROperand, and provides all of the non-templated facilities for operand use management. More...

#include "mlir/IR/UseDefLists.h"

+ Inheritance diagram for mlir::detail::IROperandBase:
+ Collaboration diagram for mlir::detail::IROperandBase:

Public Member Functions

OperationgetOwner () const
 Return the owner of this operand. More...
 
IROperandBasegetNextOperandUsingThisValue ()
 Return the next operand on the use-list of the value we are referring to. More...
 

Protected Member Functions

 IROperandBase (Operation *owner)
 
 IROperandBase (IROperandBase &&other)
 
IROperandBaseoperator= (IROperandBase &&other)
 
 IROperandBase (const IROperandBase &use)=delete
 Operands are not copyable or assignable. More...
 
IROperandBaseoperator= (const IROperandBase &use)=delete
 
 ~IROperandBase ()
 
void drop ()
 Remove this use of the operand. More...
 
void removeFromCurrent ()
 Remove this operand from the current use list. More...
 
template<typename UseListT >
void insertInto (UseListT *useList)
 Insert this operand into the given use list. More...
 

Protected Attributes

IROperandBasenextUse = nullptr
 The next operand in the use-chain. More...
 
IROperandBase ** back = nullptr
 This points to the previous link in the use-chain. More...
 

Detailed Description

This class is the base for IROperand, and provides all of the non-templated facilities for operand use management.

Definition at line 37 of file UseDefLists.h.

Constructor & Destructor Documentation

◆ IROperandBase() [1/3]

mlir::detail::IROperandBase::IROperandBase ( Operation owner)
inlineprotected

Definition at line 48 of file UseDefLists.h.

Referenced by operator=().

◆ IROperandBase() [2/3]

mlir::detail::IROperandBase::IROperandBase ( IROperandBase &&  other)
inlineprotected

Definition at line 49 of file UseDefLists.h.

◆ IROperandBase() [3/3]

mlir::detail::IROperandBase::IROperandBase ( const IROperandBase use)
protecteddelete

Operands are not copyable or assignable.

◆ ~IROperandBase()

mlir::detail::IROperandBase::~IROperandBase ( )
inlineprotected

Definition at line 64 of file UseDefLists.h.

References removeFromCurrent().

Member Function Documentation

◆ drop()

void mlir::detail::IROperandBase::drop ( )
inlineprotected

Remove this use of the operand.

Definition at line 67 of file UseDefLists.h.

References back, nextUse, and removeFromCurrent().

Referenced by mlir::IROperand< OpOperand, Value >::drop().

◆ getNextOperandUsingThisValue()

IROperandBase* mlir::detail::IROperandBase::getNextOperandUsingThisValue ( )
inline

Return the next operand on the use-list of the value we are referring to.

This should generally only be used by the internal implementation details of the SSA machinery.

Definition at line 45 of file UseDefLists.h.

References nextUse.

◆ getOwner()

Operation* mlir::detail::IROperandBase::getOwner ( ) const
inline

◆ insertInto()

template<typename UseListT >
void mlir::detail::IROperandBase::insertInto ( UseListT *  useList)
inlineprotected

Insert this operand into the given use list.

Definition at line 84 of file UseDefLists.h.

References back, and nextUse.

Referenced by mlir::IROperand< OpOperand, Value >::drop().

◆ operator=() [1/2]

IROperandBase& mlir::detail::IROperandBase::operator= ( IROperandBase &&  other)
inlineprotected

◆ operator=() [2/2]

IROperandBase& mlir::detail::IROperandBase::operator= ( const IROperandBase use)
protecteddelete

◆ removeFromCurrent()

void mlir::detail::IROperandBase::removeFromCurrent ( )
inlineprotected

Remove this operand from the current use list.

Definition at line 74 of file UseDefLists.h.

References back, and nextUse.

Referenced by drop(), operator=(), mlir::IROperand< OpOperand, Value >::set(), and ~IROperandBase().

Member Data Documentation

◆ back

IROperandBase** mlir::detail::IROperandBase::back = nullptr
protected

This points to the previous link in the use-chain.

Definition at line 96 of file UseDefLists.h.

Referenced by drop(), insertInto(), operator=(), and removeFromCurrent().

◆ nextUse

IROperandBase* mlir::detail::IROperandBase::nextUse = nullptr
protected

The next operand in the use-chain.

Definition at line 93 of file UseDefLists.h.

Referenced by drop(), getNextOperandUsingThisValue(), insertInto(), operator=(), and removeFromCurrent().


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