[LoopVectorize] Teach Loop Vectorizor about interleaved memory accesses.
[oota-llvm.git] / include / llvm / Analysis / LoopAccessAnalysis.h
index c14e1451f338b8aea45f9aa8b9ad5adb420453fa..06fb0821ef2374d7cd792f3915faa011340d5d99 100644 (file)
@@ -501,6 +501,11 @@ const SCEV *replaceSymbolicStrideSCEV(ScalarEvolution *SE,
                                       const ValueToValueMap &PtrToStride,
                                       Value *Ptr, Value *OrigPtr = nullptr);
 
+/// \brief Check the stride of the pointer and ensure that it does not wrap in
+/// the address space.
+int isStridedPtr(ScalarEvolution *SE, Value *Ptr, const Loop *Lp,
+                 const ValueToValueMap &StridesMap);
+
 /// \brief This analysis provides dependence information for the memory accesses
 /// of a loop.
 ///