llvm::MemorySSAWalker

Generic walker interface for further disambiguating MemorySSA def-use chains.

Synopsis

Declared in <llvm/Analysis/MemorySSA.h>

class MemorySSAWalker;

Description

Walkers are used to be able to further disambiguate the def-use chains MemorySSA gives you, or otherwise produce better info than MemorySSA gives you. In particular, while the def-use chains provide basic information, and are guaranteed to give, for example, the nearest may-aliasing MemoryDef for a MemoryUse as AliasAnalysis considers it, a user mant want better or other information. In particular, they may want to use SCEV info to further disambiguate memory accesses, or they may want the nearest dominating may-aliasing MemoryDef for a call or a store. This API enables a standardized interface to getting and using that info.

Type Aliases

NameDescription
MemoryAccessSet Small vector of MemoryAccess pointers returned by some walker queries.

Member Functions

NameDescription
MemorySSAWalker [constructor]Construct a walker bound to MemorySSA instance MSSA.
~MemorySSAWalker [destructor] [virtual]Destroy this walker.
getClobberingMemoryAccess getClobberingMemoryAccess overloads
invalidateInfo [virtual]Invalidate cached walker info for memory access MA.

Protected Data Members

NameDescription
MSSA MemorySSA instance this walker is bound to.

Friends

NameDescription
llvm::MemorySSAEncapsulates MemorySSA, including all data associated with memory accesses.

Derived Classes

NameDescription
DoNothingMemorySSAWalker MemorySSAWalker that returns builder links without alias queries.