|
LLVM 24.0.0git
|
A base class to help implement the function alias analysis results concept. More...
#include "llvm/Analysis/AliasAnalysis.h"
Public Member Functions | |
| AliasResult | alias (const MemoryLocation &LocA, const MemoryLocation &LocB, AAQueryInfo &AAQI, const Instruction *I) |
| AliasResult | aliasErrno (const MemoryLocation &Loc, const Instruction *CtxI) |
| ModRefInfo | getModRefInfoMask (const MemoryLocation &Loc, AAQueryInfo &AAQI, bool IgnoreLocals) |
| ModRefInfo | getArgModRefInfo (const CallBase *Call, unsigned ArgIdx) |
| MemoryEffects | getMemoryEffects (const CallBase *Call, AAQueryInfo &AAQI) |
| MemoryEffects | getMemoryEffects (const Function *F) |
| ModRefInfo | getModRefInfo (const CallBase *Call, const MemoryLocation &Loc, AAQueryInfo &AAQI) |
| ModRefInfo | getModRefInfo (const CallBase *Call1, const CallBase *Call2, AAQueryInfo &AAQI) |
| ModRefInfo | getModRefInfo (const FenceInst *F, const MemoryLocation &Loc, AAQueryInfo &AAQI) |
Protected Member Functions | |
| AAResultBase ()=default | |
| AAResultBase (const AAResultBase &Arg)=default | |
| AAResultBase (AAResultBase &&Arg) | |
A base class to help implement the function alias analysis results concept.
Because of the nature of many alias analysis implementations, they often only implement a subset of the interface. This base class will attempt to implement the remaining portions of the interface in terms of simpler forms of the interface where possible, and otherwise provide conservatively correct fallback implementations.
Implementors of an alias analysis should derive from this class, and then override specific methods that they wish to customize. There is no need to use virtual anywhere.
Definition at line 841 of file AliasAnalysis.h.
|
explicitprotecteddefault |
Referenced by AAResultBase(), AAResultBase(), llvm::AMDGPUAAResult::AMDGPUAAResult(), llvm::BasicAAResult::BasicAAResult(), llvm::BasicAAResult::BasicAAResult(), llvm::GlobalsAAResult::GlobalsAAResult(), llvm::NVPTXAAResult::NVPTXAAResult(), llvm::objcarc::ObjCARCAAResult::ObjCARCAAResult(), and llvm::SCEVAAResult::SCEVAAResult().
|
protecteddefault |
References AAResultBase().
|
inlineprotected |
Definition at line 848 of file AliasAnalysis.h.
References AAResultBase().
|
inline |
Definition at line 851 of file AliasAnalysis.h.
References I, and llvm::AliasResult::MayAlias.
Referenced by llvm::objcarc::ObjCARCAAResult::alias().
|
inline |
Definition at line 856 of file AliasAnalysis.h.
References llvm::AliasResult::MayAlias.
|
inline |
Definition at line 865 of file AliasAnalysis.h.
References Call, and llvm::ModRef.
|
inline |
Definition at line 869 of file AliasAnalysis.h.
References Call, and llvm::MemoryEffectsBase< IRMemLocation >::unknown().
Referenced by llvm::objcarc::ObjCARCAAResult::getMemoryEffects(), and llvm::GlobalsAAResult::~GlobalsAAResult().
|
inline |
Definition at line 873 of file AliasAnalysis.h.
References F, and llvm::MemoryEffectsBase< IRMemLocation >::unknown().
|
inline |
Definition at line 877 of file AliasAnalysis.h.
References Call, and llvm::ModRef.
Referenced by llvm::objcarc::ObjCARCAAResult::getModRefInfo(), and llvm::GlobalsAAResult::~GlobalsAAResult().
|
inline |
Definition at line 882 of file AliasAnalysis.h.
References llvm::ModRef.
|
inline |
Definition at line 887 of file AliasAnalysis.h.
References F, and llvm::ModRef.
|
inline |
Definition at line 860 of file AliasAnalysis.h.
References llvm::ModRef.
Referenced by llvm::objcarc::ObjCARCAAResult::getModRefInfoMask().