MLIR
20.0.0git
|
This class provides the implementation for an operation result. More...
#include "mlir/IR/Value.h"
Public Member Functions | |
Operation * | getOwner () const |
Returns the parent operation of this result. More... | |
unsigned | getResultNumber () const |
Returns the result number of this op result. More... | |
OpResultImpl * | getNextResultAtOffset (intptr_t offset) |
Returns the next operation result at offset after this result. More... | |
ValueImpl (Type type, Kind kind) | |
Public Member Functions inherited from mlir::detail::ValueImpl | |
Type | getType () const |
Return the type of this value. More... | |
void | setType (Type type) |
Set the type of this value. More... | |
Kind | getKind () const |
Return the kind of this value. More... | |
Public Member Functions inherited from mlir::IRObjectWithUseList< OpOperand > | |
~IRObjectWithUseList () | |
void | dropAllUses () |
Drop all uses of this object from their respective owners. More... | |
void | replaceAllUsesWith (ValueT &&newValue) |
Replace all uses of 'this' value with the new value, updating anything in the IR that uses 'this' to use the other value instead. More... | |
void | shuffleUseList (ArrayRef< unsigned > indices) |
Shuffle the use-list chain according to the provided indices vector, which need to represent a valid shuffle. More... | |
use_iterator | use_begin () const |
use_iterator | use_end () const |
use_range | getUses () const |
Returns a range of all uses, which is useful for iterating over all uses. More... | |
bool | hasOneUse () const |
Returns true if this value has exactly one use. More... | |
bool | use_empty () const |
Returns true if this value has no uses. More... | |
user_iterator | user_begin () const |
user_iterator | user_end () const |
user_range | getUsers () const |
Returns a range of all users. More... | |
Static Public Member Functions | |
static bool | classof (const ValueImpl *value) |
static unsigned | getMaxInlineResults () |
Returns the maximum number of results that can be stored inline. More... | |
Additional Inherited Members | |
Public Types inherited from mlir::detail::ValueImpl | |
enum class | Kind { InlineOpResult = 0 , OutOfLineOpResult = 6 , BlockArgument = 7 } |
The enumeration represents the various different kinds of values the internal representation may take. More... | |
Public Types inherited from mlir::IRObjectWithUseList< OpOperand > | |
using | use_iterator = ValueUseIterator< OpOperand > |
using | use_range = iterator_range< use_iterator > |
using | user_iterator = ValueUserIterator< use_iterator, OpOperand > |
using | user_range = iterator_range< user_iterator > |
Protected Member Functions inherited from mlir::detail::ValueImpl | |
ValueImpl (Type type, Kind kind) | |
LLVM_DUMP_METHOD Type | debug_getType () const |
Expose a few methods explicitly for the debugger to call for visualization. More... | |
LLVM_DUMP_METHOD Kind | debug_getKind () const |
Protected Member Functions inherited from mlir::IRObjectWithUseList< OpOperand > | |
IRObjectWithUseList ()=default | |
OpOperand * | getFirstUse () const |
Return the first operand that is using this value, for use by custom use/def iterators. More... | |
Protected Attributes inherited from mlir::detail::ValueImpl | |
llvm::PointerIntPair< Type, 3, Kind > | typeAndKind |
The type of this result and the kind. More... | |
This class provides the implementation for an operation result.
|
inlinestatic |
Definition at line 372 of file Value.h.
References mlir::detail::ValueImpl::BlockArgument, and mlir::detail::ValueImpl::getKind().
|
inlinestatic |
Returns the maximum number of results that can be stored inline.
Definition at line 390 of file Value.h.
References mlir::detail::ValueImpl::OutOfLineOpResult.
Referenced by getNextResultAtOffset(), getOwner(), mlir::detail::OutOfLineOpResult::getResultNumber(), and mlir::detail::InlineOpResult::InlineOpResult().
OpResultImpl * OpResultImpl::getNextResultAtOffset | ( | intptr_t | offset | ) |
Returns the next operation result at offset
after this result.
This method is useful when indexing the result storage of an operation, given that there is more than one kind of operation result (with the different kinds having different sizes) and that operations are stored in reverse order.
Definition at line 134 of file Value.cpp.
References getMaxInlineResults().
Operation * OpResultImpl::getOwner | ( | ) | const |
Returns the parent operation of this result.
Returns the parent operation of this trailing result.
Definition at line 105 of file Value.cpp.
References getMaxInlineResults(), and mlir::detail::OutOfLineOpResult::outOfLineIndex.
Referenced by mlir::OpResult::getOwner().
|
inline |
Returns the result number of this op result.
Return the result number of this op result.
Definition at line 435 of file Value.h.
Referenced by mlir::OpResult::getResultNumber().