My Project
Public Types | Public Member Functions | List of all members
mlir::IROperand< DerivedT, IRValueTy > Class Template Reference

#include <UseDefLists.h>

Public Types

using ValueType = IRValueTy
 

Public Member Functions

 IROperand (Operation *owner)
 
 IROperand (Operation *owner, ValueType value)
 
ValueType get () const
 Return the current value being used by this operand. More...
 
void set (ValueType newValue)
 Set the current value being used by this operand. More...
 
OperationgetOwner ()
 Return the owner of this operand. More...
 
OperationgetOwner () const
 
void drop ()
 Remove this use of the operand. More...
 
 ~IROperand ()
 
DerivedT * getNextOperandUsingThisValue ()
 
 IROperand (IROperand &&other)
 
IROperandoperator= (IROperand &&other)
 

Detailed Description

template<typename DerivedT, typename IRValueTy>
class mlir::IROperand< DerivedT, IRValueTy >

A reference to a value, suitable for use as an operand of an operation. IRValueTy is the root type to use for values this tracks. Derived operand types are expected to provide the following:

Member Typedef Documentation

◆ ValueType

template<typename DerivedT, typename IRValueTy>
using mlir::IROperand< DerivedT, IRValueTy >::ValueType = IRValueTy

Constructor & Destructor Documentation

◆ IROperand() [1/3]

template<typename DerivedT, typename IRValueTy>
mlir::IROperand< DerivedT, IRValueTy >::IROperand ( Operation owner)
inline

◆ IROperand() [2/3]

template<typename DerivedT, typename IRValueTy>
mlir::IROperand< DerivedT, IRValueTy >::IROperand ( Operation owner,
ValueType  value 
)
inline

◆ ~IROperand()

template<typename DerivedT, typename IRValueTy>
mlir::IROperand< DerivedT, IRValueTy >::~IROperand ( )
inline

◆ IROperand() [3/3]

template<typename DerivedT, typename IRValueTy>
mlir::IROperand< DerivedT, IRValueTy >::IROperand ( IROperand< DerivedT, IRValueTy > &&  other)
inline

We support a move constructor so IROperand's can be in vectors, but this shouldn't be used by general clients.

Member Function Documentation

◆ drop()

template<typename DerivedT, typename IRValueTy>
void mlir::IROperand< DerivedT, IRValueTy >::drop ( )
inline

Remove this use of the operand.

◆ get()

template<typename DerivedT, typename IRValueTy>
ValueType mlir::IROperand< DerivedT, IRValueTy >::get ( ) const
inline

Return the current value being used by this operand.

◆ getNextOperandUsingThisValue()

template<typename DerivedT, typename IRValueTy>
DerivedT* mlir::IROperand< DerivedT, IRValueTy >::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.

◆ getOwner() [1/2]

template<typename DerivedT, typename IRValueTy>
Operation* mlir::IROperand< DerivedT, IRValueTy >::getOwner ( )
inline

Return the owner of this operand.

◆ getOwner() [2/2]

template<typename DerivedT, typename IRValueTy>
Operation* mlir::IROperand< DerivedT, IRValueTy >::getOwner ( ) const
inline

◆ operator=()

template<typename DerivedT, typename IRValueTy>
IROperand& mlir::IROperand< DerivedT, IRValueTy >::operator= ( IROperand< DerivedT, IRValueTy > &&  other)
inline

◆ set()

template<typename DerivedT, typename IRValueTy>
void mlir::IROperand< DerivedT, IRValueTy >::set ( ValueType  newValue)
inline

Set the current value being used by this operand.


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