Lines Matching defs:CostKind
70 const DataLayout *DL, TTI::TargetCostKind CostKind,
73 CostKind(CostKind), TryEarlyFoldsOnly(TryEarlyFoldsOnly) {}
85 TTI::TargetCostKind CostKind;
263 TTI.getMemoryOpCost(Instruction::Load, LoadTy, Alignment, AS, CostKind);
267 /* Insert */ true, HasExtract, CostKind);
271 TTI.getMemoryOpCost(Instruction::Load, MinVecTy, Alignment, AS, CostKind);
286 TTI.getShuffleCost(TTI::SK_PermuteSingleSrc, MinVecTy, Mask, CostKind);
345 TTI.getMemoryOpCost(Instruction::Load, LoadTy, Alignment, AS, CostKind);
349 TTI.getMemoryOpCost(Instruction::Load, Ty, Alignment, AS, CostKind);
384 TTI.getVectorInstrCost(*Ext0, VecTy, CostKind, Index0);
386 TTI.getVectorInstrCost(*Ext1, VecTy, CostKind, Index1);
435 ScalarOpCost = TTI.getArithmeticInstrCost(Opcode, ScalarTy, CostKind);
436 VectorOpCost = TTI.getArithmeticInstrCost(Opcode, VecTy, CostKind);
442 Opcode, ScalarTy, CmpInst::makeCmpResultType(ScalarTy), Pred, CostKind);
444 Opcode, VecTy, CmpInst::makeCmpResultType(VecTy), Pred, CostKind);
453 TTI.getVectorInstrCost(*Ext0, VecTy, CostKind, Ext0Index);
455 TTI.getVectorInstrCost(*Ext1, VecTy, CostKind, Ext1Index);
506 VecTy, ShuffleMask, CostKind, 0, nullptr,
511 {}, CostKind, 0, nullptr, {ConvertToShuffle});
697 TTI.getArithmeticInstrCost(Instruction::FNeg, ScalarTy, CostKind) +
698 TTI.getVectorInstrCost(I, VecTy, CostKind, Index);
704 OldCost += TTI.getVectorInstrCost(*Extract, VecTy, CostKind, Index);
707 TTI.getArithmeticInstrCost(Instruction::FNeg, VecTy, CostKind) +
709 CostKind);
719 SrcVecTy, SrcMask, CostKind);
809 TTI.getShuffleCost(SK, NewShuffleTy, NewMask, CostKind) +
812 CostKind));
814 TTI.getShuffleCost(SK, SrcTy, Mask, CostKind) +
817 CostKind);
880 TTI.getVectorInstrCost(Instruction::InsertElement, VecTy, CostKind, 0) +
882 CostKind);
889 InstructionCost VectorOpCost = TTI.getIntrinsicInstrCost(Attrs, CostKind);
906 ScalarOpCost = TTI.getIntrinsicInstrCost(Attrs, CostKind);
909 VecTy->getScalarType(), CostKind);
1028 Opcode, ScalarTy, CmpInst::makeCmpResultType(ScalarTy), Pred, CostKind);
1030 Opcode, VecTy, CmpInst::makeCmpResultType(VecTy), Pred, CostKind);
1032 ScalarOpCost = TTI.getArithmeticInstrCost(Opcode, ScalarTy, CostKind);
1033 VectorOpCost = TTI.getArithmeticInstrCost(Opcode, VecTy, CostKind);
1039 Instruction::InsertElement, VecTy, CostKind, Index);
1118 ExtractElementInst *ConvertToShuf = getShuffleExtract(Ext0, Ext1, CostKind);
1134 TTI.getVectorInstrCost(*Ext0, VecTy, CostKind, Index0);
1136 TTI.getVectorInstrCost(*Ext1, VecTy, CostKind, Index1);
1139 CostKind);
1143 TTI.getArithmeticInstrCost(I.getOpcode(), I.getType(), CostKind);
1153 CostKind);
1157 ShufMask, CostKind);
1158 NewCost += TTI.getArithmeticInstrCost(I.getOpcode(), CmpTy, CostKind);
1159 NewCost += TTI.getVectorInstrCost(*Ext0, CmpTy, CostKind, CheapIndex);
1386 LI->getPointerAddressSpace(), CostKind);
1431 TTI.getVectorInstrCost(Instruction::ExtractElement, VecTy, CostKind,
1435 Align(1), LI->getPointerAddressSpace(), CostKind);
1537 OldCost += TTI.getArithmeticInstrCost(Instruction::Or, Ty, CostKind);
1539 NumSHL * TTI.getArithmeticInstrCost(Instruction::Shl, Ty, CostKind);
1541 TTI::CastContextHint::None, CostKind);
1543 TTI::CastContextHint::None, CostKind);
1547 ConcatMask, CostKind);
1549 TTI::CastContextHint::None, CostKind);
1552 TTI::CastContextHint::None, CostKind);
1554 NewCost += TTI.getArithmeticInstrCost(Instruction::Shl, Ty, CostKind);
1651 TTI.getArithmeticInstrCost(Opcode, BinOpTy, CostKind) +
1653 OuterMask, CostKind, 0, nullptr, {BinOp}, &I);
1656 Mask0, CostKind, 0, nullptr, {Op00, Op01},
1660 Mask1, CostKind, 0, nullptr, {Op10, Op11},
1664 TTI.getArithmeticInstrCost(Opcode, ShuffleDstTy, CostKind);
1668 NewMask0, CostKind, 0, nullptr, {Op00, Op01});
1671 NewMask1, CostKind, 0, nullptr, {Op10, Op11});
1763 TTI.getInstructionCost(LHS, CostKind) +
1764 TTI.getInstructionCost(RHS, CostKind) +
1766 OldMask, CostKind, 0, nullptr, {LHS, RHS}, &I);
1773 TTI::TargetCostKind CostKind) -> bool {
1786 OldCost += TTI.getInstructionCost(cast<Instruction>(Op), CostKind);
1793 ReducedInstCount |= MergeInner(X, 0, NewMask0, CostKind);
1794 ReducedInstCount |= MergeInner(Y, 0, NewMask1, CostKind);
1795 ReducedInstCount |= MergeInner(Z, NumSrcElts, NewMask0, CostKind);
1796 ReducedInstCount |= MergeInner(W, NumSrcElts, NewMask1, CostKind);
1799 TTI.getShuffleCost(SK0, BinOpTy, NewMask0, CostKind, 0, nullptr, {X, Z}) +
1800 TTI.getShuffleCost(SK1, BinOpTy, NewMask1, CostKind, 0, nullptr, {Y, W});
1804 TTI.getArithmeticInstrCost(LHS->getOpcode(), ShuffleDstTy, CostKind);
1809 ShuffleDstTy, PredLHS, CostKind);
1906 TTI::CastContextHint::None, CostKind);
1909 TTI::CastContextHint::None, CostKind);
1913 OldMask, CostKind, 0, nullptr, {}, &I);
1916 TargetTransformInfo::SK_PermuteTwoSrc, CastSrcTy, NewMask, CostKind);
1918 TTI::CastContextHint::None, CostKind);
2041 InnerCost0 = TTI.getInstructionCost(cast<Instruction>(OuterV0), CostKind);
2045 InnerCost1 = TTI.getInstructionCost(cast<Instruction>(OuterV1), CostKind);
2047 InstructionCost OuterCost = TTI.getInstructionCost(&I, CostKind);
2056 SK, ShuffleSrcTy, NewMask, CostKind, 0, nullptr, {NewX, NewY});
2105 TTI.getIntrinsicInstrCost(IntrinsicCostAttributes(IID, *II0), CostKind) +
2106 TTI.getIntrinsicInstrCost(IntrinsicCostAttributes(IID, *II1), CostKind) +
2108 CostKind, 0, nullptr, {II0, II1}, &I);
2120 VecTy, OldMask, CostKind);
2123 NewCost += TTI.getIntrinsicInstrCost(NewAttr, CostKind);
2189 static bool isFreeConcat(ArrayRef<InstLane> Item, TTI::TargetCostKind CostKind,
2200 if (TTI.getShuffleCost(TTI::SK_PermuteTwoSrc, Ty, ConcatMask, CostKind) != 0)
2461 if (isFreeConcat(Item, CostKind, TTI)) {
2580 VecTyForCost, Shuffle->getShuffleMask(), CostKind);
2583 VecTyForCost, ConcatMask, CostKind);
2642 ReductionOpc, ReductionSrcTy, std::nullopt, CostKind);
2644 TTI::CastContextHint::None, CostKind,
2648 CostKind) +
2650 TTI::CastContextHint::None, CostKind);
2897 VT, SV->getShuffleMask(), CostKind);
2900 return C + TTI.getShuffleCost(TTI::SK_PermuteTwoSrc, VT, Mask, CostKind);
2906 TTI.getArithmeticInstrCost(Op0->getOpcode(), VT, CostKind) +
2907 TTI.getArithmeticInstrCost(Op1->getOpcode(), VT, CostKind);
2920 TTI.getArithmeticInstrCost(Op0->getOpcode(), Op0SmallVT, CostKind) +
2921 TTI.getArithmeticInstrCost(Op1->getOpcode(), Op1SmallVT, CostKind);
3021 TargetTransformInfo::CastContextHint::None, CostKind);
3030 TTI.getArithmeticInstrCost(UI->getOpcode(), BigTy, CostKind);
3032 TTI.getArithmeticInstrCost(UI->getOpcode(), SmallTy, CostKind);
3045 CurrentCost += TTI.getArithmeticInstrCost(UI->getOpcode(), BigTy, CostKind);
3047 TTI.getArithmeticInstrCost(UI->getOpcode(), SmallTy, CostKind);
3056 TargetTransformInfo::CastContextHint::None, CostKind);
3115 TTI.getVectorInstrCost(*Ins, VecTy, CostKind, InsIdx);
3117 TTI.getVectorInstrCost(*Ext, VecTy, CostKind, ExtIdx);
3124 NewCost += TTI.getShuffleCost(SK, VecTy, Mask, CostKind, 0, nullptr,