MLIR  20.0.0git
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
mlir::detail::OutOfLineOpResult Class Reference

This class provides the implementation for an operation result whose index cannot be represented "inline", and thus requires an additional index field. More...

#include "mlir/IR/Value.h"

+ Inheritance diagram for mlir::detail::OutOfLineOpResult:

Public Member Functions

 OutOfLineOpResult (Type type, uint64_t outOfLineIndex)
 
unsigned getResultNumber () const
 Return the result number of this op result. More...
 
- Public Member Functions inherited from mlir::detail::OpResultImpl
OperationgetOwner () const
 Returns the parent operation of this result. More...
 
unsigned getResultNumber () const
 Returns the result number of this op result. More...
 
OpResultImplgetNextResultAtOffset (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 OpResultImpl *value)
 
- Static Public Member Functions inherited from mlir::detail::OpResultImpl
static bool classof (const ValueImpl *value)
 
static unsigned getMaxInlineResults ()
 Returns the maximum number of results that can be stored inline. More...
 

Public Attributes

uint64_t outOfLineIndex
 The trailing result number, or the offset from the beginning of the OutOfLineOpResult array. 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
 
OpOperandgetFirstUse () 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, KindtypeAndKind
 The type of this result and the kind. More...
 

Detailed Description

This class provides the implementation for an operation result whose index cannot be represented "inline", and thus requires an additional index field.

Definition at line 414 of file Value.h.

Constructor & Destructor Documentation

◆ OutOfLineOpResult()

mlir::detail::OutOfLineOpResult::OutOfLineOpResult ( Type  type,
uint64_t  outOfLineIndex 
)
inline

Definition at line 416 of file Value.h.

Member Function Documentation

◆ classof()

static bool mlir::detail::OutOfLineOpResult::classof ( const OpResultImpl value)
inlinestatic

◆ getResultNumber()

unsigned mlir::detail::OutOfLineOpResult::getResultNumber ( ) const
inline

Return the result number of this op result.

Definition at line 425 of file Value.h.

References mlir::detail::OpResultImpl::getMaxInlineResults(), and outOfLineIndex.

Member Data Documentation

◆ outOfLineIndex

uint64_t mlir::detail::OutOfLineOpResult::outOfLineIndex

The trailing result number, or the offset from the beginning of the OutOfLineOpResult array.

Definition at line 431 of file Value.h.

Referenced by mlir::detail::OpResultImpl::getOwner(), and getResultNumber().


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