[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