MLIR
20.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... | |
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... | |
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 | |
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<typename UseListT > | |
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... | |
This class represents an operand of an operation.
Instances of this class contain a reference to a specific Value
.
|
inline |
Set the current value being used by this operand.
Definition at line 278 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 216 of file Value.cpp.
Referenced by annotateConflict(), checkDoubleConsume(), genConstantDenseAddressFromLevel(), generateFusedElementwiseOpRegion(), genSubscript(), getUntiledConsumerFromSlice(), mlir::sparse_tensor::CodegenEnv::isAdmissibleTensorExp(), isUseSpeciallyKnownDead(), matchLinalgReduction(), mlir::linalg::packTranspose(), padOperandToSmallestStaticBoundingBox(), mlir::scf::replaceAndCastForOpIterArg(), mlir::tensor::replaceInsertSliceWithTiledConsumer(), setInPlaceOpOperand(), mlir::scf::tileAndFuseConsumerOfSlice(), tileAndFuseFirstExtractUseThroughContainingOpBlockArgument(), transposeOneLinalgOperandAndReplace(), and mlir::linalg::detail::verifyStructuredOpInterface().
|
inlinestatic |
Provide the use list that is attached to the given value.
Definition at line 270 of file Value.h.
References mlir::Value::getImpl().
|
friend |