LLVM 23.0.0git
llvm::VectorizationFactor Struct Reference

TODO: The following VectorizationFactor was pulled out of LoopVectorizationCostModel class. More...

#include "Transforms/Vectorize/LoopVectorizationPlanner.h"

Public Member Functions

 VectorizationFactor (ElementCount Width, InstructionCost Cost, InstructionCost ScalarCost)
bool operator== (const VectorizationFactor &rhs) const
bool operator!= (const VectorizationFactor &rhs) const

Static Public Member Functions

static VectorizationFactor Disabled ()
 Width 1 means no vectorization, cost 0 means uncomputed cost.

Public Attributes

ElementCount Width
 Vector width with best cost.
InstructionCost Cost
 Cost of the loop with that width.
InstructionCost ScalarCost
 Cost of the scalar loop.
ElementCount MinProfitableTripCount
 The minimum trip count required to make vectorization profitable, e.g.

Detailed Description

TODO: The following VectorizationFactor was pulled out of LoopVectorizationCostModel class.

LV also deals with VectorizerParams::VectorizationFactor. We need to streamline them. Information about vectorization costs.

Definition at line 507 of file LoopVectorizationPlanner.h.

Constructor & Destructor Documentation

◆ VectorizationFactor()

llvm::VectorizationFactor::VectorizationFactor ( ElementCount Width,
InstructionCost Cost,
InstructionCost ScalarCost )
inline

Definition at line 521 of file LoopVectorizationPlanner.h.

References Cost, ScalarCost, and Width.

Referenced by Disabled(), operator!=(), and operator==().

Member Function Documentation

◆ Disabled()

VectorizationFactor llvm::VectorizationFactor::Disabled ( )
inlinestatic

Width 1 means no vectorization, cost 0 means uncomputed cost.

Definition at line 526 of file LoopVectorizationPlanner.h.

References llvm::ElementCount::getFixed(), and VectorizationFactor().

Referenced by llvm::LoopVectorizationPlanner::computeBestVF(), and llvm::LoopVectorizationPlanner::selectBestEpiloguePlan().

◆ operator!=()

bool llvm::VectorizationFactor::operator!= ( const VectorizationFactor & rhs) const
inline

Definition at line 534 of file LoopVectorizationPlanner.h.

References VectorizationFactor().

◆ operator==()

bool llvm::VectorizationFactor::operator== ( const VectorizationFactor & rhs) const
inline

Definition at line 530 of file LoopVectorizationPlanner.h.

References Cost, VectorizationFactor(), and Width.

Member Data Documentation

◆ Cost

InstructionCost llvm::VectorizationFactor::Cost

◆ MinProfitableTripCount

ElementCount llvm::VectorizationFactor::MinProfitableTripCount

The minimum trip count required to make vectorization profitable, e.g.

due to runtime checks.

Definition at line 519 of file LoopVectorizationPlanner.h.

Referenced by isOutsideLoopWorkProfitable().

◆ ScalarCost

InstructionCost llvm::VectorizationFactor::ScalarCost

◆ Width

ElementCount llvm::VectorizationFactor::Width

The documentation for this struct was generated from the following file: