[llvm] 88ee17c - [RISCV][IA] Prefer getElementCount over getNumElements [nfc]

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 15 07:39:57 PDT 2025


Author: Philip Reames
Date: 2025-07-15T07:39:38-07:00
New Revision: 88ee17c24ef32b96a62f493d1c34d6380e4fdff8

URL: https://github.com/llvm/llvm-project/commit/88ee17c24ef32b96a62f493d1c34d6380e4fdff8
DIFF: https://github.com/llvm/llvm-project/commit/88ee17c24ef32b96a62f493d1c34d6380e4fdff8.diff

LOG: [RISCV][IA] Prefer getElementCount over getNumElements [nfc]

Small cleanup, with the eventual goal of making code easier to merge
between the various routines.

Added: 
    

Modified: 
    llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp b/llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
index a6ff22c4b391f..2b21453b2630d 100644
--- a/llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
+++ b/llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
@@ -106,7 +106,8 @@ bool RISCVTargetLowering::lowerInterleavedLoad(
     Value *Offset = ConstantInt::get(XLenTy, Indices[0] * ScalarSizeInBytes);
     Value *BasePtr = Builder.CreatePtrAdd(LI->getPointerOperand(), Offset);
     Value *Mask = Builder.getAllOnesMask(VTy->getElementCount());
-    Value *VL = Builder.getInt32(VTy->getNumElements());
+    Value *VL = Builder.CreateElementCount(Builder.getInt32Ty(),
+                                           VTy->getElementCount());
 
     CallInst *CI =
         Builder.CreateIntrinsic(Intrinsic::experimental_vp_strided_load,
@@ -118,7 +119,7 @@ bool RISCVTargetLowering::lowerInterleavedLoad(
     return true;
   };
 
-  Value *VL = ConstantInt::get(XLenTy, VTy->getNumElements());
+  Value *VL = Builder.CreateElementCount(XLenTy, VTy->getElementCount());
   Value *Mask = Builder.getAllOnesMask(VTy->getElementCount());
   CallInst *VlsegN = Builder.CreateIntrinsic(
       FixedVlsegIntrIds[Factor - 2], {VTy, PtrTy, XLenTy},
@@ -191,7 +192,8 @@ bool RISCVTargetLowering::lowerInterleavedStore(StoreInst *SI,
     Value *Offset = ConstantInt::get(XLenTy, Index * ScalarSizeInBytes);
     Value *BasePtr = Builder.CreatePtrAdd(SI->getPointerOperand(), Offset);
     Value *Mask = Builder.getAllOnesMask(DataVTy->getElementCount());
-    Value *VL = Builder.getInt32(VTy->getNumElements());
+    Value *VL = Builder.CreateElementCount(Builder.getInt32Ty(),
+                                           VTy->getElementCount());
 
     CallInst *CI = Builder.CreateIntrinsic(
         Intrinsic::experimental_vp_strided_store,
@@ -223,7 +225,7 @@ bool RISCVTargetLowering::lowerInterleavedStore(StoreInst *SI,
   // This VL should be OK (should be executable in one vsseg instruction,
   // potentially under larger LMULs) because we checked that the fixed vector
   // type fits in isLegalInterleavedAccessType
-  Value *VL = ConstantInt::get(XLenTy, VTy->getNumElements());
+  Value *VL = Builder.CreateElementCount(XLenTy, VTy->getElementCount());
   Value *StoreMask = Builder.getAllOnesMask(VTy->getElementCount());
   Ops.append({SI->getPointerOperand(), StoreMask, VL});
 
@@ -256,7 +258,7 @@ bool RISCVTargetLowering::lowerDeinterleaveIntrinsicToLoad(
   Type *XLenTy = Type::getIntNTy(LI->getContext(), Subtarget.getXLen());
 
   if (auto *FVTy = dyn_cast<FixedVectorType>(ResVTy)) {
-    Value *VL = ConstantInt::get(XLenTy, FVTy->getNumElements());
+    Value *VL = Builder.CreateElementCount(XLenTy, FVTy->getElementCount());
     Value *Mask = Builder.getAllOnesMask(FVTy->getElementCount());
     Return = Builder.CreateIntrinsic(FixedVlsegIntrIds[Factor - 2],
                                      {ResVTy, PtrTy, XLenTy},
@@ -330,7 +332,7 @@ bool RISCVTargetLowering::lowerInterleaveIntrinsicToStore(
         SI->getModule(), FixedVssegIntrIds[Factor - 2], {InVTy, PtrTy, XLenTy});
 
     SmallVector<Value *, 10> Ops(InterleaveValues);
-    Value *VL = ConstantInt::get(XLenTy, FVTy->getNumElements());
+    Value *VL = Builder.CreateElementCount(XLenTy, FVTy->getElementCount());
     Value *Mask = Builder.getAllOnesMask(FVTy->getElementCount());
     Ops.append({SI->getPointerOperand(), Mask, VL});
 


        


More information about the llvm-commits mailing list