Encapsulates MemorySSA, including all data associated with memory accesses.
Declared in <llvm/Analysis/MemorySSA.h>
class MemorySSA;
| Name | Description |
|---|---|
AccessList | Intrusive list of all MemoryAccesses in a block. |
DefsList | Intrusive list of MemoryDefs and MemoryPhis in a block. |
| Name | Description |
|---|---|
InsertionPlace | Used in various insertion functions to specify whether we are talking about the beginning or end of a block. |
VerificationLevel | How thoroughly verifyMemorySSA should check consistency. |
| Name | Description |
|---|---|
MemorySSA [constructor] | Constructors |
~MemorySSA [destructor] | Destroy this MemorySSA instance and its owned accesses. |
dominates | dominates overloads |
dump | Dump MemorySSA to stderr for debugging. |
ensureOptimizedUses | Optimize MemoryUses for this MemorySSA instance if not already done. |
getAA | Return the alias analysis used to build this MemorySSA. |
getBlockAccesses | Return the list of MemoryAccess's for a given basic block. |
getBlockDefs | Return the list of MemoryDef's and MemoryPhi's for a given basic block. |
getDomTree | Return the dominator tree associated with this MemorySSA. |
getLiveOnEntryDef | Return the live-on-entry MemoryDef for this function or loop. |
getMemoryAccess | getMemoryAccess overloads |
getSkipSelfWalker | Return a walker that skips the starting access when querying clobbers. |
getWalker | Return the primary MemorySSAWalker for clobber queries. |
isLiveOnEntryDef | Return true if MA represents the live on entry value |
locallyDominates | Given two memory accesses in the same basic block, determine whether MemoryAccess A dominates MemoryAccess B. |
print | Print MemorySSA to OS. |
verifyMemorySSA | Verify that MemorySSA is self consistent (IE definitions dominate all uses, uses appear in the right places). This is used by unit tests. |
| Name | Description |
|---|---|
createDefinedAccess | Create a MemoryUse or MemoryDef for instruction I. |
insertIntoListsBefore | Insert MA into block BB's lists before iterator It. |
insertIntoListsForBlock | Insert MA into the lists for block BB at Point. |
moveTo | moveTo overloads |
removeFromLists | Remove MA from block lists, optionally deleting it. |
removeFromLookups | Remove MA from value and block lookup maps. |
renamePass | Rename MemorySSA along the dominator subtree rooted at BB. |
verifyDominationNumbers | Verify per-block domination numbering over Blocks. |
verifyOrderingDominationAndDefUses | Verify ordering, domination, and def-use links over Blocks. |
verifyPrevDefInPhis | Verify that MemoryPhi previous defs are consistent over Blocks. |
| Name | Description |
|---|---|
llvm::MemorySSAUpdater | Automatic updater that inserts, deletes, and moves MemorySSA accesses. |