Changeset View
Changeset View
Standalone View
Standalone View
llvm/include/llvm/Analysis/LoopAccessAnalysis.h
Show First 20 Lines • Show All 404 Lines • ▼ Show 20 Lines | void reset() { | ||||
Checks.clear(); | Checks.clear(); | ||||
} | } | ||||
/// Insert a pointer and calculate the start and end SCEVs. | /// Insert a pointer and calculate the start and end SCEVs. | ||||
/// We need \p PSE in order to compute the SCEV expression of the pointer | /// We need \p PSE in order to compute the SCEV expression of the pointer | ||||
/// according to the assumptions that we've made during the analysis. | /// according to the assumptions that we've made during the analysis. | ||||
/// The method might also version the pointer stride according to \p Strides, | /// The method might also version the pointer stride according to \p Strides, | ||||
/// and add new predicates to \p PSE. | /// and add new predicates to \p PSE. | ||||
void insert(Loop *Lp, Value *Ptr, bool WritePtr, unsigned DepSetId, | void insert(Loop *Lp, Value *Ptr, const SCEV *PtrExpr, bool WritePtr, | ||||
unsigned ASId, const ValueToValueMap &Strides, | unsigned DepSetId, unsigned ASId, PredicatedScalarEvolution &PSE); | ||||
PredicatedScalarEvolution &PSE); | |||||
/// No run-time memory checking is necessary. | /// No run-time memory checking is necessary. | ||||
bool empty() const { return Pointers.empty(); } | bool empty() const { return Pointers.empty(); } | ||||
/// Generate the checks and store it. This also performs the grouping | /// Generate the checks and store it. This also performs the grouping | ||||
/// of pointers to reduce the number of memchecks necessary. | /// of pointers to reduce the number of memchecks necessary. | ||||
void generateChecks(MemoryDepChecker::DepCandidates &DepCands, | void generateChecks(MemoryDepChecker::DepCandidates &DepCands, | ||||
bool UseDependencies); | bool UseDependencies); | ||||
▲ Show 20 Lines • Show All 356 Lines • Show Last 20 Lines |