|
MLIR 22.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. | |
| void | assign (Value value) |
| Set the current value being used by this operand. | |
| Public Member Functions inherited from mlir::IROperand< OpOperand, Value > | |
| IROperand (Operation *owner) | |
| 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. | |
| bool | operator!= (const IROperand< OpOperand, Value > &other) const |
| Value | get () const |
| Return the current value being used by this operand. | |
| void | set (Value newValue) |
| Set the current value being used by this operand. | |
| bool | is (Value 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 | |
| Operation * | getOwner () const |
| Return the owner of this operand. | |
| IROperandBase * | getNextOperandUsingThisValue () |
| 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< OpOperand > * | getUseList (Value value) |
| Provide the use list that is attached to the given value. | |
Friends | |
| class | OperandStorage |
| Keep the constructor private and accessible to the OperandStorage class only to avoid hard-to-debug typo/programming mistakes. | |
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. | |
| IROperandBase & | operator= (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 | |
| IROperandBase * | nextUse = nullptr |
| The next operand in the use-chain. | |
| IROperandBase ** | back = nullptr |
| This points to the previous link in the use-chain. | |
This class represents an operand of an operation.
Instances of this class contain a reference to a specific Value.
Set the current value being used by this operand.
Definition at line 268 of file Value.h.
References mlir::IROperand< OpOperand, Value >::set().
| 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 226 of file Value.cpp.
References mlir::Operation::getOpOperands(), and mlir::detail::IROperandBase::getOwner().
Referenced by annotateConflict(), bubbleDownCastsPassthroughOpImpl(), bufferizableInPlaceAnalysisImpl(), mlir::bufferization::func_ext::CallOpInterface::bufferizesToMemoryRead(), mlir::bufferization::func_ext::CallOpInterface::bufferizesToMemoryWrite(), checkDoubleConsume(), mlir::bufferization::eliminateEmptyTensors(), genConstantDenseAddressFromLevel(), generateFusedElementwiseOpRegion(), genSubscript(), mlir::bufferization::BranchOpBufferizableOpInterfaceExternalModel< ConcreteModel, ConcreteOp >::getAliasingValues(), mlir::bufferization::func_ext::CallOpInterface::getAliasingValues(), getUntiledConsumerFromSlice(), isUseSpeciallyKnownDead(), matchLinalgReduction(), mlir::linalg::packTranspose(), padOperandToSmallestStaticBoundingBox(), populateOpPayload(), mlir::scf::replaceAndCastForOpIterArg(), mlir::tensor::replaceInsertSlicesWithTiledConsumer(), sameOrEquivalentIterArg(), setInPlaceOpOperand(), tileAndFuseFirstExtractUse(), tileAndFuseFirstExtractUseThroughContainingOpBlockArgument(), transposeOneLinalgOperandAndReplace(), and mlir::linalg::detail::verifyStructuredOpInterface().
|
inlinestatic |
|
friend |
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.
References mlir::IROperand< OpOperand, Value >::IROperand(), and OperandStorage.
Referenced by OperandStorage.