24 "LibCall Alias Analysis",
false,
true,
false)
47 const Location &Loc) {
51 if (MRInfo ==
NoModRef)
return MRInfo;
66 for (
unsigned i = 0; Details[i].
LocationID != ~0U; ++i) {
86 bool NoneMatch =
true;
87 for (
unsigned i = 0; Details[i].
LocationID != ~0U; ++i) {
129 MRInfo =
ModRefResult(MRInfo & AnalyzeLibCallDetails(FI, CS, Loc));
const LibCallFunctionInfo * getFunctionInfo(const Function *F) const
ModRefResult getModRefInfo(const Instruction *I, const Location &Loc)
const LocationMRInfo * LocationDetails
INITIALIZE_AG_PASS(LibCallAliasAnalysis, AliasAnalysis,"libcall-aa","LibCall Alias Analysis", false, true, false) FunctionPass *llvm
LocResult(* isLocation)(ImmutableCallSite CS, const AliasAnalysis::Location &Loc)
FunctionPass * createLibCallAliasAnalysisPass(LibCallInfo *LCI)
unsigned LocationID
LocationID - ID # of the accessed location or ~0U for array end.
enum llvm::LibCallFunctionInfo::@26 DetailsType
AliasAnalysis::ModRefResult UniversalBehavior
TODO: Constant folding function: Constant* vector -> Constant*.
Location - A description of a memory location.
ImmutableCallSite - establish a view to a call site for examination.
ModRefResult getModRefInfo(ImmutableCallSite CS, const Location &Loc)
virtual void getAnalysisUsage(AnalysisUsage &AU) const
const LibCallLocationInfo & getLocationInfo(unsigned LocID) const
getLocationInfo - Return information about the specified LocationID.
LibCallAliasAnalysis - Alias analysis driven from LibCallInfo.
virtual void getAnalysisUsage(AnalysisUsage &AU) const
FunTy * getCalledFunction() const