LLVM
8.0.1
|
A private abstract base class describing the concept of an individual alias analysis implementation. More...
#include "llvm/Analysis/AliasAnalysis.h"
Public Member Functions | |
virtual | ~Concept ()=0 |
virtual void | setAAResults (AAResults *NewAAR)=0 |
An update API used internally by the AAResults to provide a handle back to the top level aggregation. More... | |
Alias Queries | |
virtual AliasResult | alias (const MemoryLocation &LocA, const MemoryLocation &LocB)=0 |
The main low level interface to the alias analysis implementation. More... | |
virtual bool | pointsToConstantMemory (const MemoryLocation &Loc, bool OrLocal)=0 |
Checks whether the given location points to constant memory, or if OrLocal is true whether it points to a local alloca. More... | |
Simple mod/ref information | |
virtual ModRefInfo | getArgModRefInfo (const CallBase *Call, unsigned ArgIdx)=0 |
Get the ModRef info associated with a pointer argument of a callsite. More... | |
virtual FunctionModRefBehavior | getModRefBehavior (const CallBase *Call)=0 |
Return the behavior of the given call site. More... | |
virtual FunctionModRefBehavior | getModRefBehavior (const Function *F)=0 |
Return the behavior when calling the given function. More... | |
virtual ModRefInfo | getModRefInfo (const CallBase *Call, const MemoryLocation &Loc)=0 |
getModRefInfo (for call sites) - Return information about whether a particular call site modifies or reads the specified memory location. More... | |
virtual ModRefInfo | getModRefInfo (const CallBase *Call1, const CallBase *Call2)=0 |
Return information about whether two call sites may refer to the same set of memory locations. More... | |
A private abstract base class describing the concept of an individual alias analysis implementation.
This interface is implemented by any 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 AAResults
class. Only differences and specifics to how the implementations are called are documented here.
Definition at line 721 of file AliasAnalysis.h.
|
pure virtualdefault |
Referenced by llvm::AAResults::canInstructionRangeModRef().
|
pure virtual |
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.
|
pure virtual |
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.
|
pure virtual |
Return the behavior of the given call site.
|
pure virtual |
Return the behavior when calling the given function.
|
pure virtual |
getModRefInfo (for call sites) - Return information about whether a particular call site modifies or reads the specified memory location.
|
pure virtual |
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
|
pure virtual |
Checks whether the given location points to constant memory, or if OrLocal
is true whether it points to a local alloca.
|
pure virtual |
An update API used internally by the AAResults to provide a handle back to the top level aggregation.