ΒΆint64_t getPtrStride(
    llvm::PredicatedScalarEvolution& PSE,
    llvm::Type* AccessTy,
    llvm::Value* Ptr,
    const llvm::Loop* Lp,
    const llvm::ValueToValueMap& StridesMap =
        llvm::DenseMap<
            const llvm::Value*,
            llvm::Value*,
            llvm::DenseMapInfo<const llvm::Value*,
                               void>,
            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 the access type 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:732

Parameters

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