Lines Matching defs:CostKind

41                                       TTI::TargetCostKind CostKind) {
42 // Check if the type is valid for all CostKind
46 if (CostKind == TTI::TCK_CodeSize)
49 if ((CostKind != TTI::TCK_RecipThroughput) && (CostKind != TTI::TCK_Latency))
115 TTI::TargetCostKind CostKind,
130 TTI::TargetCostKind CostKind) {
131 return getIntImmCostImpl(getDataLayout(), getST(), Imm, Ty, CostKind, false);
163 TTI::TargetCostKind CostKind,
189 return getIntImmCostImpl(getDataLayout(), getST(), Imm, Ty, CostKind,
198 return getIntImmCostImpl(getDataLayout(), getST(), Imm, Ty, CostKind,
203 return getIntImmCost(Imm, Ty, CostKind);
261 return getIntImmCost(Imm, Ty, CostKind);
271 TTI::TargetCostKind CostKind) {
338 RISCVTTIImpl::getConstantPoolLoadCost(Type *Ty, TTI::TargetCostKind CostKind) {
343 /*AddressSpace=*/0, CostKind);
358 TTI::TargetCostKind CostKind,
394 LT.second, CostKind);
404 InstructionCost IndexCost = getConstantPoolLoadCost(IdxTy, CostKind);
406 getRISCVInstructionCost(RISCV::VRGATHER_VV, LT.second, CostKind);
422 InstructionCost IndexCost = getConstantPoolLoadCost(IdxTy, CostKind);
423 InstructionCost MaskCost = getConstantPoolLoadCost(MaskTy, CostKind);
426 LT.second, CostKind) +
462 SubVecTy, SubMask, CostKind, 0, nullptr);
503 getRISCVInstructionCost(RISCV::VSLIDEDOWN_VI, LT.second, CostKind);
509 getRISCVInstructionCost(RISCV::VSLIDEUP_VI, LT.second, CostKind);
522 LT.second, CostKind));
536 LT.second, CostKind));
551 LT.second, CostKind));
558 getRISCVInstructionCost(RISCV::VMV_V_X, LT.second, CostKind);
564 getRISCVInstructionCost(RISCV::VRGATHER_VI, LT.second, CostKind);
575 return LT.first * getRISCVInstructionCost(Opcodes, LT.second, CostKind);
601 getRISCVInstructionCost(Opcodes, LT.second, CostKind);
607 return BaseT::getShuffleCost(Kind, Tp, Mask, CostKind, Index, SubTp);
613 TTI::TargetCostKind CostKind) {
615 CostKind != TTI::TCK_RecipThroughput)
617 CostKind);
619 return getMemoryOpCost(Opcode, Src, Alignment, AddressSpace, CostKind);
624 Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind,
653 Opcode, LegalVTy, Alignment, AddressSpace, CostKind);
666 getMemoryOpCost(Opcode, VecTy, Alignment, AddressSpace, CostKind);
682 CostKind, 0, nullptr, {});
700 Alignment, AddressSpace, CostKind,
709 CostKind, 0, nullptr, {});
715 Align Alignment, TTI::TargetCostKind CostKind, const Instruction *I) {
716 if (CostKind != TTI::TCK_RecipThroughput)
718 Alignment, CostKind, I);
725 Alignment, CostKind, I);
732 getMemoryOpCost(Opcode, VTy.getElementType(), Alignment, 0, CostKind,
740 Align Alignment, TTI::TargetCostKind CostKind, const Instruction *I) {
745 Alignment, CostKind, I);
747 if (CostKind == TTI::TCK_CodeSize)
755 getMemoryOpCost(Opcode, VTy.getElementType(), Alignment, 0, CostKind,
836 TTI::TargetCostKind CostKind) {
877 return LT.first * getRISCVInstructionCost(Op, LT.second, CostKind);
918 LT.second, CostKind);
928 return getRISCVInstructionCost(RISCV::VID_V, LT.second, CostKind) +
930 getRISCVInstructionCost(RISCV::VADD_VX, LT.second, CostKind);
939 RISCV::VFIRST_M, getTypeLegalizationCost(ArgTy).second, CostKind);
947 CmpInst::ICMP_SLT, CostKind) +
949 CmpInst::BAD_ICMP_PREDICATE, CostKind);
1006 return getArithmeticInstrCost(*FOp, ICA.getReturnType(), CostKind);
1021 return BaseT::getIntrinsicInstrCost(ICA, CostKind);
1027 TTI::TargetCostKind CostKind,
1031 return BaseT::getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I);
1039 return BaseT::getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I);
1059 DstLT.second, CostKind);
1062 return BaseT::getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I);
1067 return getRISCVInstructionCost(Op, DstLT.second, CostKind);
1077 SrcLT.second, CostKind);
1097 Cost += getRISCVInstructionCost(Op, DstMVT, CostKind);
1128 return BaseT::getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I);
1144 TTI::TargetCostKind CostKind) {
1146 return BaseT::getMinMaxReductionCost(IID, Ty, FMF, CostKind);
1150 return BaseT::getMinMaxReductionCost(IID, Ty, FMF, CostKind);
1158 return getArithmeticReductionCost(Instruction::Or, Ty, FMF, CostKind);
1160 return getArithmeticReductionCost(Instruction::And, Ty, FMF, CostKind);
1181 TTI::CastContextHint::None, CostKind) +
1182 getCFInstrCost(Instruction::Br, CostKind);
1200 TTI::CastContextHint::None, CostKind) +
1201 getCFInstrCost(Instruction::Br, CostKind);
1205 return ExtraCost + getRISCVInstructionCost(Opcodes, LT.second, CostKind);
1242 getRISCVInstructionCost(SplitOp, LT.second, CostKind)
1244 return SplitCost + getRISCVInstructionCost(Opcodes, LT.second, CostKind);
1250 TTI::TargetCostKind CostKind) {
1252 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind);
1256 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind);
1263 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind);
1277 getRISCVInstructionCost(Opcodes, LT.second, CostKind) +
1279 CmpInst::ICMP_EQ, CostKind);
1287 getRISCVInstructionCost(Opcodes, LT.second, CostKind) +
1289 CmpInst::ICMP_NE, CostKind);
1299 return getRISCVInstructionCost(Opcodes, LT.second, CostKind);
1327 getRISCVInstructionCost(SplitOp, LT.second, CostKind)
1329 return SplitCost + getRISCVInstructionCost(Opcodes, LT.second, CostKind);
1334 FastMathFlags FMF, TTI::TargetCostKind CostKind) {
1337 FMF, CostKind);
1342 FMF, CostKind);
1346 FMF, CostKind);
1352 FMF, CostKind);
1355 getArithmeticReductionCost(Opcode, ValTy, FMF, CostKind);
1360 TTI::TargetCostKind CostKind) {
1374 return getConstantPoolLoadCost(Ty, CostKind);
1381 TTI::TargetCostKind CostKind,
1388 CostKind, OpInfo, I);
1392 Cost += getStoreImmCost(Src, OpInfo, CostKind);
1395 CostKind, OpInfo, I);
1400 LT.second.isVector() && CostKind != TTI::TCK_CodeSize)
1409 TTI::TargetCostKind CostKind,
1411 if (CostKind != TTI::TCK_RecipThroughput)
1412 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind,
1416 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind,
1421 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind,
1434 LT.second, CostKind);
1438 getRISCVInstructionCost(RISCV::VMERGE_VVM, LT.second, CostKind);
1450 InterimVT, CostKind) +
1453 LT.second, CostKind);
1461 LT.second, CostKind);
1469 getRISCVInstructionCost(RISCV::VMSLT_VV, LT.second, CostKind);
1477 return getRISCVInstructionCost(RISCV::VMXOR_MM, LT.second, CostKind);
1486 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind,
1498 LT.second, CostKind);
1506 LT.second, CostKind);
1515 getRISCVInstructionCost(RISCV::VMFLT_VV, LT.second, CostKind);
1538 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind, I);
1542 TTI::TargetCostKind CostKind,
1544 if (CostKind != TTI::TCK_RecipThroughput)
1551 TTI::TargetCostKind CostKind,
1558 return BaseT::getVectorInstrCost(Opcode, Val, CostKind, Index, Op0, Op1);
1577 getMemoryOpCost(Instruction::Load, ElemTy, Align, 0, CostKind);
1579 getMemoryOpCost(Instruction::Store, ElemTy, Align, 0, CostKind);
1590 return BaseT::getVectorInstrCost(Opcode, Val, CostKind, Index, Op0, Op1);
1600 TTI::CastContextHint::None, CostKind);
1602 = getVectorInstrCost(Opcode, WideTy, CostKind, Index, nullptr, nullptr);
1607 TTI::CastContextHint::None, CostKind);
1609 = getVectorInstrCost(Opcode, WideTy, CostKind, Index, nullptr, nullptr);
1612 TTI::CastContextHint::None, CostKind);
1665 unsigned Opcode, Type *Ty, TTI::TargetCostKind CostKind,
1670 if (CostKind != TTI::TCK_RecipThroughput)
1671 return BaseT::getArithmeticInstrCost(Opcode, Ty, CostKind, Op1Info, Op2Info,
1675 return BaseT::getArithmeticInstrCost(Opcode, Ty, CostKind, Op1Info, Op2Info,
1680 return BaseT::getArithmeticInstrCost(Opcode, Ty, CostKind, Op1Info, Op2Info,
1688 return BaseT::getArithmeticInstrCost(Opcode, Ty, CostKind, Op1Info, Op2Info,
1701 return getConstantPoolLoadCost(Ty, CostKind);
1758 return ConstantMatCost + BaseT::getArithmeticInstrCost(Opcode, Ty, CostKind,
1763 InstructionCost InstrCost = getRISCVInstructionCost(Op, LT.second, CostKind);
1776 TTI::TargetCostKind CostKind) {
1808 Cost += getArithmeticInstrCost(Instruction::Add, GEP->getType(), CostKind,
1815 Indices, AccessTy, CostKind);