Lines Matching refs:NumParts

154                                       const SDValue *Parts, unsigned NumParts,
166 unsigned NumParts, MVT PartVT, EVT ValueVT, const Value *V, in getCopyFromParts() argument
172 if (SDValue Val = TLI.joinRegisterPartsIntoValue(DAG, DL, Parts, NumParts, in getCopyFromParts()
177 return getCopyFromPartsVector(DAG, DL, Parts, NumParts, PartVT, ValueVT, V, in getCopyFromParts()
180 assert(NumParts > 0 && "No parts to assemble!"); in getCopyFromParts()
183 if (NumParts > 1) { in getCopyFromParts()
190 unsigned RoundParts = llvm::bit_floor(NumParts); in getCopyFromParts()
213 if (RoundParts < NumParts) { in getCopyFromParts()
215 unsigned OddParts = NumParts - RoundParts; in getCopyFromParts()
224 EVT TotalVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyFromParts()
248 Val = getCopyFromParts(DAG, DL, Parts, NumParts, PartVT, IntVT, V, in getCopyFromParts()
338 const SDValue *Parts, unsigned NumParts, in getCopyFromPartsVector() argument
343 assert(NumParts > 0 && "No parts to assemble!"); in getCopyFromPartsVector()
350 if (NumParts > 1) { in getCopyFromPartsVector()
366 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!"); in getCopyFromPartsVector()
367 NumParts = NumRegs; // Silence a compiler warning. in getCopyFromPartsVector()
375 if (NumIntermediates == NumParts) { in getCopyFromPartsVector()
378 for (unsigned i = 0; i != NumParts; ++i) in getCopyFromPartsVector()
381 } else if (NumParts > 0) { in getCopyFromPartsVector()
384 assert(NumParts % NumIntermediates == 0 && in getCopyFromPartsVector()
386 unsigned Factor = NumParts / NumIntermediates; in getCopyFromPartsVector()
398 IntermediateVT.getVectorElementCount() * NumParts) in getCopyFromPartsVector()
495 SDValue Val, SDValue *Parts, unsigned NumParts,
504 unsigned NumParts, MVT PartVT, const Value *V, in getCopyToParts() argument
509 if (TLI.splitValueIntoRegisterParts(DAG, DL, Val, Parts, NumParts, PartVT, in getCopyToParts()
516 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V, in getCopyToParts()
519 unsigned OrigNumParts = NumParts; in getCopyToParts()
523 if (NumParts == 0) in getCopyToParts()
529 assert(NumParts == 1 && "No-op copy with multiple parts!"); in getCopyToParts()
535 if (NumParts * PartBits > ValueVT.getSizeInBits()) { in getCopyToParts()
538 assert(NumParts == 1 && "Do not know what to promote to!"); in getCopyToParts()
550 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
557 assert(NumParts == 1 && PartEVT != ValueVT); in getCopyToParts()
559 } else if (NumParts * PartBits < ValueVT.getSizeInBits()) { in getCopyToParts()
564 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
572 assert(NumParts * PartBits == ValueVT.getSizeInBits() && in getCopyToParts()
575 if (NumParts == 1) { in getCopyToParts()
587 if (NumParts & (NumParts - 1)) { in getCopyToParts()
591 unsigned RoundParts = llvm::bit_floor(NumParts); in getCopyToParts()
593 unsigned OddParts = NumParts - RoundParts; in getCopyToParts()
602 std::reverse(Parts + RoundParts, Parts + NumParts); in getCopyToParts()
604 NumParts = RoundParts; in getCopyToParts()
605 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); in getCopyToParts()
616 for (unsigned StepSize = NumParts; StepSize > 1; StepSize /= 2) { in getCopyToParts()
617 for (unsigned i = 0; i < NumParts; i += StepSize) { in getCopyToParts()
687 SDValue Val, SDValue *Parts, unsigned NumParts, in getCopyToPartsVector() argument
695 if (NumParts == 1) { in getCopyToPartsVector()
761 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!"); in getCopyToPartsVector()
762 NumParts = NumRegs; // Silence a compiler warning. in getCopyToPartsVector()
817 if (NumParts == NumIntermediates) { in getCopyToPartsVector()
820 for (unsigned i = 0; i != NumParts; ++i) in getCopyToPartsVector()
822 } else if (NumParts > 0) { in getCopyToPartsVector()
826 assert(NumParts % NumIntermediates == 0 && in getCopyToPartsVector()
828 unsigned Factor = NumParts / NumIntermediates; in getCopyToPartsVector()
962 unsigned NumParts = RegCount[Value]; in getCopyToRegs() local
973 NumParts, RegisterVT, V, CallConv, ExtendKind); in getCopyToRegs()
974 Part += NumParts; in getCopyToRegs()
2220 unsigned NumParts = TLI.getNumRegistersForCallingConv(Context, CC, VT); in visitRet() local
2222 SmallVector<SDValue, 4> Parts(NumParts); in visitRet()
2225 &Parts[0], NumParts, PartVT, &I, CC, ExtendKind); in visitRet()
2250 for (unsigned i = 0; i < NumParts; ++i) { in visitRet()
10505 unsigned NumParts = getNumRegistersForCallingConv(CLI.RetTy->getContext(), in LowerCallTo() local
10507 SmallVector<SDValue, 4> Parts(NumParts); in LowerCallTo()
10534 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) || in LowerCallTo()
10540 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, CLI.CB, in LowerCallTo()
10543 for (unsigned j = 0; j != NumParts; ++j) { in LowerCallTo()
10551 if (NumParts > 1 && j == 0) in LowerCallTo()
10555 if (j == NumParts - 1) in LowerCallTo()
11165 unsigned NumParts = 0; in LowerArguments() local
11167 NumParts += TLI->getNumRegistersForCallingConv(*CurDAG->getContext(), in LowerArguments()
11172 ArrayRef(&InVals[i], NumParts), ArgHasUses); in LowerArguments()
11193 unsigned NumParts = TLI->getNumRegistersForCallingConv( in LowerArguments() local
11206 ArgValues.push_back(getCopyFromParts(DAG, dl, &InVals[i], NumParts, in LowerArguments()
11211 i += NumParts; in LowerArguments()