LLVM
8.0.1
|
Walks the defining accesses of MemoryDefs. More...
#include "llvm/Analysis/MemorySSA.h"
Additional Inherited Members | |
Protected Types inherited from llvm::iterator_facade_base< def_chain_iterator< T, UseOptimizedChain >, std::forward_iterator_tag, 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 1262 of file MemorySSA.h.
|
inline |
Definition at line 1265 of file MemorySSA.h.
|
inline |
Definition at line 1266 of file MemorySSA.h.
|
inline |
Definition at line 1268 of file MemorySSA.h.
|
inline |
Definition at line 1270 of file MemorySSA.h.
|
inline |
Definition at line 1284 of file MemorySSA.h.