/// 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
virtual TypeSize getRegisterBitWidth(RegisterKind K) const = 0;
virtual unsigned getMinVectorRegisterBitWidth() = 0;
virtual Optional<unsigned> 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;
Optional<unsigned> 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 {
Optional<unsigned> 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);
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,
unsigned getMinVectorRegisterBitWidth() const;
ElementCount getMinimumVF(unsigned ElemWidth, bool IsScalable) const;
- bool shouldMaximizeVectorBandwidth(bool OptSize) const {
+ bool shouldMaximizeVectorBandwidth() const {
return true;
}
bool supportsEfficientVectorElementLoadStore() {
}
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).