[SLPVectorizer] Ensure dominated reduction values.
authorCharlie Turner <charlie.turner@arm.com>
Wed, 16 Dec 2015 18:23:44 +0000 (18:23 +0000)
committerCharlie Turner <charlie.turner@arm.com>
Wed, 16 Dec 2015 18:23:44 +0000 (18:23 +0000)
commit8c888e8a5755ad49c2b56a94469f801ec18311b7
tree9f22468d91c31cf158412014dc367248cd6eb333
parent3a06c2dfa3596329b4076b43e383694e2e62ae19
[SLPVectorizer] Ensure dominated reduction values.

When considering incoming values as part of a reduction phi, ensure the
incoming value is dominated by said phi.

Failing to ensure this property causes miscompiles.

Fixes PR25787.

Many thanks to Mattias Eriksson for reporting, reducing and analyzing the
problem for me.

Differential Revision: http://reviews.llvm.org/D15580

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255792 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/SLPVectorizer.cpp