LLVM 18.0.0git
|
This class is a wrapper over an AAResults, and it is intended to be used only when there are no IR changes inbetween queries. More...
#include "llvm/Analysis/AliasAnalysis.h"
Public Member Functions | |
BatchAAResults (AAResults &AAR) | |
BatchAAResults (AAResults &AAR, CaptureInfo *CI) | |
AliasResult | alias (const MemoryLocation &LocA, const MemoryLocation &LocB) |
bool | pointsToConstantMemory (const MemoryLocation &Loc, bool OrLocal=false) |
ModRefInfo | getModRefInfoMask (const MemoryLocation &Loc, bool IgnoreLocals=false) |
ModRefInfo | getModRefInfo (const Instruction *I, const std::optional< MemoryLocation > &OptLoc) |
ModRefInfo | getModRefInfo (const Instruction *I, const CallBase *Call2) |
ModRefInfo | getArgModRefInfo (const CallBase *Call, unsigned ArgIdx) |
MemoryEffects | getMemoryEffects (const CallBase *Call) |
bool | isMustAlias (const MemoryLocation &LocA, const MemoryLocation &LocB) |
bool | isMustAlias (const Value *V1, const Value *V2) |
ModRefInfo | callCapturesBefore (const Instruction *I, const MemoryLocation &MemLoc, DominatorTree *DT) |
void | enableCrossIterationMode () |
Assume that values may come from different cycle iterations. | |
This class is a wrapper over an AAResults, and it is intended to be used only when there are no IR changes inbetween queries.
BatchAAResults is reusing the same AAQueryInfo
to preserve the state across queries, esentially making AA work in "batch mode". The internal state cannot be cleared, so to go "out-of-batch-mode", the user must either use AAResults, or create a new BatchAAResults.
Definition at line 620 of file AliasAnalysis.h.
|
inline |
Definition at line 626 of file AliasAnalysis.h.
|
inline |
Definition at line 627 of file AliasAnalysis.h.
|
inline |
Definition at line 629 of file AliasAnalysis.h.
References llvm::AAResults::alias().
Referenced by llvm::AliasSet::aliasesPointer(), llvm::MemoryDependenceResults::getSimplePointerDependencyFrom(), and isMustAlias().
|
inline |
Definition at line 660 of file AliasAnalysis.h.
References llvm::AAResults::callCapturesBefore(), and I.
Referenced by llvm::MemoryDependenceResults::getSimplePointerDependencyFrom().
|
inline |
Assume that values may come from different cycle iterations.
Definition at line 667 of file AliasAnalysis.h.
References llvm::AAQueryInfo::MayBeCrossIteration.
|
inline |
Definition at line 646 of file AliasAnalysis.h.
References llvm::AAResults::getArgModRefInfo().
Referenced by llvm::AliasSetTracker::add().
|
inline |
Definition at line 649 of file AliasAnalysis.h.
References llvm::AAResults::getMemoryEffects().
Referenced by llvm::AliasSetTracker::add().
|
inline |
Definition at line 643 of file AliasAnalysis.h.
References llvm::AAResults::getModRefInfo(), and I.
|
inline |
Definition at line 639 of file AliasAnalysis.h.
References llvm::AAResults::getModRefInfo(), and I.
Referenced by accessedBetween(), llvm::AliasSet::aliasesPointer(), llvm::AliasSet::aliasesUnknownInst(), llvm::canSinkOrHoistInst(), findDominatingValue(), llvm::MemoryDependenceResults::getSimplePointerDependencyFrom(), memoryIsNotModifiedBetween(), and usersDominator().
|
inline |
Definition at line 635 of file AliasAnalysis.h.
References llvm::AAResults::getModRefInfoMask().
Referenced by llvm::MemoryDependenceResults::getSimplePointerDependencyFrom().
|
inline |
Definition at line 652 of file AliasAnalysis.h.
References alias(), and llvm::AliasResult::MustAlias.
Referenced by llvm::MemoryDependenceResults::getSimplePointerDependencyFrom(), hasUndefContents(), isMaskedStoreOverwrite(), and llvm::AliasSet::mergeSetIn().
Definition at line 655 of file AliasAnalysis.h.
References alias(), llvm::AliasResult::MustAlias, and llvm::LocationSize::precise().
|
inline |
Definition at line 632 of file AliasAnalysis.h.
References llvm::AAResults::pointsToConstantMemory().