[llvm] 46d53f4 - [SLP][NFC] Restructure getInsertIndex
via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 8 04:39:12 PST 2022
Author: skc7
Date: 2022-11-08T18:07:50+05:30
New Revision: 46d53f45d89b54d55304cfd7cd3d6c6232dbf529
URL: https://github.com/llvm/llvm-project/commit/46d53f45d89b54d55304cfd7cd3d6c6232dbf529
DIFF: https://github.com/llvm/llvm-project/commit/46d53f45d89b54d55304cfd7cd3d6c6232dbf529.diff
LOG: [SLP][NFC] Restructure getInsertIndex
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D137567
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 fe4c2c7d644f..eb22d9f19e04 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -290,15 +290,17 @@ static Optional<unsigned> getInsertIndex(const Value *InsertInst,
unsigned Offset = 0) {
int Index = Offset;
if (const auto *IE = dyn_cast<InsertElementInst>(InsertInst)) {
- if (const auto *CI = dyn_cast<ConstantInt>(IE->getOperand(2))) {
- auto *VT = cast<FixedVectorType>(IE->getType());
- if (CI->getValue().uge(VT->getNumElements()))
- return None;
- Index *= VT->getNumElements();
- Index += CI->getZExtValue();
- return Index;
- }
- return None;
+ const auto *VT = dyn_cast<FixedVectorType>(IE->getType());
+ if (!VT)
+ return None;
+ const auto *CI = dyn_cast<ConstantInt>(IE->getOperand(2));
+ if (!CI)
+ return None;
+ if (CI->getValue().uge(VT->getNumElements()))
+ return None;
+ Index *= VT->getNumElements();
+ Index += CI->getZExtValue();
+ return Index;
}
const auto *IV = cast<InsertValueInst>(InsertInst);
More information about the llvm-commits
mailing list