OSDN Git Service

[LV/LAA] Avoid specializing a loop for stride=1 when this predicate implies a
authorDorit Nuzman <dorit.nuzman@intel.com>
Sun, 5 Nov 2017 16:53:15 +0000 (16:53 +0000)
committerDorit Nuzman <dorit.nuzman@intel.com>
Sun, 5 Nov 2017 16:53:15 +0000 (16:53 +0000)
commitee5e3180393bc0885ef3fd6c0e20c6d34bdabb46
treeb269aa79ce027614db6e1e1f83c3eca49ebf5ced
parentee9947c063c53ca09b2cb1d9c05f04165877f80b
[LV/LAA] Avoid specializing a loop for stride=1 when this predicate implies a
single-iteration loop

This fixes PR34681. Avoid adding the "Stride == 1" predicate when we know that
Stride >= Trip-Count. Such a predicate will effectively optimize a single
or zero iteration loop, as Trip-Count <= Stride == 1.

Differential Revision: https://reviews.llvm.org/D38785

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317438 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/LoopAccessAnalysis.cpp
test/Transforms/LoopVectorize/pr34681.ll [new file with mode: 0644]
test/Transforms/LoopVectorize/version-mem-access.ll