22 #ifndef LLVM_ANALYSIS_OBJCARCALIASANALYSIS_H 23 #define LLVM_ANALYSIS_OBJCARCALIASANALYSIS_H 81 std::unique_ptr<ObjCARCAAResult> Result;
91 bool doInitialization(
Module &M)
override;
92 bool doFinalization(
Module &M)
override;
A parsed version of the target data layout string in and methods for querying it. ...
bool pointsToConstantMemory(const MemoryLocation &Loc, AAQueryInfo &AAQI, bool OrLocal)
This class represents lattice values for constants.
ObjCARCAAResult(ObjCARCAAResult &&Arg)
A Module instance is used to store all the information related to an LLVM module. ...
This class stores info we want to provide to or retain within an alias query.
FunctionModRefBehavior getModRefBehavior(const CallBase *Call)
Base class for all callable instructions (InvokeInst and CallInst) Holds everything related to callin...
AliasResult alias(const MemoryLocation &LocA, const MemoryLocation &LocB, AAQueryInfo &AAQI)
A CRTP-driven "mixin" base class to help implement the function alias analysis results concept...
FunctionModRefBehavior
Summary of how a function affects memory in the program.
FunctionModRefBehavior getModRefBehavior(const Function *F)
AliasResult
The possible results of an alias query.
A set of analyses that are preserved following a run of a transformation pass.
A CRTP mix-in that provides informational APIs needed for analysis passes.
Represent the analysis usage information of a pass.
bool invalidate(Function &, const PreservedAnalyses &, FunctionAnalysisManager::Invalidator &)
Handle invalidation events from the new pass manager.
amdgpu Simplify well known AMD library false FunctionCallee Value * Arg
ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc, AAQueryInfo &AAQI)
Representation for a specific memory location.
ImmutablePass class - This class is used to provide information that does not need to be run...
const ObjCARCAAResult & getResult() const
This is a simple alias analysis implementation that uses knowledge of ARC constructs to answer querie...
ObjCARCAAResult & getResult()
API to communicate dependencies between analyses during invalidation.
ObjCARCAAResult(const DataLayout &DL)
Legacy wrapper pass to provide the ObjCARCAAResult object.
ModRefInfo
Flags indicating whether a memory access modifies or references memory.
A container for analyses that lazily runs them and caches their results.
Analysis pass providing a never-invalidated alias analysis result.
ModRefInfo getModRefInfo(const CallBase *Call, const MemoryLocation &Loc, AAQueryInfo &AAQI)
A special type used by analysis passes to provide an address that identifies that particular analysis...