[llvm] [ConstantFolding] Add folding for [de]interleave2, insert and extract (PR #141301)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 10 15:08:29 PDT 2025
================
@@ -3998,20 +3998,28 @@ ConstantFoldStructCall(StringRef Name, Intrinsic::ID IntrinsicID,
if (!Vec)
return nullptr;
- unsigned NumElements =
- cast<VectorType>(Vec->getType())->getElementCount().getKnownMinValue() /
- 2;
+ auto VecTy = cast<VectorType>(Vec->getType());
+ unsigned NumElements = VecTy->getElementCount().getKnownMinValue() / 2;
+
SmallVector<Constant *, 4> Res0(NumElements), Res1(NumElements);
----------------
topperc wrote:
Sink this SmallVector below the ConstantAggregateZero case so we don't unnecessarily create it.
https://github.com/llvm/llvm-project/pull/141301
More information about the llvm-commits
mailing list