]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Pull in r223171 from upstream llvm trunk (by Michael Zolotukhin):
authorDimitry Andric <dim@FreeBSD.org>
Tue, 9 Dec 2014 07:34:28 +0000 (07:34 +0000)
committerDimitry Andric <dim@FreeBSD.org>
Tue, 9 Dec 2014 07:34:28 +0000 (07:34 +0000)
commitcd9521158da611f03c3cb73de63042247698f8c9
tree94f4f86ef25b0c63e1783c0136d927ddaee2484f
parent979d0afa7c1ddd20fff43966f764b296467d44c4
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
MFC after: 3 days
contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
sys/sys/param.h