SLPVectorizer: compare entire intrinsic for SLP compatibility.
authorTim Northover <tnorthover@apple.com>
Wed, 2 Apr 2014 14:39:02 +0000 (14:39 +0000)
committerTim Northover <tnorthover@apple.com>
Wed, 2 Apr 2014 14:39:02 +0000 (14:39 +0000)
commit24e78e0125dbdc0667fc261175d1148f74612783
treef7d15ca8c0176a1a5d1f7582c2a5aa032f1febf2
parent3844cadc9aac3cef059434f2f34024c6cf6573de
SLPVectorizer: compare entire intrinsic for SLP compatibility.

Some Intrinsics are overloaded to the extent that return type equality (all
that's been checked up to now) does not guarantee that the arguments are the
same. In these cases SLP vectorizer should not recurse into the operands, which
can be achieved by comparing them as "Function *" rather than simply the ID.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205424 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Transforms/SLPVectorizer/ARM64/lit.local.cfg [new file with mode: 0644]
test/Transforms/SLPVectorizer/ARM64/mismatched-intrinsics.ll [new file with mode: 0644]