[LoopVectorize] Clear cache of `LoopAccessInfoManager`
authorMiguel Saldivar <saldivarcher@gmail.com>
Wed, 11 Jan 2023 08:37:25 +0000 (08:37 +0000)
committerFlorian Hahn <flo@fhahn.com>
Wed, 11 Jan 2023 09:03:40 +0000 (09:03 +0000)
commit3c5e0d87f80efa8068a58768514d916d9dc03f3d
tree4a6bd9ecf84cf0fbabae61390ea5716cf3d25f53
parent8c9f13bd4c0fddacfea2d3dfd5af532c40656505
[LoopVectorize] Clear cache of `LoopAccessInfoManager`

LAI is cached during the LoopDistribute pass, and is later re-used during LoopVectorize. The problem is that LoopVectorize changes SCEV, and the cached LAI does not get updated. Hence, when re-using the cached LAI, it references an invalid SCEV.

Fixes #59319

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D139601
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll [new file with mode: 0644]