LLVM
17.0.0git
|
Walks the defining accesses of MemoryDefs. More...
#include "llvm/Analysis/MemorySSA.h"
Public Member Functions | |
def_chain_iterator () | |
def_chain_iterator (T MA) | |
T | operator* () const |
def_chain_iterator & | operator++ () |
bool | operator== (const def_chain_iterator &O) const |
![]() | |
def_chain_iterator< T, false > | operator+ (std::ptrdiff_t n) const |
def_chain_iterator< T, false > | operator- (std::ptrdiff_t n) const |
def_chain_iterator< T, false > & | operator++ () |
def_chain_iterator< T, false > | operator++ (int) |
def_chain_iterator< T, false > & | operator-- () |
def_chain_iterator< T, false > | operator-- (int) |
bool | operator!= (const def_chain_iterator< T, false > &RHS) const |
bool | operator> (const def_chain_iterator< T, false > &RHS) const |
bool | operator<= (const def_chain_iterator< T, false > &RHS) const |
bool | operator>= (const def_chain_iterator< T, false > &RHS) const |
PointerProxy | operator-> () const |
ReferenceProxy | operator[] (std::ptrdiff_t n) const |
Additional Inherited Members | |
![]() | |
using | iterator_category = std::forward_iterator_tag |
using | value_type = MemoryAccess * |
using | difference_type = std::ptrdiff_t |
using | pointer = MemoryAccess * * |
using | reference = MemoryAccess * & |
![]() | |
enum | |
Walks the defining accesses of MemoryDefs.
Stops after we hit something that has no defining use (e.g. a MemoryPhi or liveOnEntry). Note that, when comparing against a null def_chain_iterator, this will compare equal only after walking said Phi/liveOnEntry.
The UseOptimizedChain flag specifies whether to walk the clobbering access chain, or all the accesses.
Normally, MemoryDef are all just def/use linked together, so a def_chain on a MemoryDef will walk all MemoryDefs above it in the program until it hits a phi node. The optimized chain walks the clobbering access of a store. So if you are just trying to find, given a store, what the next thing that would clobber the same memory is, you want the optimized chain.
Definition at line 1326 of file MemorySSA.h.
|
inline |
Definition at line 1329 of file MemorySSA.h.
|
inline |
Definition at line 1330 of file MemorySSA.h.
|
inline |
Definition at line 1332 of file MemorySSA.h.
References T.
|
inline |
Definition at line 1334 of file MemorySSA.h.
|
inline |
Definition at line 1348 of file MemorySSA.h.
References llvm::RISCVFenceField::O.