[all-commits] [llvm/llvm-project] 498aa5: [IVDescriptors] Add pointer InductionDescriptors w...
Philip Reames via All-commits
all-commits at lists.llvm.org
Thu Mar 30 11:56:18 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 498aa534f472d28db893aa9a8627d0b46e17f312
https://github.com/llvm/llvm-project/commit/498aa534f472d28db893aa9a8627d0b46e17f312
Author: Philip Reames <preames at rivosinc.com>
Date: 2023-03-30 (Thu, 30 Mar 2023)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
Log Message:
-----------
[IVDescriptors] Add pointer InductionDescriptors with non-constant strides
This matches the handling for integer IVs. I left the non-opaque cases alone, mostly because they're largely irrelevant today.
This doesn't actually make much difference in vectorization right now as we immediately fail on aliasing checks (which also bail on non-constant strides). Slightly suprisingly, it's the case which *do* need runtime checks which work after this patch as they don't use the same dependency analysis path.
This will also enable non-constant stride pointer recurrences for other consumers. I've auditted said code, and don't see any obvious issues.
More information about the All-commits
mailing list