LLVM 20.0.0git
|
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. | |
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 233 of file LoopVectorizationPlanner.h.
|
inline |
Definition at line 247 of file LoopVectorizationPlanner.h.
|
inlinestatic |
Width 1 means no vectorization, cost 0 means uncomputed cost.
Definition at line 252 of file LoopVectorizationPlanner.h.
References llvm::ElementCount::getFixed().
Referenced by llvm::LoopVectorizationPlanner::plan(), llvm::LoopVectorizationPlanner::planInVPlanNativePath(), llvm::LoopVectorizePass::processLoop(), processLoopInVPlanNativePath(), and llvm::LoopVectorizationPlanner::selectEpilogueVectorizationFactor().
|
inline |
Definition at line 260 of file LoopVectorizationPlanner.h.
|
inline |
Definition at line 256 of file LoopVectorizationPlanner.h.
InstructionCost llvm::VectorizationFactor::Cost |
Cost of the loop with that width.
Definition at line 238 of file LoopVectorizationPlanner.h.
Referenced by areRuntimeChecksProfitable(), llvm::LoopVectorizationPlanner::computeBestVF(), operator==(), and llvm::LoopVectorizePass::processLoop().
ElementCount llvm::VectorizationFactor::MinProfitableTripCount |
The minimum trip count required to make vectorization profitable, e.g.
due to runtime checks.
Definition at line 245 of file LoopVectorizationPlanner.h.
Referenced by areRuntimeChecksProfitable(), and llvm::LoopVectorizePass::processLoop().
InstructionCost llvm::VectorizationFactor::ScalarCost |
Cost of the scalar loop.
Definition at line 241 of file LoopVectorizationPlanner.h.
Referenced by areRuntimeChecksProfitable(), and llvm::LoopVectorizationPlanner::plan().
ElementCount llvm::VectorizationFactor::Width |
Vector width with best cost.
Definition at line 235 of file LoopVectorizationPlanner.h.
Referenced by areRuntimeChecksProfitable(), llvm::LoopVectorizationPlanner::computeBestVF(), operator==(), llvm::LoopVectorizationPlanner::plan(), llvm::LoopVectorizePass::processLoop(), processLoopInVPlanNativePath(), and llvm::reportVectorization().