My Project
|
This class represents a single IR object that contains a use list. More...
#include <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... | |
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... | |
Protected Member Functions | |
IRObjectWithUseList () | |
OperandType * | getFirstUse () const |
Friends | |
template<typename DerivedT , typename IRValueTy > | |
class | IROperand |
This class represents a single IR object that contains a use list.
using mlir::IRObjectWithUseList< OperandType >::use_iterator = ValueUseIterator<OperandType> |
using mlir::IRObjectWithUseList< OperandType >::use_range = iterator_range<use_iterator> |
using mlir::IRObjectWithUseList< OperandType >::user_iterator = ValueUserIterator<use_iterator, OperandType> |
using mlir::IRObjectWithUseList< OperandType >::user_range = iterator_range<user_iterator> |
|
inline |
|
inlineprotected |
|
inline |
Drop all uses of this object from their respective owners.
|
inlineprotected |
Return the first operand that is using this value, for use by custom use/def iterators.
|
inline |
Returns a range of all users.
|
inline |
Returns a range of all uses, which is useful for iterating over all uses.
|
inline |
Returns true if this value has exactly one use.
|
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'.
|
inline |
|
inline |
Returns true if this value has no uses.
|
inline |
|
inline |
|
inline |
|
friend |