summaryrefslogtreecommitdiffstats
path: root/llvm/docs/CommandGuide/llvm-lib.rst
diff options
context:
space:
mode:
authorDorit Nuzman <dorit.nuzman@intel.com>2016-10-30 12:23:26 +0000
committerDorit Nuzman <dorit.nuzman@intel.com>2016-10-30 12:23:26 +0000
commit3c1c658f24889bdf5c75044bf9aaed529947a4dc (patch)
tree3820938e7fcb9efa4f90d25936f131c3bcd813b6 /llvm/docs/CommandGuide/llvm-lib.rst
parent312ff9d19d98b2cb19911fcd0ec7dd378cf8cf1c (diff)
downloadbcm5719-llvm-3c1c658f24889bdf5c75044bf9aaed529947a4dc.tar.gz
bcm5719-llvm-3c1c658f24889bdf5c75044bf9aaed529947a4dc.zip
[LoopVectorize] Make interleaved-accesses analysis less conservative about
possible pointer-wrap-around concerns, in some cases. Before this patch, collectConstStridedAccesses (part of interleaved-accesses analysis) called getPtrStride with [Assume=false, ShouldCheckWrap=true] when examining all candidate pointers. This is too conservative. Instead, this patch makes collectConstStridedAccesses use an optimistic approach, calling getPtrStride with [Assume=true, ShouldCheckWrap=false], and then, once the candidate interleave groups have been formed, revisits the pointer-wrapping analysis but only where it matters: namely, in groups that have gaps, and where the gaps are not at the very end of the group (in which case the loop is peeled). This second time getPtrStride is called with [Assume=false, ShouldCheckWrap=true], but this could further be improved to using Assume=true, once we also add the logic to track that we are not going to meet the scev runtime checks threshold. Differential Revision: https://reviews.llvm.org/D25276 llvm-svn: 285517
Diffstat (limited to 'llvm/docs/CommandGuide/llvm-lib.rst')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud