MLIR
20.0.0git
|
This is a value defined by a result of an operation. More...
#include "mlir/IR/Value.h"
Public Member Functions | |
Operation * | getOwner () const |
Returns the operation that owns this result. More... | |
unsigned | getResultNumber () const |
Returns the number of this result. More... | |
constexpr | Value (detail::ValueImpl *impl=nullptr) |
Public Member Functions inherited from mlir::Value | |
constexpr | Value (detail::ValueImpl *impl=nullptr) |
template<typename U > | |
bool | isa () const |
template<typename U > | |
U | dyn_cast () const |
template<typename U > | |
U | dyn_cast_or_null () const |
template<typename U > | |
U | cast () 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... | |
MLIRContext * | getContext () 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... | |
Operation * | getDefiningOp () const |
If this value is the result of an operation, return the operation that defines it. More... | |
template<typename OpTy > | |
OpTy | getDefiningOp () const |
If this value is the result of an operation of type OpTy, return the operation that defines it. More... | |
Location | getLoc () const |
Return the location of this value. More... | |
void | setLoc (Location loc) |
Region * | getParentRegion () |
Return the Region in which this Value is defined. More... | |
Block * | getParentBlock () |
Return the Block in which this Value is defined. More... | |
void | dropAllUses () |
Drop all uses of this object from their respective owners. More... | |
void | replaceAllUsesWith (Value 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 | replaceAllUsesExcept (Value newValue, const SmallPtrSetImpl< Operation * > &exceptions) |
Replace all uses of 'this' value with 'newValue', updating anything in the IR that uses 'this' to use the other value instead except if the user is listed in 'exceptions' . More... | |
void | replaceAllUsesExcept (Value newValue, Operation *exceptedUser) |
Replace all uses of 'this' value with 'newValue', updating anything in the IR that uses 'this' to use the other value instead except if the user is 'exceptedUser'. More... | |
void | replaceUsesWithIf (Value newValue, function_ref< bool(OpOperand &)> shouldReplace) |
Replace all uses of 'this' value with 'newValue' if the given callback returns true. More... | |
bool | isUsedOutsideOfBlock (Block *block) const |
Returns true if the value is used outside of the given block. More... | |
void | shuffleUseList (ArrayRef< unsigned > indices) |
Shuffle the use list order according to the provided indices. 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 |
void | print (raw_ostream &os) const |
void | print (raw_ostream &os, const OpPrintingFlags &flags) const |
void | print (raw_ostream &os, AsmState &state) const |
void | dump () const |
void | printAsOperand (raw_ostream &os, AsmState &state) const |
Print this value as if it were an operand. More... | |
void | printAsOperand (raw_ostream &os, const OpPrintingFlags &flags) const |
void * | getAsOpaquePointer () const |
Methods for supporting PointerLikeTypeTraits. More... | |
detail::ValueImpl * | getImpl () const |
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 | |
using | use_iterator = ValueUseIterator< 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 Attributes inherited from mlir::Value | |
detail::ValueImpl * | impl |
A pointer to the internal implementation of the value. More... | |
|
inlinestatic |
Definition at line 461 of file Value.h.
References mlir::Value::getImpl().
|
inline |
Returns the operation that owns this result.
Definition at line 466 of file Value.h.
References mlir::detail::OpResultImpl::getOwner().
Referenced by mlir::linalg::fuseProducerOfTensor(), isShapePreserving(), mlir::tensor::replaceExtractSliceWithTiledProducer(), and mlir::scf::yieldReplacementForFusedProducer().
|
inline |
Returns the number of this result.
Definition at line 469 of file Value.h.
References mlir::detail::OpResultImpl::getResultNumber().
Referenced by mlir::linalg::fuseProducerOfTensor(), mlir::tensor::getOrCreateDestination(), isResultValueDead(), mlir::linalg::makeComposedPadHighOp(), GpuAsyncRegionPass::SingleTokenUseCallback::operator()(), mlir::tensor::replaceExtractSliceWithTiledProducer(), mlir::transform::TransformResults::set(), mlir::transform::TransformResults::setParams(), mlir::transform::TransformResults::setValues(), and mlir::scf::yieldReplacementForFusedProducer().