LLVM 22.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 369 of file LoopVectorizationPlanner.h.

Constructor & Destructor Documentation

◆ VectorizationFactor()

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

Definition at line 383 of file LoopVectorizationPlanner.h.

References Cost, ScalarCost, and Width.

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

Member Function Documentation

◆ Disabled()

◆ operator!=()

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

Definition at line 396 of file LoopVectorizationPlanner.h.

References VectorizationFactor().

◆ operator==()

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

Definition at line 392 of file LoopVectorizationPlanner.h.

References Cost, VectorizationFactor(), and Width.

Member Data Documentation

◆ Cost

◆ MinProfitableTripCount

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().

◆ ScalarCost

InstructionCost llvm::VectorizationFactor::ScalarCost

◆ Width


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