From: skc7 Date: Mon, 7 Nov 2022 15:58:03 +0000 (+0530) Subject: [SLP][NFC] Restructure getInsertIndex X-Git-Tag: upstream/17.0.6~28221 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=46d53f45d89b54d55304cfd7cd3d6c6232dbf529;p=platform%2Fupstream%2Fllvm.git [SLP][NFC] Restructure getInsertIndex Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D137567 --- diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index fe4c2c7..eb22d9f 100644 --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -290,15 +290,17 @@ static Optional getInsertIndex(const Value *InsertInst, unsigned Offset = 0) { int Index = Offset; if (const auto *IE = dyn_cast(InsertInst)) { - if (const auto *CI = dyn_cast(IE->getOperand(2))) { - auto *VT = cast(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(IE->getType()); + if (!VT) + return None; + const auto *CI = dyn_cast(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(InsertInst);