reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
4124 MVT OVT = Node->getSimpleValueType(0); 4125 if (Node->getOpcode() == ISD::UINT_TO_FP || 4126 Node->getOpcode() == ISD::SINT_TO_FP || 4127 Node->getOpcode() == ISD::SETCC || 4128 Node->getOpcode() == ISD::EXTRACT_VECTOR_ELT || 4129 Node->getOpcode() == ISD::INSERT_VECTOR_ELT) { 4130 OVT = Node->getOperand(0).getSimpleValueType(); 4132 if (Node->getOpcode() == ISD::BR_CC) 4133 OVT = Node->getOperand(2).getSimpleValueType(); 4134 MVT NVT = TLI.getTypeToPromoteTo(Node->getOpcode(), OVT); 4135 SDLoc dl(Node); 4137 switch (Node->getOpcode()) { 4144 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Node->getOperand(0)); 4145 if (Node->getOpcode() == ISD::CTTZ) { 4156 Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1); 4157 if (Node->getOpcode() == ISD::CTLZ || 4158 Node->getOpcode() == ISD::CTLZ_ZERO_UNDEF) { 4169 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Node->getOperand(0)); 4170 Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1); 4181 Tmp1 = PromoteLegalFP_TO_INT(Node->getOperand(0), Node->getValueType(0), 4181 Tmp1 = PromoteLegalFP_TO_INT(Node->getOperand(0), Node->getValueType(0), 4182 Node->getOpcode() == ISD::FP_TO_SINT, dl); 4187 Tmp1 = PromoteLegalINT_TO_FP(Node->getOperand(0), Node->getValueType(0), 4187 Tmp1 = PromoteLegalINT_TO_FP(Node->getOperand(0), Node->getValueType(0), 4188 Node->getOpcode() == ISD::SINT_TO_FP, dl); 4192 SDValue Chain = Node->getOperand(0); // Get the chain. 4193 SDValue Ptr = Node->getOperand(1); // Get the pointer. 4205 Tmp1 = DAG.getVAArg(NVT, dl, Chain, Ptr, Node->getOperand(2), 4206 Node->getConstantOperandVal(3)); 4213 DAG.ReplaceAllUsesOfValueWith(SDValue(Node, 0), Tmp2); 4214 DAG.ReplaceAllUsesOfValueWith(SDValue(Node, 1), Chain); 4219 ReplacedNode(Node); 4237 switch (Node->getOpcode()) { 4253 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0)); 4254 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1)); 4256 Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2); 4263 unsigned ExtOp = Node->getOpcode() == ISD::UMUL_LOHI ? ISD::ZERO_EXTEND 4265 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0)); 4266 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1)); 4280 if (Node->getValueType(0).isVector() || 4281 Node->getValueType(0).getSizeInBits() == NVT.getSizeInBits()) { 4284 } else if (Node->getValueType(0).isInteger()) { 4291 Tmp1 = Node->getOperand(0); 4293 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1)); 4294 Tmp3 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(2)); 4297 Tmp1->setFlags(Node->getFlags()); 4299 Tmp1 = DAG.getNode(TruncOp, dl, Node->getValueType(0), Tmp1); 4301 Tmp1 = DAG.getNode(TruncOp, dl, Node->getValueType(0), Tmp1, 4307 ArrayRef<int> Mask = cast<ShuffleVectorSDNode>(Node)->getMask(); 4310 Tmp1 = DAG.getNode(ISD::BITCAST, dl, NVT, Node->getOperand(0)); 4311 Tmp2 = DAG.getNode(ISD::BITCAST, dl, NVT, Node->getOperand(1)); 4323 cast<CondCodeSDNode>(Node->getOperand(2))->get(); 4326 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0)); 4327 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1)); 4328 Results.push_back(DAG.getNode(ISD::SETCC, dl, Node->getValueType(0), Tmp1, 4329 Tmp2, Node->getOperand(2), Node->getFlags())); 4329 Tmp2, Node->getOperand(2), Node->getFlags())); 4336 cast<CondCodeSDNode>(Node->getOperand(1))->get(); 4339 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(2)); 4340 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(3)); 4341 Results.push_back(DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), 4342 Node->getOperand(0), Node->getOperand(1), 4342 Node->getOperand(0), Node->getOperand(1), 4343 Tmp1, Tmp2, Node->getOperand(4))); 4354 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0)); 4355 Tmp2 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(1)); 4356 Tmp3 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2, 4357 Node->getFlags()); 4362 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0)); 4363 Tmp2 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(1)); 4364 Tmp3 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(2)); 4367 DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2, Tmp3), 4372 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0)); 4373 Tmp2 = Node->getOperand(1); 4374 Tmp3 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2); 4381 const bool isTrunc = (Node->getOpcode() == ISD::FCOPYSIGN); 4402 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0)); 4403 Tmp2 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1); 4424 for (unsigned I = 0, E = Node->getNumOperands(); I != E; ++I) { 4425 SDValue Op = Node->getOperand(I); 4429 SDLoc SL(Node); 4457 SDValue Idx = Node->getOperand(1); 4459 SDLoc SL(Node); 4463 SDValue CastVec = DAG.getNode(ISD::BITCAST, SL, NVT, Node->getOperand(0)); 4503 SDValue Val = Node->getOperand(1); 4504 SDValue Idx = Node->getOperand(2); 4506 SDLoc SL(Node); 4511 SDValue CastVec = DAG.getNode(ISD::BITCAST, SL, NVT, Node->getOperand(0)); 4541 SDValue Val = Node->getOperand(0); 4542 SDLoc SL(Node); 4558 AtomicSDNode *AM = cast<AtomicSDNode>(Node); 4559 SDLoc SL(Node); 4580 ReplaceNode(Node, Results.data());