[llvm] d088b8a - [SLP] Rename IsUniformStride to IsUnitStride. NFCI

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Wed May 17 05:21:39 PDT 2023


Author: Luke Lau
Date: 2023-05-17T13:21:33+01:00
New Revision: d088b8af937a7bfe09ab1b01d303e0b4f0e8f9e5

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

LOG: [SLP] Rename IsUniformStride to IsUnitStride. NFCI

IsUniformStride is only used when the stride is a unit-stride, i.e. in a
plain wide vector load. This tightens the condition and renames it to
isUnitStride. It removes the old unused getUniformStrided() variant, as
isUnitStride should now imply that the stride is known.

Reviewed By: vdmitrie, ABataev

Differential Revision: https://reviews.llvm.org/D150662

Added: 
    

Modified: 
    llvm/include/llvm/Analysis/TargetTransformInfo.h
    llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/Analysis/TargetTransformInfo.h b/llvm/include/llvm/Analysis/TargetTransformInfo.h
index 3f7cb5f4bf28f..4fc56fcc46878 100644
--- a/llvm/include/llvm/Analysis/TargetTransformInfo.h
+++ b/llvm/include/llvm/Analysis/TargetTransformInfo.h
@@ -293,32 +293,26 @@ class TargetTransformInfo {
     /// All the GEPs in a set have same base address.
     unsigned IsSameBaseAddress : 1;
     /// These properties only valid if SameBaseAddress is set.
-    /// True if distance between any two neigbouring pointers is same value.
-    unsigned IsUniformStride : 1;
+    /// True if all pointers are separated by a unit stride.
+    unsigned IsUnitStride : 1;
     /// True if distance between any two neigbouring pointers is a known value.
     unsigned IsKnownStride : 1;
     unsigned Reserved : 29;
 
     bool isSameBase() const { return IsSameBaseAddress; }
-    bool isUniformStride() const {
-      return IsSameBaseAddress && IsUniformStride;
-    }
+    bool isUnitStride() const { return IsSameBaseAddress && IsUnitStride; }
     bool isKnownStride() const { return IsSameBaseAddress && IsKnownStride; }
 
-    static PointersChainInfo getKnownUniformStrided() {
-      return {/*IsSameBaseAddress=*/1, /*IsUniformStride=*/1,
+    static PointersChainInfo getUnitStride() {
+      return {/*IsSameBaseAddress=*/1, /*IsUnitStride=*/1,
               /*IsKnownStride=*/1, 0};
     }
-    static PointersChainInfo getUniformStrided() {
-      return {/*IsSameBaseAddress=*/1, /*IsUniformStride=*/1,
-              /*IsKnownStride=*/0, 0};
-    }
-    static PointersChainInfo getKnownNonUniformStrided() {
-      return {/*IsSameBaseAddress=*/1, /*IsUniformStride=*/0,
+    static PointersChainInfo getKnownStride() {
+      return {/*IsSameBaseAddress=*/1, /*IsUnitStride=*/0,
               /*IsKnownStride=*/1, 0};
     }
-    static PointersChainInfo getNonUniformStrided() {
-      return {/*IsSameBaseAddress=*/1, /*IsUniformStride=*/0,
+    static PointersChainInfo getUnknownStride() {
+      return {/*IsSameBaseAddress=*/1, /*IsUnitStride=*/0,
               /*IsKnownStride=*/0, 0};
     }
   };

diff  --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index 1e46d60124c5a..1fceae5f26106 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -7396,8 +7396,7 @@ BoUpSLP::getEntryCost(const TreeEntry *E, ArrayRef<Value *> VectorizedVals,
       // stay in vectorized code due to uses outside of these scalar
       // loads/stores.
       ScalarCost = TTI->getPointersChainCost(
-          Ptrs, BasePtr, TTI::PointersChainInfo::getKnownUniformStrided(),
-          CostKind);
+          Ptrs, BasePtr, TTI::PointersChainInfo::getUnitStride(), CostKind);
 
       SmallVector<const Value *> PtrsRetainedInVecCode;
       for (Value *V : Ptrs) {
@@ -7423,7 +7422,7 @@ BoUpSLP::getEntryCost(const TreeEntry *E, ArrayRef<Value *> VectorizedVals,
       }
       VecCost = TTI->getPointersChainCost(
           PtrsRetainedInVecCode, BasePtr,
-          TTI::PointersChainInfo::getKnownNonUniformStrided(), CostKind);
+          TTI::PointersChainInfo::getKnownStride(), CostKind);
     } else {
       // Case 1: Ptrs are the arguments of loads that we are going to transform
       // into masked gather load intrinsic.
@@ -7436,8 +7435,8 @@ BoUpSLP::getEntryCost(const TreeEntry *E, ArrayRef<Value *> VectorizedVals,
                    auto *Ptr = dyn_cast<GetElementPtrInst>(V);
                    return Ptr && !Ptr->hasAllConstantIndices();
                  })
-              ? TTI::PointersChainInfo::getNonUniformStrided()
-              : TTI::PointersChainInfo::getKnownNonUniformStrided();
+              ? TTI::PointersChainInfo::getUnknownStride()
+              : TTI::PointersChainInfo::getKnownStride();
 
       ScalarCost = TTI->getPointersChainCost(Ptrs, BasePtr, PtrsInfo, CostKind);
 


        


More information about the llvm-commits mailing list