MLIR
15.0.0git
|
This class represents a single IR object that contains a use list. More...
#include "mlir/IR/UseDefLists.h"
Public Types | |
using | use_iterator = ValueUseIterator< OperandType > |
using | use_range = iterator_range< use_iterator > |
using | user_iterator = ValueUserIterator< use_iterator, OperandType > |
using | user_range = iterator_range< user_iterator > |
Public Member Functions | |
~IRObjectWithUseList () | |
void | dropAllUses () |
Drop all uses of this object from their respective owners. More... | |
template<typename ValueT > | |
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... | |
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... | |
Protected Member Functions | |
IRObjectWithUseList ()=default | |
OperandType * | getFirstUse () const |
Return the first operand that is using this value, for use by custom use/def iterators. More... | |
This class represents a single IR object that contains a use list.
Definition at line 167 of file UseDefLists.h.
using mlir::IRObjectWithUseList< OperandType >::use_iterator = ValueUseIterator<OperandType> |
Definition at line 194 of file UseDefLists.h.
using mlir::IRObjectWithUseList< OperandType >::use_range = iterator_range<use_iterator> |
Definition at line 195 of file UseDefLists.h.
using mlir::IRObjectWithUseList< OperandType >::user_iterator = ValueUserIterator<use_iterator, OperandType> |
Definition at line 215 of file UseDefLists.h.
using mlir::IRObjectWithUseList< OperandType >::user_range = iterator_range<user_iterator> |
Definition at line 216 of file UseDefLists.h.
|
inline |
Definition at line 169 of file UseDefLists.h.
|
protecteddefault |
|
inline |
Drop all uses of this object from their respective owners.
Definition at line 174 of file UseDefLists.h.
Referenced by mlir::detail::ConversionPatternRewriterImpl::applyRewrites(), buildUnresolvedTargetMaterialization(), and mlir::RewriterBase::mergeBlocks().
|
inlineprotected |
Return the first operand that is using this value, for use by custom use/def iterators.
Definition at line 229 of file UseDefLists.h.
|
inline |
Returns a range of all users.
Definition at line 222 of file UseDefLists.h.
|
inline |
Returns a range of all uses, which is useful for iterating over all uses.
Definition at line 201 of file UseDefLists.h.
|
inline |
Returns true if this value has exactly one use.
Definition at line 204 of file UseDefLists.h.
|
inline |
Replace all uses of 'this' value with the new value, updating anything in the IR that uses 'this' to use the other value instead.
When this returns there are zero uses of 'this'.
Definition at line 183 of file UseDefLists.h.
Referenced by ableToUpdatePredOperands(), and buildUnresolvedTargetMaterialization().
|
inline |
Definition at line 197 of file UseDefLists.h.
|
inline |
Returns true if this value has no uses.
Definition at line 209 of file UseDefLists.h.
|
inline |
Definition at line 198 of file UseDefLists.h.
|
inline |
Definition at line 218 of file UseDefLists.h.
|
inline |
Definition at line 219 of file UseDefLists.h.