MLIR: mlir::OpOperand Class Reference (original) (raw)

This class represents an operand of an operation. More...

#include "[mlir/IR/Value.h](Value%5F8h%5Fsource.html)"

+ Inheritance diagram for mlir::OpOperand:

Public Member Functions
unsigned getOperandNumber ()
Return which operand this is in the OpOperand list of the Operation. More...
void assign (Value value)
Set the current value being used by this operand. More...
- Public Member Functions inherited from mlir::IROperand< OpOperand, Value >
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)
bool operator== (const IROperand< OpOperand, Value > &other) const
Two operands are equal if they have the same owner and the same operand number. More...
bool operator!= (const IROperand< OpOperand, Value > &other) const
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...
- Public Member Functions inherited from mlir::detail::IROperandBase
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...
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
- Protected Member Functions inherited from mlir::detail::IROperandBase
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...
- Protected Attributes inherited from mlir::detail::IROperandBase
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

This class represents an operand of an operation.

Instances of this class contain a reference to a specific [Value](classmlir%5F1%5F1Value.html "This class represents an instance of an SSA value in the MLIR system, representing a computable value...").

Definition at line 257 of file Value.h.

Member Function Documentation

assign()

void mlir::OpOperand::assign ( Value value) inline

getOperandNumber()

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 228 of file Value.cpp.

Referenced by annotateConflict(), checkDoubleConsume(), genConstantDenseAddressFromLevel(), generateFusedElementwiseOpRegion(), genSubscript(), getUntiledConsumerFromSlice(), mlir::sparse_tensor::CodegenEnv::isAdmissibleTensorExp(), isUseSpeciallyKnownDead(), matchLinalgReduction(), mlir::linalg::packTranspose(), padOperandToSmallestStaticBoundingBox(), populateOpPayload(), mlir::scf::replaceAndCastForOpIterArg(), mlir::tensor::replaceInsertSliceWithTiledConsumer(), sameOrEquivalentIterArg(), setInPlaceOpOperand(), mlir::scf::tileAndFuseConsumerOfSlice(), tileAndFuseFirstExtractUseThroughContainingOpBlockArgument(), transposeOneLinalgOperandAndReplace(), and mlir::linalg::detail::verifyStructuredOpInterface().

getUseList()

OperandStorage

Keep the constructor private and accessible to the OperandStorage class only to avoid hard-to-debug typo/programming mistakes.

Definition at line 273 of file Value.h.


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