class BatchAAResults
Declaration
class BatchAAResults { /* full declaration omitted */ };
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.
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:777
Method Overview
- public BatchAAResults(llvm::AAResults & AAR)
- public llvm::AliasResult alias(const llvm::MemoryLocation & LocA, const llvm::MemoryLocation & LocB)
- public llvm::ModRefInfo getArgModRefInfo(const llvm::CallBase * Call, unsigned int ArgIdx)
- public llvm::FunctionModRefBehavior getModRefBehavior(const llvm::CallBase * Call)
- public llvm::ModRefInfo getModRefInfo(const llvm::CallBase * Call, const llvm::MemoryLocation & Loc)
- public llvm::ModRefInfo getModRefInfo(const llvm::CallBase * Call1, const llvm::CallBase * Call2)
- public llvm::ModRefInfo getModRefInfo(const llvm::Instruction * I, const Optional<llvm::MemoryLocation> & OptLoc)
- public llvm::ModRefInfo getModRefInfo(llvm::Instruction * I, const llvm::CallBase * Call2)
- public bool pointsToConstantMemory(const llvm::MemoryLocation & Loc, bool OrLocal = false)
Methods
¶BatchAAResults(llvm::AAResults& AAR)
BatchAAResults(llvm::AAResults& AAR)
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:782
Parameters
- llvm::AAResults& AAR
¶llvm::AliasResult alias(
const llvm::MemoryLocation& LocA,
const llvm::MemoryLocation& LocB)
llvm::AliasResult alias(
const llvm::MemoryLocation& LocA,
const llvm::MemoryLocation& LocB)
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:783
Parameters
- const llvm::MemoryLocation& LocA
- const llvm::MemoryLocation& LocB
¶llvm::ModRefInfo getArgModRefInfo(
const llvm::CallBase* Call,
unsigned int ArgIdx)
llvm::ModRefInfo getArgModRefInfo(
const llvm::CallBase* Call,
unsigned int ArgIdx)
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:802
Parameters
- const llvm::CallBase* Call
- unsigned int ArgIdx
¶llvm::FunctionModRefBehavior getModRefBehavior(
const llvm::CallBase* Call)
llvm::FunctionModRefBehavior getModRefBehavior(
const llvm::CallBase* Call)
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:805
Parameters
- const llvm::CallBase* Call
¶llvm::ModRefInfo getModRefInfo(
const llvm::CallBase* Call,
const llvm::MemoryLocation& Loc)
llvm::ModRefInfo getModRefInfo(
const llvm::CallBase* Call,
const llvm::MemoryLocation& Loc)
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:789
Parameters
- const llvm::CallBase* Call
- const llvm::MemoryLocation& Loc
¶llvm::ModRefInfo getModRefInfo(
const llvm::CallBase* Call1,
const llvm::CallBase* Call2)
llvm::ModRefInfo getModRefInfo(
const llvm::CallBase* Call1,
const llvm::CallBase* Call2)
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:792
Parameters
- const llvm::CallBase* Call1
- const llvm::CallBase* Call2
¶llvm::ModRefInfo getModRefInfo(
const llvm::Instruction* I,
const Optional<llvm::MemoryLocation>& OptLoc)
llvm::ModRefInfo getModRefInfo(
const llvm::Instruction* I,
const Optional<llvm::MemoryLocation>& OptLoc)
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:795
Parameters
- const llvm::Instruction* I
- const Optional<llvm::MemoryLocation>& OptLoc
¶llvm::ModRefInfo getModRefInfo(
llvm::Instruction* I,
const llvm::CallBase* Call2)
llvm::ModRefInfo getModRefInfo(
llvm::Instruction* I,
const llvm::CallBase* Call2)
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:799
Parameters
- llvm::Instruction* I
- const llvm::CallBase* Call2
¶bool pointsToConstantMemory(
const llvm::MemoryLocation& Loc,
bool OrLocal = false)
bool pointsToConstantMemory(
const llvm::MemoryLocation& Loc,
bool OrLocal = false)
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:786
Parameters
- const llvm::MemoryLocation& Loc
- bool OrLocal = false