Lines Matching defs:VTList

724 static void AddNodeIDValueTypes(FoldingSetNodeID &ID, SDVTList VTList) {
725 ID.AddPointer(VTList.VTs);
747 SDVTList VTList, ArrayRef<SDValue> OpList) {
749 AddNodeIDValueTypes(ID, VTList);
8963 SDVTList VTList, ArrayRef<SDValue> Ops,
8967 AddNodeIDNode(ID, Opcode, VTList, Ops);
8977 VTList, MemVT, MMO);
9046 unsigned Opcode, const SDLoc &dl, SDVTList VTList, ArrayRef<SDValue> Ops,
9057 return getMemIntrinsicNode(Opcode, dl, VTList, Ops, MemVT, MMO);
9061 SDVTList VTList,
9073 if (VTList.VTs[VTList.NumVTs-1] != MVT::Glue) {
9075 AddNodeIDNode(ID, Opcode, VTList, Ops);
9077 Opcode, dl.getIROrder(), VTList, MemVT, MMO));
9088 VTList, MemVT, MMO);
9094 VTList, MemVT, MMO);
10470 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
10475 return getNode(Opcode, DL, VTList, Ops, Flags);
10478 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
10480 if (VTList.NumVTs == 1)
10481 return getNode(Opcode, DL, VTList.VTs[0], Ops, Flags);
10494 assert(VTList.NumVTs == 2 && Ops.size() == 2 &&
10496 assert(VTList.VTs[0].isInteger() && VTList.VTs[1].isInteger() &&
10498 Ops[0].getValueType() == VTList.VTs[0] &&
10507 SDValue ZeroOverFlow = getConstant(0, DL, VTList.VTs[1]);
10508 return getNode(ISD::MERGE_VALUES, DL, VTList, {N1, ZeroOverFlow}, Flags);
10511 if (VTList.VTs[0].isVector() &&
10512 VTList.VTs[0].getVectorElementType() == MVT::i1 &&
10513 VTList.VTs[1].getVectorElementType() == MVT::i1) {
10518 return getNode(ISD::MERGE_VALUES, DL, VTList,
10519 {getNode(ISD::XOR, DL, VTList.VTs[0], F1, F2),
10520 getNode(ISD::AND, DL, VTList.VTs[1], F1, F2)},
10524 SDValue NotF1 = getNOT(DL, F1, VTList.VTs[0]);
10525 return getNode(ISD::MERGE_VALUES, DL, VTList,
10526 {getNode(ISD::XOR, DL, VTList.VTs[0], F1, F2),
10527 getNode(ISD::AND, DL, VTList.VTs[1], NotF1, F2)},
10537 assert(VTList.NumVTs == 2 && Ops.size() == 3 &&
10539 assert(VTList.VTs[0].isInteger() && VTList.VTs[1].isInteger() &&
10541 Ops[0].getValueType() == VTList.VTs[0] &&
10542 Ops[2].getValueType() == VTList.VTs[1] &&
10547 assert(VTList.NumVTs == 2 && Ops.size() == 2 && "Invalid mul lo/hi op!");
10548 assert(VTList.VTs[0].isInteger() && VTList.VTs[0] == VTList.VTs[1] &&
10549 VTList.VTs[0] == Ops[0].getValueType() &&
10550 VTList.VTs[0] == Ops[1].getValueType() &&
10556 unsigned Width = VTList.VTs[0].getScalarSizeInBits();
10570 getConstant(Val.extractBits(Width, Width), DL, VTList.VTs[0]);
10571 SDValue Lo = getConstant(Val.trunc(Width), DL, VTList.VTs[0]);
10572 return getNode(ISD::MERGE_VALUES, DL, VTList, {Lo, Hi}, Flags);
10577 assert(VTList.NumVTs == 2 && Ops.size() == 1 && "Invalid ffrexp op!");
10578 assert(VTList.VTs[0].isFloatingPoint() && VTList.VTs[1].isInteger() &&
10579 VTList.VTs[0] == Ops[0].getValueType() && "frexp type mismatch");
10585 SDValue Result0 = getConstantFP(FrexpMant, DL, VTList.VTs[0]);
10587 getConstant(FrexpMant.isFinite() ? FrexpExp : 0, DL, VTList.VTs[1]);
10588 return getNode(ISD::MERGE_VALUES, DL, VTList, {Result0, Result1}, Flags);
10594 assert(VTList.NumVTs == 2 && Ops.size() == 2 &&
10596 assert(VTList.VTs[0].isFloatingPoint() &&
10598 assert(VTList.VTs[0].isVector() == Ops[1].getValueType().isVector() &&
10601 assert((!VTList.VTs[0].isVector() ||
10602 VTList.VTs[0].getVectorElementCount() ==
10605 assert(Ops[1].getValueType().bitsLT(VTList.VTs[0]) &&
10609 assert(VTList.NumVTs == 2 && Ops.size() == 3 && "Invalid STRICT_FP_ROUND!");
10610 assert(VTList.VTs[0].isVector() == Ops[1].getValueType().isVector() &&
10613 assert((!VTList.VTs[0].isVector() ||
10614 VTList.VTs[0].getVectorElementCount() ==
10617 assert(VTList.VTs[0].isFloatingPoint() &&
10619 VTList.VTs[0].bitsLT(Ops[1].getValueType()) &&
10648 if (VTList.VTs[VTList.NumVTs-1] != MVT::Glue) {
10650 AddNodeIDNode(ID, Opcode, VTList, Ops);
10657 N = newSDNode<SDNode>(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTList);
10661 N = newSDNode<SDNode>(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTList);
10673 SDVTList VTList) {
10674 return getNode(Opcode, DL, VTList, ArrayRef<SDValue>());
10677 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
10680 return getNode(Opcode, DL, VTList, Ops);
10683 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
10686 return getNode(Opcode, DL, VTList, Ops);
10689 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
10692 return getNode(Opcode, DL, VTList, Ops);
10695 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
10698 return getNode(Opcode, DL, VTList, Ops);
10701 SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
10705 return getNode(Opcode, DL, VTList, Ops);
11287 SDNode *SelectionDAG::getNodeIfExists(unsigned Opcode, SDVTList VTList,
11292 return getNodeIfExists(Opcode, VTList, Ops, Flags);
11295 SDNode *SelectionDAG::getNodeIfExists(unsigned Opcode, SDVTList VTList,
11298 if (VTList.VTs[VTList.NumVTs - 1] != MVT::Glue) {
11300 AddNodeIDNode(ID, Opcode, VTList, Ops);
11311 bool SelectionDAG::doesNodeExist(unsigned Opcode, SDVTList VTList,
11313 if (VTList.VTs[VTList.NumVTs - 1] != MVT::Glue) {
11315 AddNodeIDNode(ID, Opcode, VTList, Ops);