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

Name

Description

MemoryAccessSet

Small vector of MemoryAccess pointers returned by some walker queries.

Member Functions

Name

Description

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

Name

Description

MSSA

MemorySSA instance this walker is bound to.

Friends

Name

Description

llvm::MemorySSA

Encapsulates MemorySSA, including all data associated with memory accesses.

Derived Classes

Name

Description

DoNothingMemorySSAWalker

MemorySSAWalker that returns builder links without alias queries.

Created with MrDocs