LLVM 20.0.0git
|
Struct to hold various analysis needed for cost computations. More...
#include "Transforms/Vectorize/VPlan.h"
Public Member Functions | |
VPCostContext (const TargetTransformInfo &TTI, Type *CanIVTy, LLVMContext &LLVMCtx, LoopVectorizationCostModel &CM) | |
InstructionCost | getLegacyCost (Instruction *UI, ElementCount VF) const |
Return the cost for UI with VF using the legacy cost model as fallback until computing the cost of all recipes migrates to VPlan. | |
bool | skipCostComputation (Instruction *UI, bool IsVector) const |
Return true if the cost for UI shouldn't be computed, e.g. | |
Public Attributes | |
const TargetTransformInfo & | TTI |
VPTypeAnalysis | Types |
LLVMContext & | LLVMCtx |
LoopVectorizationCostModel & | CM |
SmallPtrSet< Instruction *, 8 > | SkipCostComputation |
Struct to hold various analysis needed for cost computations.
|
inline |
InstructionCost VPCostContext::getLegacyCost | ( | Instruction * | UI, |
ElementCount | VF | ||
) | const |
Return the cost for UI
with VF
using the legacy cost model as fallback until computing the cost of all recipes migrates to VPlan.
Definition at line 7050 of file LoopVectorize.cpp.
References CM, and llvm::LoopVectorizationCostModel::getInstructionCost().
Referenced by llvm::VPRecipeBase::computeCost().
bool VPCostContext::skipCostComputation | ( | Instruction * | UI, |
bool | IsVector | ||
) | const |
Return true if the cost for UI
shouldn't be computed, e.g.
because it has already been pre-computed.
Definition at line 7055 of file LoopVectorize.cpp.
References CM, SkipCostComputation, llvm::LoopVectorizationCostModel::ValuesToIgnore, and llvm::LoopVectorizationCostModel::VecValuesToIgnore.
Referenced by llvm::VPRecipeBase::cost().
LoopVectorizationCostModel& llvm::VPCostContext::CM |
Definition at line 741 of file VPlan.h.
Referenced by getLegacyCost(), and skipCostComputation().
LLVMContext& llvm::VPCostContext::LLVMCtx |
SmallPtrSet<Instruction *, 8> llvm::VPCostContext::SkipCostComputation |
Definition at line 742 of file VPlan.h.
Referenced by llvm::VPRecipeBase::computeCost(), and skipCostComputation().
const TargetTransformInfo& llvm::VPCostContext::TTI |
Definition at line 738 of file VPlan.h.
Referenced by llvm::VPRegionBlock::cost().
VPTypeAnalysis llvm::VPCostContext::Types |