[all-commits] [llvm/llvm-project] 9cf188: [SCEV] Do not plant SCEV checks unnecessarily
pawosm-arm via All-commits
all-commits at lists.llvm.org
Tue Apr 25 13:48:00 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9cf1881f8f12a70c28432278a2878a6113c017c1
https://github.com/llvm/llvm-project/commit/9cf1881f8f12a70c28432278a2878a6113c017c1
Author: Paul Osmialowski <pawel.osmialowski at arm.com>
Date: 2023-04-25 (Tue, 25 Apr 2023)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/vector-no-scevcheck.ll
Log Message:
-----------
[SCEV] Do not plant SCEV checks unnecessarily
The vectorisation analysis collects strides for loop invariant
pointers, which is wrong because they are not strided. We don't
need to generate SCEV checks (which are costly performancewise)
for such pointers, we just need to do the appropriate aliasing
checks.
This patch fixes the problem by changing getStrideFromPointer()
to treat loop invariant pointers as having no stride.
Originally proposed by David Sherwood with further suggestions
from Florian Hahn.
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D146958
More information about the All-commits
mailing list