LLVM  3.7.0
Classes | Namespaces | Functions
LoopAccessAnalysis.h File Reference
#include "llvm/ADT/EquivalenceClasses.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/AliasSetTracker.h"
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Pass.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for LoopAccessAnalysis.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::LoopAccessReport
 Optimization analysis message produced during vectorization. More...
 
struct  llvm::VectorizerParams
 Collection of parameters shared beetween the Loop Vectorizer and the Loop Access Analysis. More...
 
class  llvm::MemoryDepChecker
 Checks memory dependences among accesses to the same underlying object to determine whether there vectorization is legal or not (and at which vectorization factor). More...
 
struct  llvm::MemoryDepChecker::Dependence
 Dependece between memory access instructions. More...
 
class  llvm::RuntimePointerChecking
 Holds information about the memory runtime legality checks to verify that a group of pointers do not overlap. More...
 
struct  llvm::RuntimePointerChecking::PointerInfo
 
struct  llvm::RuntimePointerChecking::CheckingPtrGroup
 A grouping of pointers. More...
 
class  llvm::LoopAccessInfo
 Drive the analysis of memory accesses in the loop. More...
 
class  llvm::LoopAccessAnalysis
 This analysis provides dependence information for the memory accesses of a loop. More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Functions

Valuellvm::stripIntegerCast (Value *V)
 
const SCEVllvm::replaceSymbolicStrideSCEV (ScalarEvolution *SE, const ValueToValueMap &PtrToStride, Value *Ptr, Value *OrigPtr=nullptr)
 Return the SCEV corresponding to a pointer with the symbolic stride replaced with constant one. More...
 
int llvm::isStridedPtr (ScalarEvolution *SE, Value *Ptr, const Loop *Lp, const ValueToValueMap &StridesMap)
 Check the stride of the pointer and ensure that it does not wrap in the address space. More...