[llvm] [SLP] NFC. ShuffleInstructionBuilder::add V1->getType() is always a (PR #99842)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 22 00:47:29 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-transforms
Author: Han-Kuan Chen (HanKuanChen)
<details>
<summary>Changes</summary>
FixedVectorType.
castToScalarTyElem has a cast<VectorType>(V->getType()).
---
Full diff: https://github.com/llvm/llvm-project/pull/99842.diff
1 Files Affected:
- (modified) llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (+2-10)
``````````diff
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index d8c3bae06e932..4fd819a527a3c 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -12073,11 +12073,6 @@ class BoUpSLP::ShuffleInstructionBuilder final : public BaseShuffleAnalysis {
void add(Value *V1, ArrayRef<int> Mask, bool = false) {
V1 = castToScalarTyElem(V1);
if (InVectors.empty()) {
- if (!isa<FixedVectorType>(V1->getType())) {
- V1 = createShuffle(V1, nullptr, CommonMask);
- CommonMask.assign(Mask.size(), PoisonMaskElem);
- transformMaskAfterShuffle(CommonMask, Mask);
- }
InVectors.push_back(V1);
CommonMask.assign(Mask.begin(), Mask.end());
return;
@@ -12085,8 +12080,7 @@ class BoUpSLP::ShuffleInstructionBuilder final : public BaseShuffleAnalysis {
const auto *It = find(InVectors, V1);
if (It == InVectors.end()) {
if (InVectors.size() == 2 ||
- InVectors.front()->getType() != V1->getType() ||
- !isa<FixedVectorType>(V1->getType())) {
+ InVectors.front()->getType() != V1->getType()) {
Value *V = InVectors.front();
if (InVectors.size() == 2) {
V = createShuffle(InVectors.front(), InVectors.back(), CommonMask);
@@ -12120,9 +12114,7 @@ class BoUpSLP::ShuffleInstructionBuilder final : public BaseShuffleAnalysis {
break;
}
}
- int VF = CommonMask.size();
- if (auto *FTy = dyn_cast<FixedVectorType>(V1->getType()))
- VF = FTy->getNumElements();
+ int VF = cast<FixedVectorType>(V1->getType())->getNumElements();
for (unsigned Idx = 0, Sz = CommonMask.size(); Idx < Sz; ++Idx)
if (Mask[Idx] != PoisonMaskElem && CommonMask[Idx] == PoisonMaskElem)
CommonMask[Idx] = Mask[Idx] + (It == InVectors.begin() ? 0 : VF);
``````````
</details>
https://github.com/llvm/llvm-project/pull/99842
More information about the llvm-commits
mailing list