LLVM
8.0.1
|
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) | |
AliasResult | alias (const MemoryLocation &LocA, const MemoryLocation &LocB) |
Public Member Functions inherited from llvm::AAResultBase< SCEVAAResult > | |
AliasResult | alias (const MemoryLocation &LocA, const MemoryLocation &LocB) |
bool | pointsToConstantMemory (const MemoryLocation &Loc, bool OrLocal) |
ModRefInfo | getArgModRefInfo (const CallBase *Call, unsigned ArgIdx) |
FunctionModRefBehavior | getModRefBehavior (const CallBase *Call) |
FunctionModRefBehavior | getModRefBehavior (const Function *F) |
ModRefInfo | getModRefInfo (const CallBase *Call, const MemoryLocation &Loc) |
ModRefInfo | getModRefInfo (const CallBase *Call1, const CallBase *Call2) |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::AAResultBase< SCEVAAResult > | |
AAResultBase ()=default | |
AAResultBase (const AAResultBase &Arg) | |
AAResultBase (AAResultBase &&Arg) | |
AAResultsProxy | getBestAAResults () |
Get a proxy for the best AA result set to query at this time. More... | |
A simple alias analysis implementation that uses ScalarEvolution to answer queries.
Definition at line 27 of file ScalarEvolutionAliasAnalysis.h.
|
inlineexplicit |
Definition at line 31 of file ScalarEvolutionAliasAnalysis.h.
Referenced by llvm::SCEVAA::run().
|
inline |
Definition at line 32 of file ScalarEvolutionAliasAnalysis.h.
References alias().
AliasResult SCEVAAResult::alias | ( | const MemoryLocation & | LocA, |
const MemoryLocation & | LocB | ||
) |
Definition at line 25 of file ScalarEvolutionAliasAnalysis.cpp.
References llvm::MemoryLocation::AATags, llvm::AAResultBase< DerivedT >::alias(), llvm::ScalarEvolution::getEffectiveSCEVType(), llvm::ScalarEvolution::getMinusSCEV(), llvm::ScalarEvolution::getSCEV(), llvm::SCEV::getType(), llvm::ScalarEvolution::getTypeSizeInBits(), llvm::ConstantRange::getUnsignedMax(), llvm::ConstantRange::getUnsignedMin(), llvm::ScalarEvolution::getUnsignedRange(), llvm::LocationSize::getValue(), llvm::LocationSize::hasValue(), llvm::Type::isPointerTy(), llvm::LocationSize::isZero(), llvm::MustAlias, llvm::NoAlias, llvm::MemoryLocation::Ptr, llvm::MemoryLocation::Size, llvm::LocationSize::unknown(), and llvm::MemoryLocation::UnknownSize.
Referenced by SCEVAAResult().