[llvm] 8e5f3d0 - [SLPVectorizer] Fix divide-by-zero after D99719
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 2 11:13:57 PDT 2021
Author: Fangrui Song
Date: 2021-04-02T11:13:51-07:00
New Revision: 8e5f3d04f269dbe791076e775f1d1a098cbada01
URL: https://github.com/llvm/llvm-project/commit/8e5f3d04f269dbe791076e775f1d1a098cbada01
DIFF: https://github.com/llvm/llvm-project/commit/8e5f3d04f269dbe791076e775f1d1a098cbada01.diff
LOG: [SLPVectorizer] Fix divide-by-zero after D99719
Will add a test case later.
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 0594f8bf183d..a17f018ee96e 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -3458,7 +3458,8 @@ computeExtractCost(ArrayRef<Value *> VL, FixedVectorType *VecTy,
ArrayRef<int> Mask, TargetTransformInfo &TTI) {
unsigned NumOfParts = TTI.getNumberOfParts(VecTy);
- if (ShuffleKind != TargetTransformInfo::SK_PermuteSingleSrc || !NumOfParts)
+ if (ShuffleKind != TargetTransformInfo::SK_PermuteSingleSrc || !NumOfParts ||
+ VecTy->getNumElements() < NumOfParts)
return TTI.getShuffleCost(ShuffleKind, VecTy, Mask);
bool AllConsecutive = true;
More information about the llvm-commits
mailing list