LLVM  14.0.0git
Public Member Functions | List of all members
llvm::BatchAAResults Class Reference

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"

Public Member Functions

 BatchAAResults (AAResults &AAR)
 
 BatchAAResults (AAResults &AAR, CaptureInfo *CI)
 
AliasResult alias (const MemoryLocation &LocA, const MemoryLocation &LocB)
 
bool pointsToConstantMemory (const MemoryLocation &Loc, bool OrLocal=false)
 
ModRefInfo getModRefInfo (const CallBase *Call, const MemoryLocation &Loc)
 
ModRefInfo getModRefInfo (const CallBase *Call1, const CallBase *Call2)
 
ModRefInfo getModRefInfo (const Instruction *I, const Optional< MemoryLocation > &OptLoc)
 
ModRefInfo getModRefInfo (Instruction *I, const CallBase *Call2)
 
ModRefInfo getArgModRefInfo (const CallBase *Call, unsigned ArgIdx)
 
FunctionModRefBehavior getModRefBehavior (const CallBase *Call)
 
bool isMustAlias (const MemoryLocation &LocA, const MemoryLocation &LocB)
 
bool isMustAlias (const Value *V1, const Value *V2)
 
ModRefInfo callCapturesBefore (const Instruction *I, const MemoryLocation &MemLoc, DominatorTree *DT)
 

Detailed Description

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 948 of file AliasAnalysis.h.

Constructor & Destructor Documentation

◆ BatchAAResults() [1/2]

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

Definition at line 954 of file AliasAnalysis.h.

◆ BatchAAResults() [2/2]

llvm::BatchAAResults::BatchAAResults ( AAResults AAR,
CaptureInfo CI 
)
inline

Definition at line 955 of file AliasAnalysis.h.

Member Function Documentation

◆ alias()

AliasResult llvm::BatchAAResults::alias ( const MemoryLocation LocA,
const MemoryLocation LocB 
)
inline

◆ callCapturesBefore()

ModRefInfo llvm::BatchAAResults::callCapturesBefore ( const Instruction I,
const MemoryLocation MemLoc,
DominatorTree DT 
)
inline

◆ getArgModRefInfo()

ModRefInfo llvm::BatchAAResults::getArgModRefInfo ( const CallBase Call,
unsigned  ArgIdx 
)
inline

Definition at line 976 of file AliasAnalysis.h.

References llvm::AAResults::getArgModRefInfo().

◆ getModRefBehavior()

FunctionModRefBehavior llvm::BatchAAResults::getModRefBehavior ( const CallBase Call)
inline

Definition at line 979 of file AliasAnalysis.h.

References llvm::AAResults::getModRefBehavior().

◆ getModRefInfo() [1/4]

ModRefInfo llvm::BatchAAResults::getModRefInfo ( const CallBase Call,
const MemoryLocation Loc 
)
inline

◆ getModRefInfo() [2/4]

ModRefInfo llvm::BatchAAResults::getModRefInfo ( const CallBase Call1,
const CallBase Call2 
)
inline

Definition at line 966 of file AliasAnalysis.h.

References llvm::AAResults::getModRefInfo().

◆ getModRefInfo() [3/4]

ModRefInfo llvm::BatchAAResults::getModRefInfo ( const Instruction I,
const Optional< MemoryLocation > &  OptLoc 
)
inline

Definition at line 969 of file AliasAnalysis.h.

References llvm::AAResults::getModRefInfo(), and I.

◆ getModRefInfo() [4/4]

ModRefInfo llvm::BatchAAResults::getModRefInfo ( Instruction I,
const CallBase Call2 
)
inline

Definition at line 973 of file AliasAnalysis.h.

References llvm::AAResults::getModRefInfo(), and I.

◆ isMustAlias() [1/2]

bool llvm::BatchAAResults::isMustAlias ( const MemoryLocation LocA,
const MemoryLocation LocB 
)
inline

◆ isMustAlias() [2/2]

bool llvm::BatchAAResults::isMustAlias ( const Value V1,
const Value V2 
)
inline

◆ pointsToConstantMemory()

bool llvm::BatchAAResults::pointsToConstantMemory ( const MemoryLocation Loc,
bool  OrLocal = false 
)
inline

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