15 #ifndef LLVM_ANALYSIS_CFLSTEENSALIASANALYSIS_H 16 #define LLVM_ANALYSIS_CFLSTEENSALIASANALYSIS_H 26 #include <forward_list> 32 class TargetLibraryInfo;
82 if (isa<Constant>(LocA.
Ptr) && isa<Constant>(LocB.
Ptr))
101 std::forward_list<cflaa::FunctionHandle<CFLSteensAAResult>> Handles;
123 std::unique_ptr<CFLSteensAAResult> Result;
133 void initializePass()
override;
143 #endif // LLVM_ANALYSIS_CFLSTEENSALIASANALYSIS_H This class represents lattice values for constants.
bool invalidate(Function &, const PreservedAnalyses &, FunctionAnalysisManager::Invalidator &)
Handle invalidation events from the new pass manager.
A CRTP-driven "mixin" base class to help implement the function alias analysis results concept...
AliasSummary is just a collection of ExternalRelation and ExternalAttribute.
Legacy wrapper pass to provide the CFLSteensAAResult object.
AliasResult alias(const MemoryLocation &LocA, const MemoryLocation &LocB)
CFLSteensAAResult & getResult()
AliasResult
The possible results of an alias query.
const CFLSteensAAResult & getResult() const
A set of analyses that are preserved following a run of a transformation pass.
Analysis pass providing a never-invalidated alias analysis result.
A CRTP mix-in that provides informational APIs needed for analysis passes.
Represent the analysis usage information of a pass.
The two locations may or may not alias. This is the least precise result.
const Value * Ptr
The address of the start of the location.
Representation for a specific memory location.
The two locations precisely alias each other.
ImmutablePass class - This class is used to provide information that does not need to be run...
Provides information about what library functions are available for the current target.
AliasResult alias(const MemoryLocation &LocA, const MemoryLocation &LocB)
Information we have about a function and would like to keep around.
amdgpu Simplify well known AMD library false Value Value * Arg
This file provides utility analysis objects describing memory locations.
ImmutablePass * createCFLSteensAAWrapperPass()
API to communicate dependencies between analyses during invalidation.
A container for analyses that lazily runs them and caches their results.
This header defines various interfaces for pass management in LLVM.
A special type used by analysis passes to provide an address that identifies that particular analysis...
static Expected< BitVector > scan(StringRef &S, StringRef Original)