LLVM  16.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 getModRefInfoMask (const MemoryLocation &Loc, bool IgnoreLocals=false)
 
ModRefInfo getModRefInfo (const Instruction *I, const 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)
 
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 609 of file AliasAnalysis.h.

Constructor & Destructor Documentation

◆ BatchAAResults() [1/2]

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

Definition at line 615 of file AliasAnalysis.h.

◆ BatchAAResults() [2/2]

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

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

References llvm::AAResults::getArgModRefInfo().

◆ getMemoryEffects()

MemoryEffects llvm::BatchAAResults::getMemoryEffects ( const CallBase Call)
inline

Definition at line 638 of file AliasAnalysis.h.

References llvm::AAResults::getMemoryEffects().

◆ getModRefInfo() [1/2]

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

Definition at line 632 of file AliasAnalysis.h.

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

◆ getModRefInfo() [2/2]

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

◆ getModRefInfoMask()

ModRefInfo llvm::BatchAAResults::getModRefInfoMask ( const MemoryLocation Loc,
bool  IgnoreLocals = false 
)
inline

◆ 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

Definition at line 621 of file AliasAnalysis.h.

References llvm::AAResults::pointsToConstantMemory().


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