LLVM 22.0.0git
|
A simple alias analysis implementation that uses ScalarEvolution to answer queries. More...
#include "llvm/Analysis/ScalarEvolutionAliasAnalysis.h"
Public Member Functions | |
SCEVAAResult (ScalarEvolution &SE) | |
SCEVAAResult (SCEVAAResult &&Arg) | |
LLVM_ABI AliasResult | alias (const MemoryLocation &LocA, const MemoryLocation &LocB, AAQueryInfo &AAQI, const Instruction *CtxI) |
LLVM_ABI bool | invalidate (Function &F, const PreservedAnalyses &PA, FunctionAnalysisManager::Invalidator &Inv) |
Public Member Functions inherited from llvm::AAResultBase | |
AliasResult | alias (const MemoryLocation &LocA, const MemoryLocation &LocB, AAQueryInfo &AAQI, const Instruction *I) |
ModRefInfo | getModRefInfoMask (const MemoryLocation &Loc, AAQueryInfo &AAQI, bool IgnoreLocals) |
ModRefInfo | getArgModRefInfo (const CallBase *Call, unsigned ArgIdx) |
MemoryEffects | getMemoryEffects (const CallBase *Call, AAQueryInfo &AAQI) |
MemoryEffects | getMemoryEffects (const Function *F) |
ModRefInfo | getModRefInfo (const CallBase *Call, const MemoryLocation &Loc, AAQueryInfo &AAQI) |
ModRefInfo | getModRefInfo (const CallBase *Call1, const CallBase *Call2, AAQueryInfo &AAQI) |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::AAResultBase | |
AAResultBase ()=default | |
AAResultBase (const AAResultBase &Arg) | |
AAResultBase (AAResultBase &&Arg) |
A simple alias analysis implementation that uses ScalarEvolution to answer queries.
Definition at line 28 of file ScalarEvolutionAliasAnalysis.h.
|
inlineexplicit |
Definition at line 32 of file ScalarEvolutionAliasAnalysis.h.
Referenced by SCEVAAResult().
|
inline |
Definition at line 33 of file ScalarEvolutionAliasAnalysis.h.
References llvm::AAResultBase::AAResultBase(), llvm::move(), and SCEVAAResult().
AliasResult SCEVAAResult::alias | ( | const MemoryLocation & | LocA, |
const MemoryLocation & | LocB, | ||
AAQueryInfo & | AAQI, | ||
const Instruction * | CtxI ) |
Definition at line 36 of file ScalarEvolutionAliasAnalysis.cpp.
References llvm::MemoryLocation::AATags, alias(), llvm::LocationSize::beforeOrAfterPointer(), llvm::BitWidth, canComputePointerDiff(), llvm::SCEV::getType(), llvm::LocationSize::getValue(), llvm::LocationSize::hasValue(), llvm::isa(), llvm::LocationSize::isZero(), llvm::AliasResult::MayAlias, llvm::AliasResult::MustAlias, llvm::AliasResult::NoAlias, llvm::MemoryLocation::Ptr, llvm::MemoryLocation::Size, llvm::APInt::ule(), and llvm::MemoryLocation::UnknownSize.
Referenced by alias().
bool SCEVAAResult::invalidate | ( | Function & | F, |
const PreservedAnalyses & | PA, | ||
FunctionAnalysisManager::Invalidator & | Inv ) |
Definition at line 145 of file ScalarEvolutionAliasAnalysis.cpp.