|
LLVM
4.0.0
|
A simple AA result which uses scoped-noalias metadata to answer queries. More...
#include <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 (ImmutableCallSite CS, const MemoryLocation &Loc) |
| ModRefInfo | getModRefInfo (ImmutableCallSite CS1, ImmutableCallSite CS2) |
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 (ImmutableCallSite CS, unsigned ArgIdx) |
| FunctionModRefBehavior | getModRefBehavior (ImmutableCallSite CS) |
| FunctionModRefBehavior | getModRefBehavior (const Function *F) |
| ModRefInfo | getModRefInfo (ImmutableCallSite CS, const MemoryLocation &Loc) |
| ModRefInfo | getModRefInfo (ImmutableCallSite CS1, ImmutableCallSite CS2) |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::AAResultBase< ScopedNoAliasAAResult > | |
| AAResultBase () | |
| 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 26 of file ScopedNoAliasAA.h.
| AliasResult ScopedNoAliasAAResult::alias | ( | const MemoryLocation & | LocA, |
| const MemoryLocation & | LocB | ||
| ) |
Definition at line 75 of file ScopedNoAliasAA.cpp.
References llvm::MemoryLocation::AATags, llvm::AAResultBase< DerivedT >::alias(), EnableScopedNoAlias, llvm::NoAlias, llvm::AAMDNodes::NoAlias, and llvm::AAMDNodes::Scope.
| ModRefInfo ScopedNoAliasAAResult::getModRefInfo | ( | ImmutableCallSite | CS, |
| const MemoryLocation & | Loc | ||
| ) |
Definition at line 95 of file ScopedNoAliasAA.cpp.
References llvm::MemoryLocation::AATags, EnableScopedNoAlias, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), llvm::Instruction::getMetadata(), llvm::AAResultBase< DerivedT >::getModRefInfo(), llvm::LLVMContext::MD_alias_scope, llvm::LLVMContext::MD_noalias, llvm::MRI_NoModRef, llvm::AAMDNodes::NoAlias, and llvm::AAMDNodes::Scope.
| ModRefInfo ScopedNoAliasAAResult::getModRefInfo | ( | ImmutableCallSite | CS1, |
| ImmutableCallSite | CS2 | ||
| ) |
Definition at line 112 of file ScopedNoAliasAA.cpp.
References EnableScopedNoAlias, llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), llvm::Instruction::getMetadata(), llvm::AAResultBase< DerivedT >::getModRefInfo(), llvm::LLVMContext::MD_alias_scope, llvm::LLVMContext::MD_noalias, and llvm::MRI_NoModRef.
|
inline |
Handle invalidation events from the new pass manager.
By definition, this result is stateless and so remains valid.
Definition at line 33 of file ScopedNoAliasAA.h.
1.8.6