LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
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 and VectorizationCostTy. We need to streamline them. Information about vectorization costs.

Definition at line 229 of file LoopVectorizationPlanner.h.

Constructor & Destructor Documentation

◆ VectorizationFactor()

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

Definition at line 243 of file LoopVectorizationPlanner.h.

Member Function Documentation

◆ Disabled()

static VectorizationFactor llvm::VectorizationFactor::Disabled ( )
inlinestatic

◆ operator!=()

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

Definition at line 256 of file LoopVectorizationPlanner.h.

◆ operator==()

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

Definition at line 252 of file LoopVectorizationPlanner.h.

References Cost, and Width.

Member Data Documentation

◆ Cost

InstructionCost llvm::VectorizationFactor::Cost

Cost of the loop with that width.

Definition at line 234 of file LoopVectorizationPlanner.h.

Referenced by areRuntimeChecksProfitable(), operator==(), and llvm::LoopVectorizePass::processLoop().

◆ MinProfitableTripCount

ElementCount llvm::VectorizationFactor::MinProfitableTripCount

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

due to runtime checks.

Definition at line 241 of file LoopVectorizationPlanner.h.

Referenced by areRuntimeChecksProfitable(), and llvm::LoopVectorizePass::processLoop().

◆ ScalarCost

InstructionCost llvm::VectorizationFactor::ScalarCost

Cost of the scalar loop.

Definition at line 237 of file LoopVectorizationPlanner.h.

Referenced by areRuntimeChecksProfitable(), and llvm::LoopVectorizationPlanner::plan().

◆ Width

ElementCount llvm::VectorizationFactor::Width

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