• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/

Lines Matching refs:NumParts

173                                       const SDValue *Parts, unsigned NumParts,
183 const SDValue *Parts, unsigned NumParts,
189 if (SDValue Val = TLI.joinRegisterPartsIntoValue(DAG, DL, Parts, NumParts,
194 return getCopyFromPartsVector(DAG, DL, Parts, NumParts, PartVT, ValueVT, V,
197 assert(NumParts > 0 && "No parts to assemble!");
200 if (NumParts > 1) {
208 (NumParts & (NumParts - 1)) ? 1 << Log2_32(NumParts) : NumParts;
231 if (RoundParts < NumParts) {
233 unsigned OddParts = NumParts - RoundParts;
242 EVT TotalVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits);
266 Val = getCopyFromParts(DAG, DL, Parts, NumParts, PartVT, IntVT, V, CC);
345 const SDValue *Parts, unsigned NumParts,
349 assert(NumParts > 0 && "No parts to assemble!");
356 if (NumParts > 1) {
372 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!");
373 NumParts = NumRegs; // Silence a compiler warning.
381 if (NumIntermediates == NumParts) {
384 for (unsigned i = 0; i != NumParts; ++i)
387 } else if (NumParts > 0) {
390 assert(NumParts % NumIntermediates == 0 &&
392 unsigned Factor = NumParts / NumIntermediates;
404 IntermediateVT.getVectorElementCount() * NumParts)
487 SDValue Val, SDValue *Parts, unsigned NumParts,
495 SDValue *Parts, unsigned NumParts, MVT PartVT,
501 if (TLI.splitValueIntoRegisterParts(DAG, DL, Val, Parts, NumParts, PartVT,
508 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V,
512 unsigned OrigNumParts = NumParts;
516 if (NumParts == 0)
522 assert(NumParts == 1 && "No-op copy with multiple parts!");
527 if (NumParts * PartBits > ValueVT.getSizeInBits()) {
530 assert(NumParts == 1 && "Do not know what to promote to!");
542 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits);
549 assert(NumParts == 1 && PartEVT != ValueVT);
551 } else if (NumParts * PartBits < ValueVT.getSizeInBits()) {
556 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits);
564 assert(NumParts * PartBits == ValueVT.getSizeInBits() &&
567 if (NumParts == 1) {
579 if (NumParts & (NumParts - 1)) {
583 unsigned RoundParts = 1 << Log2_32(NumParts);
585 unsigned OddParts = NumParts - RoundParts;
594 std::reverse(Parts + RoundParts, Parts + NumParts);
596 NumParts = RoundParts;
597 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits);
608 for (unsigned StepSize = NumParts; StepSize > 1; StepSize /= 2) {
609 for (unsigned i = 0; i < NumParts; i += StepSize) {
660 SDValue Val, SDValue *Parts, unsigned NumParts,
668 if (NumParts == 1) {
719 assert(NumRegs == NumParts && "Part count doesn't match vector breakdown!");
720 NumParts = NumRegs; // Silence a compiler warning.
759 if (NumParts == NumIntermediates) {
762 for (unsigned i = 0; i != NumParts; ++i)
764 } else if (NumParts > 0) {
768 assert(NumParts % NumIntermediates == 0 &&
770 unsigned Factor = NumParts / NumIntermediates;
904 unsigned NumParts = RegCount[Value];
915 NumParts, RegisterVT, V, CallConv, ExtendKind);
916 Part += NumParts;
1887 unsigned NumParts = TLI.getNumRegistersForCallingConv(Context, CC, VT);
1889 SmallVector<SDValue, 4> Parts(NumParts);
1892 &Parts[0], NumParts, PartVT, &I, CC, ExtendKind);
1917 for (unsigned i = 0; i < NumParts; ++i) {
9258 unsigned NumParts = getNumRegistersForCallingConv(CLI.RetTy->getContext(),
9260 SmallVector<SDValue, 4> Parts(NumParts);
9287 if ((NumParts * PartVT.getSizeInBits() == VT.getSizeInBits()) ||
9293 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, CLI.CB,
9296 for (unsigned j = 0; j != NumParts; ++j) {
9303 if (NumParts > 1 && j == 0)
9307 if (j == NumParts - 1)
9893 unsigned NumParts = TLI->getNumRegistersForCallingConv(
9906 ArgValues.push_back(getCopyFromParts(DAG, dl, &InVals[i], NumParts,
9911 i += NumParts;