MLIR
17.0.0git
|
This class represents an operand of an operation. More...
#include "mlir/IR/Value.h"
Public Member Functions | |
unsigned | getOperandNumber () |
Return which operand this is in the OpOperand list of the Operation. More... | |
![]() | |
IROperand (Operation *owner) | |
IROperand (Operation *owner, Value 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) |
Value | get () const |
Return the current value being used by this operand. More... | |
void | set (Value newValue) |
Set the current value being used by this operand. More... | |
bool | is (Value 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< OpOperand > * | getUseList (Value value) |
Provide the use list that is attached to the given value. More... | |
Friends | |
class | OperandStorage |
Keep the constructor private and accessible to the OperandStorage class only to avoid hard-to-debug typo/programming mistakes. 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<typename UseListT > | |
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... | |
This class represents an operand of an operation.
Instances of this class contain a reference to a specific Value
.
unsigned OpOperand::getOperandNumber | ( | ) |
Return which operand this is in the OpOperand list of the Operation.
Return which operand this is in the operand list.
Definition at line 217 of file Value.cpp.
Referenced by addFilterLoopBasedConstraints(), annotateConflict(), bufferizableInPlaceAnalysisImpl(), checkDoubleConsume(), generateFusedElementwiseOpRegion(), genSubscript(), getLoopInvariantInsertSliceDefining(), getLoopInvariantTransferWriteDefining(), mlir::sparse_tensor::CodegenEnv::isAdmissibleTensorExp(), isUseSpeciallyKnownDead(), matchLinalgReduction(), mlir::linalg::packTranspose(), padOperandToSmallestStaticBoundingBox(), tileAndFuseFirstExtractUseThroughContainingOpBlockArgument(), and transposeOneLinalgOperandAndReplace().
|
inlinestatic |
Provide the use list that is attached to the given value.
Definition at line 264 of file Value.h.
References mlir::Value::getImpl().
|
friend |