Lines Matching defs:InstructionCost

85 #include "llvm/Support/InstructionCost.h"
1398 InstructionCost getSpillCost() const;
1402 InstructionCost getTreeCost(ArrayRef<Value *> VectorizedVals = {});
3047 InstructionCost getEntryCost(const TreeEntry *E,
3158 InstructionCost getGatherCost(ArrayRef<Value *> VL, bool ForPoisonSrc,
3578 void dumpTreeCosts(const TreeEntry *E, InstructionCost ReuseShuffleCost,
3579 InstructionCost VecCost, InstructionCost ScalarCost,
4954 static std::pair<InstructionCost, InstructionCost>
4962 static InstructionCost
5196 InstructionCost ScalarLoadsCost =
5197 std::accumulate(VL.begin(), VL.end(), InstructionCost(),
5198 [&](InstructionCost C, Value *V) {
5204 InstructionCost MaskedGatherCost =
5209 InstructionCost GatherCost =
5262 InstructionCost VecLdCost = 0;
5277 InstructionCost VectorGEPCost =
5841 InstructionCost PermuteCost =
5845 InstructionCost InsertFirstCost = TTI->getVectorInstrCost(
5848 InstructionCost InsertIdxCost = TTI->getVectorInstrCost(
9020 static std::pair<InstructionCost, InstructionCost>
9502 static std::pair<InstructionCost, InstructionCost>
9506 InstructionCost ScalarCost = 0;
9507 InstructionCost VecCost = 0;
9695 InstructionCost Cost = 0;
9744 InstructionCost BVCost = TTI->getScalarizationOverhead(
9965 InstructionCost OriginalVecCost =
9970 InstructionCost StridedCost = TTI->getStridedMemoryOpCost(
9992 InstructionCost OriginalVecCost =
9997 InstructionCost StridedCost = TTI->getStridedMemoryOpCost(
10123 InstructionCost Cost = 0;
10148 InstructionCost getBuildVectorCost(ArrayRef<Value *> VL, Value *Root) {
10152 InstructionCost GatherCost = 0;
10180 InstructionCost InsertCost =
10198 InstructionCost
10270 InstructionCost Cost = 0;
10313 InstructionCost OriginalCost = ::getShuffleCost(
10403 InstructionCost createShuffleVector(Value *V1, Value *,
10413 InstructionCost createShuffleVector(Value *V1, ArrayRef<int> Mask) const {
10422 InstructionCost createIdentity(Value *) const { return TTI::TCC_Free; }
10423 InstructionCost createPoison(Type *Ty, unsigned VF) const {
10432 InstructionCost
10440 InstructionCost ExtraCost = 0;
10442 unsigned VF) -> InstructionCost {
10463 auto GetValueMinBWAffectedCost = [&](const Value *V) -> InstructionCost {
10642 return ExtraCost + BaseShuffleAnalysis::createShuffle<InstructionCost>(
10758 std::optional<InstructionCost>
10913 InstructionCost createFreeze(InstructionCost Cost) { return Cost; }
10915 InstructionCost
11072 InstructionCost
11079 return InstructionCost::getInvalid();
11100 return InstructionCost::getInvalid();
11103 return processBuildVector<ShuffleCostEstimator, InstructionCost>(
11106 InstructionCost CommonCost = 0;
11158 [=](function_ref<InstructionCost(unsigned)> ScalarEltCost,
11159 function_ref<InstructionCost(InstructionCost)> VectorCost) {
11161 InstructionCost ScalarCost = 0;
11175 InstructionCost VecCost = VectorCost(CommonCost);
11220 InstructionCost ScalarCost = 0;
11221 InstructionCost VecCost = 0;
11233 return InstructionCost::getInvalid();
11242 InstructionCost IntrinsicCost =
11260 InstructionCost ScalarCost = 0;
11286 return InstructionCost(TTI::TCC_Free);
11309 InstructionCost Cost = TTI->getExtractWithExtendCost(
11321 auto GetVectorCost = [](InstructionCost CommonCost) { return CommonCost; };
11386 InstructionCost Cost = 0;
11475 auto GetScalarCost = [&](unsigned Idx) -> InstructionCost {
11481 auto GetVectorCost = [=](InstructionCost CommonCost) {
11522 return InstructionCost(TTI::TCC_Free);
11537 InstructionCost ScalarCost = TTI->getCmpSelInstrCost(
11541 InstructionCost IntrinsicCost = GetMinMaxCost(OrigScalarTy, VI);
11547 auto GetVectorCost = [&](InstructionCost CommonCost) {
11550 InstructionCost VecCost =
11579 auto GetVectorCost = [&](InstructionCost CommonCost) {
11580 InstructionCost VecCost = GetMinMaxCost(VecTy);
11606 return InstructionCost(TTI::TCC_Free);
11617 auto GetVectorCost = [=](InstructionCost CommonCost) {
11648 auto GetVectorCost = [&](InstructionCost CommonCost) {
11649 InstructionCost VecLdCost;
11686 InstructionCost Cost = GetCostDiff(GetScalarCost, GetVectorCost);
11709 auto GetVectorCost = [=](InstructionCost CommonCost) {
11711 InstructionCost VecStCost;
11758 auto GetVectorCost = [=](InstructionCost CommonCost) {
11796 return InstructionCost(TTI::TCC_Free);
11805 auto GetVectorCost = [&, &TTIRef = *TTI](InstructionCost) {
11808 InstructionCost VecCost = 0;
11884 InstructionCost AltVecCost = TTIRef.getAltInstrCost(
11893 GetScalarCost, [&](InstructionCost) -> InstructionCost {
12163 InstructionCost BoUpSLP::getSpillCost() const {
12169 InstructionCost Cost = 0;
12245 InstructionCost IntrCost =
12247 InstructionCost CallCost = TTI->getCallInstrCost(
12443 InstructionCost BoUpSLP::getTreeCost(ArrayRef<Value *> VectorizedVals) {
12444 InstructionCost Cost = 0;
12480 InstructionCost C = getEntryCost(&TE, VectorizedVals, CheckedExtracts);
12488 InstructionCost ExtractCost = 0;
12571 InstructionCost C = TTI->getCastInstrCost(
12602 InstructionCost ExtraCost = TTI::TCC_Free;
12645 InstructionCost ScalarCost = TTI->getInstructionCost(Inst, CostKind);
12662 InstructionCost OpCost =
12782 InstructionCost SpillCost = getSpillCost();
12786 InstructionCost C = 0;
12826 InstructionCost C =
12844 InstructionCost C =
12860 InstructionCost InsertCost = TTI->getScalarizationOverhead(
12899 InstructionCost CastCost;
13479 VectorType *VecTy) -> InstructionCost {
13489 InstructionCost ShuffleCost = GetShuffleCost(SubMask, Entries, VecTy);
13490 InstructionCost FirstShuffleCost = 0;
13513 InstructionCost SecondShuffleCost = 0;
13542 InstructionCost BuildVectorCost =
13658 InstructionCost BoUpSLP::getGatherCost(ArrayRef<Value *> VL, bool ForPoisonSrc,
13668 InstructionCost Cost;
18075 InstructionCost BestCost =
18076 std::numeric_limits<InstructionCost::CostType>::max();
18087 InstructionCost Cost = std::min(VecCallCosts.first, VecCallCosts.second);
18633 InstructionCost Cost = R.getTreeCost();
19172 InstructionCost MinCost = SLPCostThreshold.getValue();
19225 InstructionCost Cost = R.getTreeCost();
20213 InstructionCost TreeCost = V.getTreeCost(VL);
20214 InstructionCost ReductionCost =
20216 InstructionCost Cost = TreeCost + ReductionCost;
20506 InstructionCost getReductionCost(TargetTransformInfo *TTI,
20514 InstructionCost VectorCost = 0, ScalarCost;
20518 auto EvaluateScalarCost = [&](function_ref<InstructionCost()> GenCostFn) {
20519 InstructionCost Cost = 0;
20530 InstructionCost ScalarCost = 0;
20537 ScalarCost = InstructionCost::getInvalid();