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)
commit670df3d937a632dd4ddf3092d23789ba79c7efa8
tree38187a118920969232598f210080d422a96975ba
parentebd37ab38279f09d36a8c317363e48ecaf5f13c1
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.

llvm-svn: 205424
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/SLPVectorizer/ARM64/lit.local.cfg [new file with mode: 0644]
llvm/test/Transforms/SLPVectorizer/ARM64/mismatched-intrinsics.ll [new file with mode: 0644]