LLVM 24.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)

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 618 of file LoopVectorizationPlanner.h.

Constructor & Destructor Documentation

◆ VectorizationFactor()

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

Definition at line 632 of file LoopVectorizationPlanner.h.

References Cost, ScalarCost, and Width.

Referenced by Disabled().

Member Function Documentation

◆ Disabled()

VectorizationFactor llvm::VectorizationFactor::Disabled ( )
inlinestatic

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

Definition at line 637 of file LoopVectorizationPlanner.h.

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

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

Member Data Documentation

◆ Cost

InstructionCost llvm::VectorizationFactor::Cost

Cost of the loop with that width.

Definition at line 623 of file LoopVectorizationPlanner.h.

Referenced by llvm::LoopVectorizationPlanner::computeBestVF(), isOutsideLoopWorkProfitable(), and VectorizationFactor().

◆ MinProfitableTripCount

ElementCount llvm::VectorizationFactor::MinProfitableTripCount

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

due to runtime checks.

Definition at line 630 of file LoopVectorizationPlanner.h.

Referenced by isOutsideLoopWorkProfitable().

◆ ScalarCost

InstructionCost llvm::VectorizationFactor::ScalarCost

◆ Width

ElementCount llvm::VectorizationFactor::Width

Vector width with best cost.

Definition at line 620 of file LoopVectorizationPlanner.h.

Referenced by llvm::LoopVectorizationPlanner::computeBestVF(), isOutsideLoopWorkProfitable(), and VectorizationFactor().


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