|
LLVM
4.0.0
|
#include "llvm/IR/CallSite.h"#include "llvm/IR/Metadata.h"#include "llvm/IR/PassManager.h"#include "llvm/Analysis/MemoryLocation.h"#include "llvm/Analysis/TargetLibraryInfo.h"Go to the source code of this file.
Classes | |
| class | llvm::AAResults |
| class | llvm::AAResults::Concept |
| A private abstract base class describing the concept of an individual alias analysis implementation. More... | |
| class | llvm::AAResultBase< DerivedT > |
| A CRTP-driven "mixin" base class to help implement the function alias analysis results concept. More... | |
| class | llvm::AAResultBase< DerivedT >::AAResultsProxy |
This proxy class models a common pattern where we delegate to either the top-level AAResults aggregation if one is registered, or to the current result if none are registered. More... | |
| class | llvm::AAManager |
| A manager for alias analyses. More... | |
| class | llvm::AAResultsWrapperPass |
| A wrapper pass to provide the legacy pass manager access to a suitably prepared AAResults object. More... | |
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
Typedefs | |
| typedef AAResults | llvm::AliasAnalysis |
Temporary typedef for legacy code that uses a generic AliasAnalysis pointer or reference. More... | |
Enumerations | |
| enum | llvm::AliasResult { llvm::NoAlias = 0, llvm::MayAlias, llvm::PartialAlias, llvm::MustAlias } |
| The possible results of an alias query. More... | |
| enum | llvm::ModRefInfo { llvm::MRI_NoModRef = 0, llvm::MRI_Ref = 1, llvm::MRI_Mod = 2, llvm::MRI_ModRef = MRI_Ref | MRI_Mod } |
| Flags indicating whether a memory access modifies or references memory. More... | |
| enum | llvm::FunctionModRefLocation { llvm::FMRL_Nowhere = 0, llvm::FMRL_ArgumentPointees = 4, llvm::FMRL_InaccessibleMem = 8, llvm::FMRL_Anywhere = 16 | FMRL_InaccessibleMem | FMRL_ArgumentPointees } |
| The locations at which a function might access memory. More... | |
| enum | llvm::FunctionModRefBehavior { llvm::FMRB_DoesNotAccessMemory = FMRL_Nowhere | MRI_NoModRef, llvm::FMRB_OnlyReadsArgumentPointees = FMRL_ArgumentPointees | MRI_Ref, llvm::FMRB_OnlyAccessesArgumentPointees = FMRL_ArgumentPointees | MRI_ModRef, llvm::FMRB_OnlyAccessesInaccessibleMem = FMRL_InaccessibleMem | MRI_ModRef, llvm::FMRB_OnlyAccessesInaccessibleOrArgMem, llvm::FMRB_OnlyReadsMemory = FMRL_Anywhere | MRI_Ref, llvm::FMRB_DoesNotReadMemory = FMRL_Anywhere | MRI_Mod, llvm::FMRB_UnknownModRefBehavior = FMRL_Anywhere | MRI_ModRef } |
| Summary of how a function affects memory in the program. More... | |
Functions | |
| bool | llvm::isNoAliasCall (const Value *V) |
| Return true if this pointer is returned by a noalias function. More... | |
| bool | llvm::isNoAliasArgument (const Value *V) |
| Return true if this is an argument with the noalias attribute. More... | |
| bool | llvm::isIdentifiedObject (const Value *V) |
| Return true if this pointer refers to a distinct and identifiable object. More... | |
| bool | llvm::isIdentifiedFunctionLocal (const Value *V) |
| Return true if V is umabigously identified at the function-level. More... | |
| FunctionPass * | llvm::createAAResultsWrapperPass () |
| ImmutablePass * | llvm::createExternalAAWrapperPass (std::function< void(Pass &, Function &, AAResults &)> Callback) |
| A wrapper pass around a callback which can be used to populate the AAResults in the AAResultsWrapperPass from an external AA. More... | |
| AAResults | llvm::createLegacyPMAAResults (Pass &P, Function &F, BasicAAResult &BAR) |
A helper for the legacy pass manager to create a AAResults object populated to the best of our ability for a particular function when inside of a ModulePass or a CallGraphSCCPass. More... | |
| void | llvm::getAAResultsAnalysisUsage (AnalysisUsage &AU) |
A helper for the legacy pass manager to populate AU to add uses to make sure the analyses required by createLegacyPMAAResults are available. More... | |
1.8.6