My Project
Public Member Functions | Static Public Member Functions | List of all members
mlir::OpResult Class Reference

This is a value defined by a result of an operation. More...

#include <Value.h>

Inheritance diagram for mlir::OpResult:
Inheritance graph
[legend]
Collaboration diagram for mlir::OpResult:
Collaboration graph
[legend]

Public Member Functions

OpResult operator* ()
 
OpResultoperator-> ()
 
OperationgetOwner () const
 Returns the operation that owns this result. More...
 
unsigned getResultNumber () const
 Returns the number of this result. More...
 
- Public Member Functions inherited from mlir::Value
 Value (std::nullptr_t)
 
 Value (ImplType ownerAndKind={})
 
 Value (const Value &)=default
 
Valueoperator= (const Value &)=default
 
template<typename U >
bool isa () const
 
template<typename U >
dyn_cast () const
 
template<typename U >
dyn_cast_or_null () const
 
template<typename U >
cast () const
 
Value operator* () const
 
Valueoperator-> () const
 
 operator bool () const
 
bool operator== (const Value &other) const
 
bool operator!= (const Value &other) const
 
Type getType () const
 Return the type of this value. More...
 
MLIRContextgetContext () const
 Utility to get the associated MLIRContext that this value is defined in. More...
 
void setType (Type newType)
 Mutate the type of this Value to be of the specified type. More...
 
OperationgetDefiningOp () const
 
Location getLoc ()
 
RegiongetParentRegion ()
 Return the Region in which this Value is defined. More...
 
IRObjectWithUseList< OpOperand > * getUseList () const
 Provide the use list that is attached to this value. More...
 
void dropAllUses () const
 Drop all uses of this object from their respective owners. More...
 
void replaceAllUsesWith (Value newValue) const
 
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
 
Kind getKind () const
 Returns the kind of this value. More...
 
void print (raw_ostream &os)
 
void dump ()
 
void * getAsOpaquePointer () const
 Methods for supporting PointerLikeTypeTraits. More...
 

Static Public Member Functions

static bool classof (Value value)
 
- Static Public Member Functions inherited from mlir::Value
static Value getFromOpaquePointer (const void *pointer)
 

Additional Inherited Members

- Public Types inherited from mlir::Value
enum  Kind { Kind::OpResult0 = 0, Kind::OpResult1 = 1, Kind::TrailingOpResult = 2, Kind::BlockArgument = 3 }
 
using ImplType = llvm::PointerIntPair< void *, 2, Kind, ImplTypeTraits >
 
using use_iterator = FilteredValueUseIterator< OpOperand >
 This class implements an iterator over the uses of a value. More...
 
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::Value
 Value (detail::BlockArgumentImpl *impl)
 Construct a value. More...
 
 Value (Operation *op, unsigned resultNo)
 
- Static Protected Member Functions inherited from mlir::Value
static bool canPackResultInline (unsigned resultNo)
 Returns true if the given operation result can be packed inline. More...
 
- Protected Attributes inherited from mlir::Value
ImplType ownerAndKind
 

Detailed Description

This is a value defined by a result of an operation.

Member Function Documentation

◆ classof()

static bool mlir::OpResult::classof ( Value  value)
inlinestatic

◆ getOwner()

Operation * OpResult::getOwner ( ) const

Returns the operation that owns this result.

◆ getResultNumber()

unsigned OpResult::getResultNumber ( ) const

Returns the number of this result.

Return the result number of this result.

◆ operator*()

OpResult mlir::OpResult::operator* ( void  )
inline

Temporary methods to enable transition of Value to being used as a value-type. TODO(riverriddle) Remove these when all usages have been removed.

◆ operator->()

OpResult* mlir::OpResult::operator-> ( )
inline

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