[SLP]Fix PR63141: compareCmp is not strict weak ordering.
authorAlexey Bataev <a.bataev@outlook.com>
Tue, 27 Jun 2023 19:48:08 +0000 (12:48 -0700)
committerAlexey Bataev <a.bataev@outlook.com>
Wed, 28 Jun 2023 13:00:31 +0000 (06:00 -0700)
commita8f1a3e025c905f015a622809e58b03f09b7a58e
treea2ca6d18fa3c4e3295e6cd07088bb0a3951eb987
parent9599eefb21b71cf85669006b504c8a5955827bd2
[SLP]Fix PR63141: compareCmp is not strict weak ordering.

Added some extra checks for comapreCMP function if IsCompatibility is
false to make it meat the strict weak ordering requirements to be
correctly used in sort functions.
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/SLPVectorizer/X86/alternate-cmp-swapped-pred-parent.ll