]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r275633:
authordim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 13 Dec 2014 12:14:26 +0000 (12:14 +0000)
committerdim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 13 Dec 2014 12:14:26 +0000 (12:14 +0000)
commit1bad25b41162c7d4b9675f3b5daa713336821d59
treedbf9e5d6ed47bb82e52c2b475d4f90eaa50240c2
parent1d394f06999814c7afa1e4b276fdc8c5ea9cfae5
MFC r275633:

Pull in r223171 from upstream llvm trunk (by Michael Zolotukhin):

  PR21302. Vectorize only bottom-tested loops.

  rdar://problem/18886083

This fixes a bug in the llvm vectorizer, which could sometimes cause
vectorized loops to perform an additional iteration, leading to possible
buffer overruns.  Symptoms of this, which are usually segfaults, were
first noticed when building gcc ports, here:

https://lists.freebsd.org/pipermail/freebsd-ports/2014-September/095466.html
https://lists.freebsd.org/pipermail/freebsd-toolchain/2014-September/001211.html

Since this fix is very important for ports, bump __FreeBSD_version to
make it easier for port maintainers to test whether the fix has been
applied.

Upstream PR: http://llvm.org/PR21302

git-svn-id: svn://svn.freebsd.org/base/stable/9@275742 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
sys/sys/param.h