diff --git a/llvm/include/llvm/Analysis/TargetTransformInfo.h b/llvm/include/llvm/Analysis/TargetTransformInfo.h index e1425fe6a58a51..db07ace4970505 100644 --- a/llvm/include/llvm/Analysis/TargetTransformInfo.h +++ b/llvm/include/llvm/Analysis/TargetTransformInfo.h @@ -939,7 +939,7 @@ class TargetTransformInfo { /// creating vectors that span multiple vector registers. /// If false, the vectorization factor will be chosen based on the /// size of the widest element type. - bool shouldMaximizeVectorBandwidth(bool OptSize) const; + bool shouldMaximizeVectorBandwidth() const; /// \return The minimum vectorization factor for types of given element /// bit width, or 0 if there is no minimum VF. The returned value only @@ -1533,7 +1533,7 @@ class TargetTransformInfo::Concept { virtual TypeSize getRegisterBitWidth(RegisterKind K) const = 0; virtual unsigned getMinVectorRegisterBitWidth() = 0; virtual Optional getMaxVScale() const = 0; - virtual bool shouldMaximizeVectorBandwidth(bool OptSize) const = 0; + virtual bool shouldMaximizeVectorBandwidth() const = 0; virtual ElementCount getMinimumVF(unsigned ElemWidth, bool IsScalable) const = 0; virtual unsigned getMaximumVF(unsigned ElemWidth, unsigned Opcode) const = 0; @@ -1976,8 +1976,8 @@ class TargetTransformInfo::Model final : public TargetTransformInfo::Concept { Optional getMaxVScale() const override { return Impl.getMaxVScale(); } - bool shouldMaximizeVectorBandwidth(bool OptSize) const override { - return Impl.shouldMaximizeVectorBandwidth(OptSize); + bool shouldMaximizeVectorBandwidth() const override { + return Impl.shouldMaximizeVectorBandwidth(); } ElementCount getMinimumVF(unsigned ElemWidth, bool IsScalable) const override { diff --git a/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h b/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h index 771b247b842c7e..392c283f9794d6 100644 --- a/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h +++ b/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h @@ -391,7 +391,7 @@ class TargetTransformInfoImplBase { Optional getMaxVScale() const { return None; } - bool shouldMaximizeVectorBandwidth(bool OptSize) const { return false; } + bool shouldMaximizeVectorBandwidth() const { return false; } ElementCount getMinimumVF(unsigned ElemWidth, bool IsScalable) const { return ElementCount::get(0, IsScalable); diff --git a/llvm/lib/Analysis/TargetTransformInfo.cpp b/llvm/lib/Analysis/TargetTransformInfo.cpp index 8a750e0ad30da0..1183446c8f42d1 100644 --- a/llvm/lib/Analysis/TargetTransformInfo.cpp +++ b/llvm/lib/Analysis/TargetTransformInfo.cpp @@ -596,8 +596,8 @@ Optional TargetTransformInfo::getMaxVScale() const { return TTIImpl->getMaxVScale(); } -bool TargetTransformInfo::shouldMaximizeVectorBandwidth(bool OptSize) const { - return TTIImpl->shouldMaximizeVectorBandwidth(OptSize); +bool TargetTransformInfo::shouldMaximizeVectorBandwidth() const { + return TTIImpl->shouldMaximizeVectorBandwidth(); } ElementCount TargetTransformInfo::getMinimumVF(unsigned ElemWidth, diff --git a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h index eb8f5d0dc61254..1564710e18428b 100644 --- a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h +++ b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h @@ -85,7 +85,7 @@ class HexagonTTIImpl : public BasicTTIImplBase { unsigned getMinVectorRegisterBitWidth() const; ElementCount getMinimumVF(unsigned ElemWidth, bool IsScalable) const; - bool shouldMaximizeVectorBandwidth(bool OptSize) const { + bool shouldMaximizeVectorBandwidth() const { return true; } bool supportsEfficientVectorElementLoadStore() { diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp index 1fa7499192acf9..a371831da38488 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -5836,7 +5836,7 @@ LoopVectorizationCostModel::computeFeasibleMaxVF(unsigned ConstTripCount, } ElementCount MaxVF = MaxVectorSize; - if (TTI.shouldMaximizeVectorBandwidth(!isScalarEpilogueAllowed()) || + if (TTI.shouldMaximizeVectorBandwidth() || (MaximizeBandwidth && isScalarEpilogueAllowed())) { // Collect all viable vectorization factors larger than the default MaxVF // (i.e. MaxVectorSize).