LLVM 22.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 369 of file LoopVectorizationPlanner.h.
|
inline |
Definition at line 383 of file LoopVectorizationPlanner.h.
References Cost, ScalarCost, and Width.
Referenced by Disabled(), operator!=(), and operator==().
|
inlinestatic |
Width 1 means no vectorization, cost 0 means uncomputed cost.
Definition at line 388 of file LoopVectorizationPlanner.h.
References llvm::ElementCount::getFixed(), and VectorizationFactor().
Referenced by llvm::LoopVectorizationPlanner::computeBestVF(), llvm::LoopVectorizationPlanner::planInVPlanNativePath(), processLoopInVPlanNativePath(), and llvm::LoopVectorizationPlanner::selectEpilogueVectorizationFactor().
|
inline |
Definition at line 396 of file LoopVectorizationPlanner.h.
References VectorizationFactor().
|
inline |
Definition at line 392 of file LoopVectorizationPlanner.h.
References Cost, VectorizationFactor(), and Width.
InstructionCost llvm::VectorizationFactor::Cost |
Cost of the loop with that width.
Definition at line 374 of file LoopVectorizationPlanner.h.
Referenced by llvm::LoopVectorizationPlanner::computeBestVF(), isOutsideLoopWorkProfitable(), operator==(), llvm::LoopVectorizePass::processLoop(), and VectorizationFactor().
ElementCount llvm::VectorizationFactor::MinProfitableTripCount |
The minimum trip count required to make vectorization profitable, e.g.
due to runtime checks.
Definition at line 381 of file LoopVectorizationPlanner.h.
Referenced by isOutsideLoopWorkProfitable(), llvm::LoopVectorizePass::processLoop(), and processLoopInVPlanNativePath().
InstructionCost llvm::VectorizationFactor::ScalarCost |
Cost of the scalar loop.
Definition at line 377 of file LoopVectorizationPlanner.h.
Referenced by llvm::LoopVectorizationPlanner::computeBestVF(), isOutsideLoopWorkProfitable(), and VectorizationFactor().
ElementCount llvm::VectorizationFactor::Width |
Vector width with best cost.
Definition at line 371 of file LoopVectorizationPlanner.h.
Referenced by llvm::LoopVectorizationPlanner::computeBestVF(), isOutsideLoopWorkProfitable(), operator==(), llvm::LoopVectorizePass::processLoop(), processLoopInVPlanNativePath(), llvm::reportVectorization(), and VectorizationFactor().