LLVM: llvm::DependenceInfo Class Reference (original) (raw)
DependenceInfo - This class is the main dependence-analysis driver. More...
#include "[llvm/Analysis/DependenceAnalysis.h](DependenceAnalysis%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| DependenceInfo (Function *F, AAResults *AA, ScalarEvolution *SE, LoopInfo *LI) | |
| LLVM_ABI bool | invalidate (Function &F, const PreservedAnalyses &PA, FunctionAnalysisManager::Invalidator &Inv) |
| Handle transitive invalidation when the cached analysis results go away. | |
| LLVM_ABI std::unique_ptr< Dependence > | depends (Instruction *Src, Instruction *Dst, bool UnderRuntimeAssumptions=false) |
| depends - Tests for a dependence between the Src and Dst instructions. | |
| Function * | getFunction () const |
DependenceInfo - This class is the main dependence-analysis driver.
Definition at line 336 of file DependenceAnalysis.h.
◆ depends()
depends - Tests for a dependence between the Src and Dst instructions.
Returns NULL if no dependence; otherwise, returns a Dependence (or a FullDependence) with as much information as can be gleaned. By default, the dependence test collects a set of runtime assumptions that cannot be solved at compilation time. By default UnderRuntimeAssumptions is false for a safe approximation of the dependence relation that does not require runtime checks.
Definition at line 3401 of file DependenceAnalysis.cpp.
References assert(), llvm::dbgs(), Delinearize, dumpSmallBitVector(), EnableMonotonicityCheck, llvm::Dependence::DVEntry::EQ, llvm::MemoryLocation::get(), llvm::getLoadStorePointerOperand(), llvm::LoopBase< BlockT, LoopT >::getOutermostLoop(), llvm::SCEV::getType(), II, isLoadOrStore(), llvm::LocationSize::isPrecise(), llvm::SCEV::isZero(), LLVM_DEBUG, Loops, llvm::AliasResult::MayAlias, llvm::AliasResult::MustAlias, llvm::AliasResult::NoAlias, P, llvm::AliasResult::PartialAlias, llvm::SmallVectorImpl< T >::resize(), llvm::MemoryLocation::Size, llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::LocationSize::toRaw(), and underlyingObjectsAlias().
Referenced by checkDependency(), llvm::IndexedReference::hasTemporalReuse(), llvm::isSafeToMoveBefore(), and populateDependencyMatrix().
◆ getFunction()
| Function * llvm::DependenceInfo::getFunction ( ) const | inline |
|---|
◆ invalidate()
The documentation for this class was generated from the following files:
- include/llvm/Analysis/DependenceAnalysis.h
- lib/Analysis/DependenceAnalysis.cpp