From f9c806ae5c53c990a935c46ba351cdcfb1271c58 Mon Sep 17 00:00:00 2001 From: Alexey Bataev Date: Tue, 24 May 2022 06:01:17 -0700 Subject: [PATCH] [SLP][NFC]Make isFirstInsertElement a weak strict ordering comparator. To be used correctly in a sort-like function, isFirstInsertElement function must follow weak strict ordering rule, i.e. isFirstInsertElement(IE1, IE1) should return false. --- llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index beb54dc..a8de0bf 100644 --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -6659,6 +6659,8 @@ static bool areTwoInsertFromSameBuildVector(InsertElementInst *VU, /// buildvector sequence. static bool isFirstInsertElement(const InsertElementInst *IE1, const InsertElementInst *IE2) { + if (IE1 == IE2) + return false; const auto *I1 = IE1; const auto *I2 = IE2; const InsertElementInst *PrevI1; -- 2.7.4