LLVM: llvm::BatchAAResults Class Reference (original) (raw)

This class is a wrapper over an AAResults, and it is intended to be used only when there are no IR changes inbetween queries. More...

#include "[llvm/Analysis/AliasAnalysis.h](AliasAnalysis%5F8h%5Fsource.html)"

Public Member Functions
BatchAAResults (AAResults &AAR)
BatchAAResults (AAResults &AAR, CaptureAnalysis *CA)
AliasResult alias (const MemoryLocation &LocA, const MemoryLocation &LocB)
bool pointsToConstantMemory (const MemoryLocation &Loc, bool OrLocal=false)
bool pointsToConstantMemory (const Value *P, bool OrLocal=false)
ModRefInfo getModRefInfoMask (const MemoryLocation &Loc, bool IgnoreLocals=false)
ModRefInfo getModRefInfo (const Instruction *I, const std::optional< MemoryLocation > &OptLoc)
ModRefInfo getModRefInfo (const Instruction *I, const CallBase *Call2)
ModRefInfo getArgModRefInfo (const CallBase *Call, unsigned ArgIdx)
MemoryEffects getMemoryEffects (const CallBase *Call)
bool isMustAlias (const MemoryLocation &LocA, const MemoryLocation &LocB)
bool isMustAlias (const Value *V1, const Value *V2)
bool isNoAlias (const MemoryLocation &LocA, const MemoryLocation &LocB)
ModRefInfo callCapturesBefore (const Instruction *I, const MemoryLocation &MemLoc, DominatorTree *DT)
void enableCrossIterationMode ()
Assume that values may come from different cycle iterations.
void disableDominatorTree ()
Disable the use of the dominator tree during alias analysis queries.

This class is a wrapper over an AAResults, and it is intended to be used only when there are no IR changes inbetween queries.

BatchAAResults is reusing the same AAQueryInfo to preserve the state across queries, esentially making AA work in "batch mode". The internal state cannot be cleared, so to go "out-of-batch-mode", the user must either use AAResults, or create a new BatchAAResults.

Definition at line 657 of file AliasAnalysis.h.

llvm::BatchAAResults::BatchAAResults ( AAResults & AAR) inline

BatchAAResults() [2/2]

alias()

callCapturesBefore()

disableDominatorTree()

void llvm::BatchAAResults::disableDominatorTree ( ) inline

enableCrossIterationMode()

void llvm::BatchAAResults::enableCrossIterationMode ( ) inline

getArgModRefInfo()

getMemoryEffects()

getModRefInfo() [1/2]

getModRefInfo() [2/2]

getModRefInfoMask()

isMustAlias() [1/2]

isMustAlias() [2/2]

isNoAlias()

pointsToConstantMemory() [1/2]

pointsToConstantMemory() [2/2]

bool llvm::BatchAAResults::pointsToConstantMemory ( const Value * P, bool OrLocal = false ) inline

The documentation for this class was generated from the following file: