Iterator that walks defs with a phi‐translated memory location.
Synopsis
Declared in <llvm/Analysis/MemorySSA.h>
class upward_defs_iterator
: public iterator_facade_base<upward_defs_iterator, std::forward_iterator_tag, UpwardDefsElem const>
Description
Gives both the memory access and the current pointer location, updating the pointer location as it changes due to phi node translation.
This iterator, while somewhat specialized, is what most clients actually want when walking upwards through MemorySSA def chains. It takes a pair of <MemoryAccess,MemoryLocation>, and walks defs, properly translating the memory location through phi nodes for the user.
Base Classes
Name |
Description |
CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of the interface. |
Type Aliases
Name |
Description |
Signed type used to express the distance between iterators. |
|
Iterator category tag for this facade. |
|
Pointer type returned by the iterator. |
|
Reference type returned by the iterator. |
|
Value type produced by the iterator. |
Enums
Name |
Description |
Capability flags for the iterator category. |
Member Functions
Name |
Description |
|
Constructors |
Return the incoming basic block for the current MemoryPhi argument. |
|
Return the current access and translated memory location. |
|
Advance the iterator by |
|
Increment operators |
|
Retreat the iterator by |
|
Decrement operators |
|
Return a proxy pointer to the current element. |
|
Return a proxy to the element at offset |
|
Return true if this iterator is at the same position as |
|
Return true if this iterator is less than or equal to |
|
Return true if this iterator is greater than |
|
Return true if this iterator is greater than or equal to |
Using Declarations
Name |
Description |
Inherit the postfix increment from the facade base. |
Protected Types
Name |
Description |
Proxy that yields a pointer from a copied reference. |
|
Proxy that yields a reference from a copied iterator. |
Non-Member Functions
Name |
Description |
Return an iterator |
|
Return a range walking upward defs from |
|
Return the begin iterator for an upward defs walk of |
|
Return the end iterator for an upward defs walk. |
Created with MrDocs