[PATCH] D15412: [SCEV][LAA] Add no overflow SCEV predicates and use use them to improve strided pointer detection
silviu.baranga@arm.com via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 10 03:56:26 PST 2015
sbaranga created this revision.
sbaranga added reviewers: anemet, mzolotukhin, sanjoy.
sbaranga added subscribers: hfinkel, jmolloy, rengolin, llvm-commits.
Herald added a subscriber: sanjoy.
This change adds no overflow SCEV predicates with:
- support for runtime checking
- support for expression rewriting (sext ({x,+,u}) -> {x,+,y})
We also change isStridedPtr in LAA to be able to make use of
these predicates. With this feature we should now always be able to
work around overflow issues in the dependence analysis.
http://reviews.llvm.org/D15412
Files:
include/llvm/Analysis/LoopAccessAnalysis.h
include/llvm/Analysis/ScalarEvolution.h
include/llvm/Analysis/ScalarEvolutionExpander.h
lib/Analysis/LoopAccessAnalysis.cpp
lib/Analysis/ScalarEvolution.cpp
lib/Analysis/ScalarEvolutionExpander.cpp
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/same-base-access.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15412.42410.patch
Type: text/x-patch
Size: 27234 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151210/fd89050d/attachment-0001.bin>
More information about the llvm-commits
mailing list