|
LLVM
8.0.1
|
A simple AA result which uses scoped-noalias metadata to answer queries. More...
#include "llvm/Analysis/ScopedNoAliasAA.h"


Public Member Functions | |
| bool | invalidate (Function &, const PreservedAnalyses &, FunctionAnalysisManager::Invalidator &) |
| Handle invalidation events from the new pass manager. More... | |
| AliasResult | alias (const MemoryLocation &LocA, const MemoryLocation &LocB) |
| ModRefInfo | getModRefInfo (const CallBase *Call, const MemoryLocation &Loc) |
| ModRefInfo | getModRefInfo (const CallBase *Call1, const CallBase *Call2) |
Public Member Functions inherited from llvm::AAResultBase< ScopedNoAliasAAResult > | |
| AliasResult | alias (const MemoryLocation &LocA, const MemoryLocation &LocB) |
| bool | pointsToConstantMemory (const MemoryLocation &Loc, bool OrLocal) |
| ModRefInfo | getArgModRefInfo (const CallBase *Call, unsigned ArgIdx) |
| FunctionModRefBehavior | getModRefBehavior (const CallBase *Call) |
| FunctionModRefBehavior | getModRefBehavior (const Function *F) |
| ModRefInfo | getModRefInfo (const CallBase *Call, const MemoryLocation &Loc) |
| ModRefInfo | getModRefInfo (const CallBase *Call1, const CallBase *Call2) |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::AAResultBase< ScopedNoAliasAAResult > | |
| AAResultBase ()=default | |
| AAResultBase (const AAResultBase &Arg) | |
| AAResultBase (AAResultBase &&Arg) | |
| AAResultsProxy | getBestAAResults () |
| Get a proxy for the best AA result set to query at this time. More... | |
A simple AA result which uses scoped-noalias metadata to answer queries.
Definition at line 31 of file ScopedNoAliasAA.h.
| AliasResult ScopedNoAliasAAResult::alias | ( | const MemoryLocation & | LocA, |
| const MemoryLocation & | LocB | ||
| ) |
Definition at line 78 of file ScopedNoAliasAA.cpp.
References llvm::MemoryLocation::AATags, llvm::AAResultBase< DerivedT >::alias(), EnableScopedNoAlias, llvm::NoAlias, llvm::AAMDNodes::NoAlias, and llvm::AAMDNodes::Scope.
Referenced by invalidate().
| ModRefInfo ScopedNoAliasAAResult::getModRefInfo | ( | const CallBase * | Call, |
| const MemoryLocation & | Loc | ||
| ) |
Definition at line 98 of file ScopedNoAliasAA.cpp.
References llvm::MemoryLocation::AATags, EnableScopedNoAlias, llvm::Instruction::getMetadata(), llvm::AAResultBase< DerivedT >::getModRefInfo(), llvm::LLVMContext::MD_alias_scope, llvm::LLVMContext::MD_noalias, llvm::AAMDNodes::NoAlias, llvm::NoModRef, and llvm::AAMDNodes::Scope.
Referenced by invalidate().
| ModRefInfo ScopedNoAliasAAResult::getModRefInfo | ( | const CallBase * | Call1, |
| const CallBase * | Call2 | ||
| ) |
Definition at line 114 of file ScopedNoAliasAA.cpp.
References EnableScopedNoAlias, llvm::Instruction::getMetadata(), llvm::AAResultBase< DerivedT >::getModRefInfo(), llvm::LLVMContext::MD_alias_scope, llvm::LLVMContext::MD_noalias, and llvm::NoModRef.
|
inline |
Handle invalidation events from the new pass manager.
By definition, this result is stateless and so remains valid.
Definition at line 38 of file ScopedNoAliasAA.h.
References alias(), getModRefInfo(), and llvm::NoAlias.
1.8.13