Home | History | Annotate | Download | only in Analysis

Lines Matching refs:AliasAnalysis

1 //===- AliasAnalysis.cpp - Generic Alias Analysis Interface Implementation -==//
10 // This file implements the generic AliasAnalysis interface which is used as the
13 // This file also implements the default version of the AliasAnalysis interface
27 #include "llvm/Analysis/AliasAnalysis.h"
38 // Register the AliasAnalysis interface, providing a nice name to refer to.
39 INITIALIZE_ANALYSIS_GROUP(AliasAnalysis, "Alias Analysis", NoAA)
40 char AliasAnalysis::ID = 0;
46 AliasAnalysis::AliasResult
47 AliasAnalysis::alias(const Location &LocA, const Location &LocB) {
52 bool AliasAnalysis::pointsToConstantMemory(const Location &Loc,
58 void AliasAnalysis::deleteValue(Value *V) {
63 void AliasAnalysis::copyValue(Value *From, Value *To) {
68 void AliasAnalysis::addEscapingUse(Use &U) {
74 AliasAnalysis::ModRefResult
75 AliasAnalysis::getModRefInfo(ImmutableCallSite CS,
120 AliasAnalysis::ModRefResult
121 AliasAnalysis::getModRefInfo(ImmutableCallSite CS1, ImmutableCallSite CS2) {
135 AliasAnalysis::ModRefResult Mask = ModRef;
146 AliasAnalysis::ModRefResult R = NoModRef;
166 AliasAnalysis::ModRefResult R = NoModRef;
193 AliasAnalysis::ModRefBehavior
194 AliasAnalysis::getModRefBehavior(ImmutableCallSite CS) {
212 AliasAnalysis::ModRefBehavior
213 AliasAnalysis::getModRefBehavior(const Function *F) {
219 // AliasAnalysis non-virtual helper method implementation
222 AliasAnalysis::Location AliasAnalysis::getLocation(const LoadInst *LI) {
228 AliasAnalysis::Location AliasAnalysis::getLocation(const StoreInst *SI) {
234 AliasAnalysis::Location AliasAnalysis::getLocation(const VAArgInst *VI) {
240 AliasAnalysis::Location
241 AliasAnalysis::getLocation(const AtomicCmpXchgInst *CXI) {
247 AliasAnalysis::Location
248 AliasAnalysis::getLocation(const AtomicRMWInst *RMWI) {
254 AliasAnalysis::Location
255 AliasAnalysis::getLocationForSource(const MemTransferInst *MTI) {
267 AliasAnalysis::Location
268 AliasAnalysis::getLocationForDest(const MemIntrinsic *MTI) {
282 AliasAnalysis::ModRefResult
283 AliasAnalysis::getModRefInfo(const LoadInst *L, const Location &Loc) {
297 AliasAnalysis::ModRefResult
298 AliasAnalysis::getModRefInfo(const StoreInst *S, const Location &Loc) {
317 AliasAnalysis::ModRefResult
318 AliasAnalysis::getModRefInfo(const VAArgInst *V, const Location &Loc) {
333 AliasAnalysis::ModRefResult
334 AliasAnalysis::getModRefInfo(const AtomicCmpXchgInst *CX, const Location &Loc) {
346 AliasAnalysis::ModRefResult
347 AliasAnalysis::getModRefInfo(const AtomicRMWInst *RMW, const Location &Loc) {
360 // AliasAnalysis destructor: DO NOT move this to the header file for
361 // AliasAnalysis or else clients of the AliasAnalysis class may not depend on
362 // the AliasAnalysis.o file in the current .a file, causing alias analysis
365 AliasAnalysis::~AliasAnalysis() {}
368 /// AliasAnalysis interface before any other methods are called.
370 void AliasAnalysis::InitializeAliasAnalysis(Pass *P) {
372 AA = &P->getAnalysis<AliasAnalysis>();
376 // directly (using AliasAnalysis::getAnalysisUsage(AU)).
377 void AliasAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
378 AU.addRequired<AliasAnalysis>(); // All AA's chain
384 uint64_t AliasAnalysis::getTypeStoreSize(Type *Ty) {
391 bool AliasAnalysis::canBasicBlockModify(const BasicBlock &BB,
401 bool AliasAnalysis::canInstructionRangeModify(const Instruction &I1,