MLIR: mlir::BlockOperand Class Reference (original) (raw)
A block operand represents an operand that holds a reference to a Block, e.g. More...
#include "[mlir/IR/BlockSupport.h](BlockSupport%5F8h%5Fsource.html)"
Inheritance diagram for mlir::BlockOperand:
[legend]
Public Member Functions | |
---|---|
unsigned | getOperandNumber () |
Return which operand this is in the BlockOperand list of the Operation. More... | |
![]() |
|
IROperand (Operation *owner) | |
IROperand (Operation *owner, Block * value) | |
IROperand (IROperand &&other) | |
We support a move constructor so IROperand's can be in vectors, but this shouldn't be used by general clients. More... | |
IROperand & | operator= (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. More... | |
bool | operator!= (const IROperand< BlockOperand, Block * > &other) const |
Block * | get () const |
Return the current value being used by this operand. More... | |
void | set (Block * newValue) |
Set the current value being used by this operand. More... | |
bool | is (Block * other) const |
Returns true if this operand contains the given value. More... | |
void | drop () |
Remove this use of the operand. More... | |
![]() |
|
Operation * | getOwner () const |
Return the owner of this operand. More... | |
IROperandBase * | getNextOperandUsingThisValue () |
Return the next operand on the use-list of the value we are referring to. More... | |
void | initChainWithUse (IROperandBase **self) |
Initialize the use-def chain by setting the back address to self and nextUse to nullptr. More... | |
void | linkTo (IROperandBase *next) |
Link the current node to next. More... | |
Static Public Member Functions | |
---|---|
static IRObjectWithUseList< BlockOperand > * | getUseList (Block *value) |
Provide the use list that is attached to the given block. More... | |
Additional Inherited Members | |
---|---|
![]() |
|
IROperandBase (Operation *owner) | |
IROperandBase (IROperandBase &&other) | |
IROperandBase & | operator= (IROperandBase &&other) |
IROperandBase (const IROperandBase &use)=delete | |
Operands are not copyable or assignable. More... | |
IROperandBase & | operator= (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 | |
void | insertInto (UseListT *useList) |
Insert this operand into the given use list. More... | |
![]() |
|
IROperandBase * | nextUse = 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
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 219 of file Value.cpp.
◆ getUseList()
IRObjectWithUseList< BlockOperand > * BlockOperand::getUseList ( Block * value) | static |
---|
Provide the use list that is attached to the given block.
Definition at line 214 of file Value.cpp.
The documentation for this class was generated from the following files:
- include/mlir/IR/BlockSupport.h
- lib/IR/Value.cpp