ΒΆint64_t getPtrStride(
    llvm::PredicatedScalarEvolution& PSE,
    llvm::Value* Ptr,
    const llvm::Loop* Lp,
    const llvm::ValueToValueMap& StridesMap =
        llvm::DenseMap<const llvm::Value*,
                       llvm::Value*,
                       llvm::DenseMapInfo<
                           const llvm::Value*>,
                       llvm::detail::DenseMapPair<
                           const llvm::Value*,
                           llvm::Value*>>(),
    bool Assume = false,
    bool ShouldCheckWrap = true)

Description

If the pointer has a constant stride return it in units of its element size. Otherwise return zero. Ensure that it does not wrap in the address space, assuming the predicate associated with \p PSE is true. If necessary this method will version the stride of the pointer according to \p PtrToStride and therefore add further predicates to \p PSE. The \p Assume parameter indicates if we are allowed to make additional run-time assumptions.

Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:693

Parameters

llvm::PredicatedScalarEvolution& PSE
llvm::Value* Ptr
const llvm::Loop* Lp
const llvm::ValueToValueMap& StridesMap = llvm::DenseMap<const llvm::Value *, llvm::Value *, llvm::DenseMapInfo<const llvm::Value *>, llvm::detail::DenseMapPair<const llvm::Value *, llvm::Value *>>()
bool Assume = false
bool ShouldCheckWrap = true