[llvm] 8263bec - [SLP] Use poison instead of undef in reorderScalars() (#96619)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 25 05:23:44 PDT 2024


Author: Nikita Popov
Date: 2024-06-25T14:23:40+02:00
New Revision: 8263bec5331863113c6163afdc3f93e063f20a07

URL: https://github.com/llvm/llvm-project/commit/8263bec5331863113c6163afdc3f93e063f20a07
DIFF: https://github.com/llvm/llvm-project/commit/8263bec5331863113c6163afdc3f93e063f20a07.diff

LOG: [SLP] Use poison instead of undef in reorderScalars() (#96619)

-1 mask elements are specified to return poison rather than undef
nowadays , so update the reorderScalars() implementation to match.

Added: 
    

Modified: 
    llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index 501f6afd60607..494db0493daca 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -999,7 +999,7 @@ static void reorderScalars(SmallVectorImpl<Value *> &Scalars,
                            ArrayRef<int> Mask) {
   assert(!Mask.empty() && "Expected non-empty mask.");
   SmallVector<Value *> Prev(Scalars.size(),
-                            UndefValue::get(Scalars.front()->getType()));
+                            PoisonValue::get(Scalars.front()->getType()));
   Prev.swap(Scalars);
   for (unsigned I = 0, E = Prev.size(); I < E; ++I)
     if (Mask[I] != PoisonMaskElem)


        


More information about the llvm-commits mailing list