My Project
|
#include <UseDefLists.h>
Public Types | |
using | BaseType = IRObjectWithUseList< OperandType > |
using | ValueType = typename OperandType::ValueType |
using | filtered_use_iterator = FilteredValueUseIterator< OperandType > |
using | filtered_use_range = iterator_range< filtered_use_iterator > |
using | filtered_user_iterator = ValueUserIterator< filtered_use_iterator, OperandType > |
using | filtered_user_range = iterator_range< filtered_user_iterator > |
![]() | |
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 | |
void | dropAllUses (ValueType value) |
Drop all uses of value from their respective owners. More... | |
void | replaceAllUsesWith (ValueType oldValue, ValueType newValue) |
filtered_use_iterator | use_begin (ValueType value) const |
filtered_use_iterator | use_end (ValueType) const |
filtered_use_range | getUses (ValueType value) const |
bool | hasOneUse (ValueType value) const |
bool | use_empty (ValueType value) const |
filtered_user_iterator | user_begin (ValueType value) const |
filtered_user_iterator | user_end (ValueType value) const |
filtered_user_range | getUsers (ValueType value) const |
![]() | |
~IRObjectWithUseList () | |
void | dropAllUses () |
Drop all uses of this object from their respective owners. More... | |
void | replaceAllUsesWith (typename OperandType::ValueType newValue) |
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... | |
Additional Inherited Members | |
![]() | |
IRObjectWithUseList () | |
OperandType * | getFirstUse () const |
This class represents multiple IR objects with a single use list. This class provides wrapper functionality for manipulating the uses of a single object.
using mlir::IRMultiObjectWithUseList< OperandType >::BaseType = IRObjectWithUseList<OperandType> |
using mlir::IRMultiObjectWithUseList< OperandType >::filtered_use_iterator = FilteredValueUseIterator<OperandType> |
using mlir::IRMultiObjectWithUseList< OperandType >::filtered_use_range = iterator_range<filtered_use_iterator> |
using mlir::IRMultiObjectWithUseList< OperandType >::filtered_user_iterator = ValueUserIterator<filtered_use_iterator, OperandType> |
using mlir::IRMultiObjectWithUseList< OperandType >::filtered_user_range = iterator_range<filtered_user_iterator> |
using mlir::IRMultiObjectWithUseList< OperandType >::ValueType = typename OperandType::ValueType |
|
inline |
Drop all uses of value
from their respective owners.
|
inline |
|
inline |
|
inline |
|
inline |
Replace all uses of oldValue
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'.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |