class AAResults::Concept
Declaration
class AAResults::Concept { /* full declaration omitted */ };
Description
A private abstract base class describing the concept of an individual alias analysis implementation. This interface is implemented by any \c Model instantiation. It is also the interface which a type used to instantiate the model must provide. All of these methods model methods by the same name in the \c AAResults class. Only differences and specifics to how the implementations are called are documented here.
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:1013
Method Overview
- public virtual llvm::AliasResult alias(const llvm::MemoryLocation & LocA, const llvm::MemoryLocation & LocB, llvm::AAQueryInfo & AAQI)
- public virtual llvm::ModRefInfo getArgModRefInfo(const llvm::CallBase * Call, unsigned int ArgIdx)
- public virtual llvm::FunctionModRefBehavior getModRefBehavior(const llvm::CallBase * Call)
- public virtual llvm::FunctionModRefBehavior getModRefBehavior(const llvm::Function * F)
- public virtual llvm::ModRefInfo getModRefInfo(const llvm::CallBase * Call, const llvm::MemoryLocation & Loc, llvm::AAQueryInfo & AAQI)
- public virtual llvm::ModRefInfo getModRefInfo(const llvm::CallBase * Call1, const llvm::CallBase * Call2, llvm::AAQueryInfo & AAQI)
- public virtual bool pointsToConstantMemory(const llvm::MemoryLocation & Loc, llvm::AAQueryInfo & AAQI, bool OrLocal)
- public virtual void setAAResults(llvm::AAResults * NewAAR)
- public virtual ~Concept()
Methods
¶virtual llvm::AliasResult alias(
const llvm::MemoryLocation& LocA,
const llvm::MemoryLocation& LocB,
llvm::AAQueryInfo& AAQI)
virtual llvm::AliasResult alias(
const llvm::MemoryLocation& LocA,
const llvm::MemoryLocation& LocB,
llvm::AAQueryInfo& AAQI)
Description
The main low level interface to the alias analysis implementation. Returns an AliasResult indicating whether the two pointers are aliased to each other. This is the interface that must be implemented by specific alias analysis implementations.
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:1029
Parameters
- const llvm::MemoryLocation& LocA
- const llvm::MemoryLocation& LocB
- llvm::AAQueryInfo& AAQI
¶virtual llvm::ModRefInfo getArgModRefInfo(
const llvm::CallBase* Call,
unsigned int ArgIdx)
virtual llvm::ModRefInfo getArgModRefInfo(
const llvm::CallBase* Call,
unsigned int ArgIdx)
Description
Get the ModRef info associated with a pointer argument of a callsite. The result's bits are set to indicate the allowed aliasing ModRef kinds. Note that these bits do not necessarily account for the overall behavior of the function, but rather only provide additional per-argument information.
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:1047
Parameters
- const llvm::CallBase* Call
- unsigned int ArgIdx
¶virtual llvm::FunctionModRefBehavior
getModRefBehavior(const llvm::CallBase* Call)
virtual llvm::FunctionModRefBehavior
getModRefBehavior(const llvm::CallBase* Call)
Description
Return the behavior of the given call site.
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:1051
Parameters
- const llvm::CallBase* Call
¶virtual llvm::FunctionModRefBehavior
getModRefBehavior(const llvm::Function* F)
virtual llvm::FunctionModRefBehavior
getModRefBehavior(const llvm::Function* F)
Description
Return the behavior when calling the given function.
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:1054
Parameters
- const llvm::Function* F
¶virtual llvm::ModRefInfo getModRefInfo(
const llvm::CallBase* Call,
const llvm::MemoryLocation& Loc,
llvm::AAQueryInfo& AAQI)
virtual llvm::ModRefInfo getModRefInfo(
const llvm::CallBase* Call,
const llvm::MemoryLocation& Loc,
llvm::AAQueryInfo& AAQI)
Description
getModRefInfo (for call sites) - Return information about whether a particular call site modifies or reads the specified memory location.
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:1058
Parameters
- const llvm::CallBase* Call
- const llvm::MemoryLocation& Loc
- llvm::AAQueryInfo& AAQI
¶virtual llvm::ModRefInfo getModRefInfo(
const llvm::CallBase* Call1,
const llvm::CallBase* Call2,
llvm::AAQueryInfo& AAQI)
virtual llvm::ModRefInfo getModRefInfo(
const llvm::CallBase* Call1,
const llvm::CallBase* Call2,
llvm::AAQueryInfo& AAQI)
Description
Return information about whether two call sites may refer to the same set of memory locations. See the AA documentation for details: http://llvm.org/docs/AliasAnalysis.html#ModRefInfo
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:1065
Parameters
- const llvm::CallBase* Call1
- const llvm::CallBase* Call2
- llvm::AAQueryInfo& AAQI
¶virtual bool pointsToConstantMemory(
const llvm::MemoryLocation& Loc,
llvm::AAQueryInfo& AAQI,
bool OrLocal)
virtual bool pointsToConstantMemory(
const llvm::MemoryLocation& Loc,
llvm::AAQueryInfo& AAQI,
bool OrLocal)
Description
Checks whether the given location points to constant memory, or if\p OrLocal is true whether it points to a local alloca.
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:1034
Parameters
- const llvm::MemoryLocation& Loc
- llvm::AAQueryInfo& AAQI
- bool OrLocal
¶virtual void setAAResults(llvm::AAResults* NewAAR)
virtual void setAAResults(llvm::AAResults* NewAAR)
Description
An update API used internally by the AAResults to provide a handle back to the top level aggregation.
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:1019
Parameters
- llvm::AAResults* NewAAR
¶virtual ~Concept()
virtual ~Concept()
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:1015