[llvm] [VP] Remove createStepVector implementation and use IRBuilderBase::Cr… (PR #122868)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 14 00:00:48 PST 2025
https://github.com/LiqinWeng created https://github.com/llvm/llvm-project/pull/122868
…eateStepVector instead. NFC
>From f7696d329e755e4109cc4ec74db105bfd6b30ca9 Mon Sep 17 00:00:00 2001
From: LiqinWeng <liqin.weng at spacemit.com>
Date: Tue, 14 Jan 2025 15:59:34 +0800
Subject: [PATCH] [VP] Remove createStepVector implementation and use
IRBuilderBase::CreateStepVector instead. NFC
---
llvm/lib/CodeGen/ExpandVectorPredication.cpp | 24 +-------------------
1 file changed, 1 insertion(+), 23 deletions(-)
diff --git a/llvm/lib/CodeGen/ExpandVectorPredication.cpp b/llvm/lib/CodeGen/ExpandVectorPredication.cpp
index 5ca223852cbde3..3502d197b604da 100644
--- a/llvm/lib/CodeGen/ExpandVectorPredication.cpp
+++ b/llvm/lib/CodeGen/ExpandVectorPredication.cpp
@@ -136,17 +136,6 @@ namespace {
struct CachingVPExpander {
const TargetTransformInfo &TTI;
- /// \returns A (fixed length) vector with ascending integer indices
- /// (<0, 1, ..., NumElems-1>).
- /// \p Builder
- /// Used for instruction creation.
- /// \p LaneTy
- /// Integer element type of the result vector.
- /// \p NumElems
- /// Number of vector elements.
- Value *createStepVector(IRBuilder<> &Builder, Type *LaneTy,
- unsigned NumElems);
-
/// \returns A bitmask that is true where the lane position is less-than \p
/// EVLParam
///
@@ -216,17 +205,6 @@ struct CachingVPExpander {
//// CachingVPExpander {
-Value *CachingVPExpander::createStepVector(IRBuilder<> &Builder, Type *LaneTy,
- unsigned NumElems) {
- // TODO add caching
- SmallVector<Constant *, 16> ConstElems;
-
- for (unsigned Idx = 0; Idx < NumElems; ++Idx)
- ConstElems.push_back(ConstantInt::get(LaneTy, Idx, false));
-
- return ConstantVector::get(ConstElems);
-}
-
Value *CachingVPExpander::convertEVLToMask(IRBuilder<> &Builder,
Value *EVLParam,
ElementCount ElemCount) {
@@ -245,7 +223,7 @@ Value *CachingVPExpander::convertEVLToMask(IRBuilder<> &Builder,
Type *LaneTy = EVLParam->getType();
unsigned NumElems = ElemCount.getFixedValue();
Value *VLSplat = Builder.CreateVectorSplat(NumElems, EVLParam);
- Value *IdxVec = createStepVector(Builder, LaneTy, NumElems);
+ Value *IdxVec = Builder.CreateStepVector(VectorType::get(LaneTy, ElemCount));
return Builder.CreateICmp(CmpInst::ICMP_ULT, IdxVec, VLSplat);
}
More information about the llvm-commits
mailing list