ΒΆconst llvm::SCEV* replaceSymbolicStrideSCEV(
llvm::PredicatedScalarEvolution& PSE,
const llvm::ValueToValueMap& PtrToStride,
llvm::Value* Ptr,
llvm::Value* OrigPtr = nullptr)
const llvm::SCEV* replaceSymbolicStrideSCEV(
llvm::PredicatedScalarEvolution& PSE,
const llvm::ValueToValueMap& PtrToStride,
llvm::Value* Ptr,
llvm::Value* OrigPtr = nullptr)
Description
Return the SCEV corresponding to a pointer with the symbolic stride replaced with constant one, assuming the SCEV 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. If \p OrigPtr is not null, use it to look up the stride value instead of \p Ptr. \p PtrToStride provides the mapping between the pointer value and its stride as collected by LoopVectorizationLegality::collectStridedAccess.
Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:679
Parameters
- llvm::PredicatedScalarEvolution& PSE
- const llvm::ValueToValueMap& PtrToStride
- llvm::Value* Ptr
- llvm::Value* OrigPtr = nullptr