LLVM  11.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)
 
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)
 

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

Constructor & Destructor Documentation

◆ BatchAAResults()

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

Definition at line 824 of file AliasAnalysis.h.

Member Function Documentation

◆ alias()

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

Definition at line 825 of file AliasAnalysis.h.

References llvm::AAResults::alias().

Referenced by lifetimeEndsAt().

◆ getArgModRefInfo()

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

Definition at line 844 of file AliasAnalysis.h.

References llvm::AAResults::getArgModRefInfo().

◆ getModRefBehavior()

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

Definition at line 847 of file AliasAnalysis.h.

References llvm::AAResults::getModRefBehavior().

◆ getModRefInfo() [1/4]

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

Definition at line 831 of file AliasAnalysis.h.

References llvm::AAResults::getModRefInfo().

◆ getModRefInfo() [2/4]

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

Definition at line 834 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 837 of file AliasAnalysis.h.

References llvm::AAResults::getModRefInfo().

◆ getModRefInfo() [4/4]

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

Definition at line 841 of file AliasAnalysis.h.

References llvm::AAResults::getModRefInfo().

◆ pointsToConstantMemory()

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

Definition at line 828 of file AliasAnalysis.h.

References llvm::AAResults::pointsToConstantMemory().


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