[llvm] 1060d89 - [TTI] improveShuffleKindFromMask - pull out repeated Mask.size() calls. NFC.

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 25 02:58:34 PDT 2025


Author: Simon Pilgrim
Date: 2025-06-25T10:58:21+01:00
New Revision: 1060d8910f1299e7736be8a419ca0c16b9a391eb

URL: https://github.com/llvm/llvm-project/commit/1060d8910f1299e7736be8a419ca0c16b9a391eb
DIFF: https://github.com/llvm/llvm-project/commit/1060d8910f1299e7736be8a419ca0c16b9a391eb.diff

LOG: [TTI] improveShuffleKindFromMask - pull out repeated Mask.size() calls. NFC.

Added: 
    

Modified: 
    llvm/include/llvm/CodeGen/BasicTTIImpl.h

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/CodeGen/BasicTTIImpl.h b/llvm/include/llvm/CodeGen/BasicTTIImpl.h
index cabecbec175b3..6f0b0cad41590 100644
--- a/llvm/include/llvm/CodeGen/BasicTTIImpl.h
+++ b/llvm/include/llvm/CodeGen/BasicTTIImpl.h
@@ -1105,6 +1105,7 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
                                               VectorType *&SubTy) const {
     if (Mask.empty())
       return Kind;
+    int NumDstElts = Mask.size();
     int NumSrcElts = SrcTy->getElementCount().getKnownMinValue();
     switch (Kind) {
     case TTI::SK_PermuteSingleSrc: {
@@ -1115,8 +1116,8 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
       if (isSplatMask(Mask, NumSrcElts, Index))
         return TTI::SK_Broadcast;
       if (ShuffleVectorInst::isExtractSubvectorMask(Mask, NumSrcElts, Index) &&
-          (Index + Mask.size()) <= (size_t)NumSrcElts) {
-        SubTy = FixedVectorType::get(SrcTy->getElementType(), Mask.size());
+          (Index + NumDstElts) <= (size_t)NumSrcElts) {
+        SubTy = FixedVectorType::get(SrcTy->getElementType(), NumDstElts);
         return TTI::SK_ExtractSubvector;
       }
       break;
@@ -1126,8 +1127,8 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
         return improveShuffleKindFromMask(TTI::SK_PermuteSingleSrc, Mask, SrcTy,
                                           Index, SubTy);
       int NumSubElts;
-      if (Mask.size() > 2 && ShuffleVectorInst::isInsertSubvectorMask(
-                                 Mask, NumSrcElts, NumSubElts, Index)) {
+      if (NumDstElts > 2 && ShuffleVectorInst::isInsertSubvectorMask(
+                                Mask, NumSrcElts, NumSubElts, Index)) {
         if (Index + NumSubElts > NumSrcElts)
           return Kind;
         SubTy = FixedVectorType::get(SrcTy->getElementType(), NumSubElts);


        


More information about the llvm-commits mailing list