MLIR 22.0.0git
mlir::BlockOperand Class Reference

A block operand represents an operand that holds a reference to a Block, e.g. More...

#include "mlir/IR/BlockSupport.h"

Inheritance diagram for mlir::BlockOperand:

Public Member Functions

unsigned getOperandNumber ()
 Return which operand this is in the BlockOperand list of the Operation.
Public Member Functions inherited from mlir::IROperand< BlockOperand, Block * >
 IROperand (Operation *owner)
IROperandoperator= (IROperand &&other)
bool operator== (const IROperand< BlockOperand, Block * > &other) const
 Two operands are equal if they have the same owner and the same operand number.
bool operator!= (const IROperand< BlockOperand, Block * > &other) const
Blockget () const
 Return the current value being used by this operand.
void set (Block *newValue)
 Set the current value being used by this operand.
bool is (Block *other) const
 Returns true if this operand contains the given value.
void drop ()
 Remove this use of the operand.
Public Member Functions inherited from mlir::detail::IROperandBase
OperationgetOwner () const
 Return the owner of this operand.
IROperandBasegetNextOperandUsingThisValue ()
 Return the next operand on the use-list of the value we are referring to.
void initChainWithUse (IROperandBase **self)
 Initialize the use-def chain by setting the back address to self and nextUse to nullptr.
void linkTo (IROperandBase *next)
 Link the current node to next.

Static Public Member Functions

static IRObjectWithUseList< BlockOperand > * getUseList (Block *value)
 Provide the use list that is attached to the given block.

Additional Inherited Members

Protected Member Functions inherited from mlir::detail::IROperandBase
 IROperandBase (Operation *owner)
 IROperandBase (IROperandBase &&other)
IROperandBaseoperator= (IROperandBase &&other)
 IROperandBase (const IROperandBase &use)=delete
 Operands are not copyable or assignable.
IROperandBaseoperator= (const IROperandBase &use)=delete
 ~IROperandBase ()
void drop ()
 Remove this use of the operand.
void removeFromCurrent ()
 Remove this operand from the current use list.
template<typename UseListT>
void insertInto (UseListT *useList)
 Insert this operand into the given use list.
Protected Attributes inherited from mlir::detail::IROperandBase
IROperandBasenextUse = nullptr
 The next operand in the use-chain.
IROperandBase ** back = nullptr
 This points to the previous link in the use-chain.

Detailed Description

A block operand represents an operand that holds a reference to a Block, e.g.

for terminator operations.

Definition at line 30 of file BlockSupport.h.

Member Function Documentation

◆ getOperandNumber()

unsigned BlockOperand::getOperandNumber ( )

Return which operand this is in the BlockOperand list of the Operation.

Return which operand this is in the operand list.

Definition at line 217 of file Value.cpp.

References mlir::Operation::getBlockOperands(), and mlir::detail::IROperandBase::getOwner().

◆ getUseList()

IRObjectWithUseList< BlockOperand > * BlockOperand::getUseList ( Block * value)
static

Provide the use list that is attached to the given block.

Definition at line 212 of file Value.cpp.


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