Lines Matching defs:Node

186     SDNode *SelectAtomic64(SDNode *Node, unsigned Opc);
187 SDNode *SelectAtomicLoadArith(SDNode *Node, MVT NVT);
1562 SDNode *X86DAGToDAGISel::SelectAtomic64(SDNode *Node, unsigned Opc) {
1563 SDValue Chain = Node->getOperand(0);
1564 SDValue In1 = Node->getOperand(1);
1565 SDValue In2L = Node->getOperand(2);
1566 SDValue In2H = Node->getOperand(3);
1569 if (!SelectAddr(Node, In1, Tmp0, Tmp1, Tmp2, Tmp3, Tmp4))
1572 MemOp[0] = cast<MemSDNode>(Node)->getMemOperand();
1574 SDNode *ResNode = CurDAG->getMachineNode(Opc, SDLoc(Node),
1757 SDNode *X86DAGToDAGISel::SelectAtomicLoadArith(SDNode *Node, MVT NVT) {
1758 if (Node->hasAnyUseOfValue(0))
1761 SDLoc dl(Node);
1766 SDValue Chain = Node->getOperand(0);
1767 SDValue Ptr = Node->getOperand(1);
1768 SDValue Val = Node->getOperand(2);
1770 if (!SelectAddr(Node, Ptr, Tmp0, Tmp1, Tmp2, Tmp3, Tmp4))
1775 switch (Node->getOpcode()) {
1840 MemOp[0] = cast<MemSDNode>(Node)->getMemOperand();
2021 SDNode *X86DAGToDAGISel::SelectGather(SDNode *Node, unsigned Opc) {
2023 SDValue Chain = Node->getOperand(0);
2024 SDValue VSrc = Node->getOperand(2);
2025 SDValue Base = Node->getOperand(3);
2026 SDValue VIdx = Node->getOperand(4);
2027 SDValue VMask = Node->getOperand(5);
2028 ConstantSDNode *Scale = dyn_cast<ConstantSDNode>(Node->getOperand(6));
2040 SDNode *ResNode = CurDAG->getMachineNode(Opc, SDLoc(Node), VTs, Ops);
2041 // Node has 2 outputs: VDst and MVT::Other.
2043 // We replace VDst of Node with VDst of ResNode, and Other of Node with Other
2045 ReplaceUses(SDValue(Node, 0), SDValue(ResNode, 0));
2046 ReplaceUses(SDValue(Node, 1), SDValue(ResNode, 2));
2050 SDNode *X86DAGToDAGISel::Select(SDNode *Node) {
2051 MVT NVT = Node->getSimpleValueType(0);
2053 unsigned Opcode = Node->getOpcode();
2054 SDLoc dl(Node);
2056 DEBUG(dbgs() << "Selecting: "; Node->dump(CurDAG); dbgs() << '\n');
2058 if (Node->isMachineOpcode()) {
2059 DEBUG(dbgs() << "== "; Node->dump(CurDAG); dbgs() << '\n');
2060 Node->setNodeId(-1);
2067 unsigned IntNo = cast<ConstantSDNode>(Node->getOperand(1))->getZExtValue();
2108 SDNode *RetVal = SelectGather(Node, Opc);
2147 SDNode *RetVal = SelectAtomic64(Node, Opc);
2157 SDNode *RetVal = SelectAtomicLoadArith(Node, NVT);
2167 SDValue N0 = Node->getOperand(0);
2168 SDValue N1 = Node->getOperand(1);
2236 return CurDAG->SelectNodeTo(Node, ShlOp, NVT, SDValue(New, 0),
2240 SDValue N0 = Node->getOperand(0);
2241 SDValue N1 = Node->getOperand(1);
2259 ReplaceUses(SDValue(Node, 0), SDValue(CNode, 0));
2260 ReplaceUses(SDValue(Node, 1), SDValue(CNode, 1));
2261 ReplaceUses(SDValue(Node, 2), SDValue(CNode, 2));
2267 SDValue N0 = Node->getOperand(0);
2268 SDValue N1 = Node->getOperand(1);
2320 bool foldedLoad = TryFoldLoad(Node, N1, Tmp0, Tmp1, Tmp2, Tmp3, Tmp4);
2323 foldedLoad = TryFoldLoad(Node, N0, Tmp0, Tmp1, Tmp2, Tmp3, Tmp4);
2369 !SDValue(Node, 1).use_empty()) {
2375 if (!SDValue(Node, 0).use_empty())
2376 ReplaceUses(SDValue(Node, 1),
2384 ReplaceUses(SDValue(Node, 1),
2388 if (!SDValue(Node, 0).use_empty()) {
2395 ReplaceUses(SDValue(Node, 0), ResLo);
2399 if (!SDValue(Node, 1).use_empty()) {
2406 ReplaceUses(SDValue(Node, 1), ResHi);
2415 SDValue N0 = Node->getOperand(0);
2416 SDValue N1 = Node->getOperand(1);
2461 bool foldedLoad = TryFoldLoad(Node, N1, Tmp0, Tmp1, Tmp2, Tmp3, Tmp4);
2469 if (TryFoldLoad(Node, N0, Tmp0, Tmp1, Tmp2, Tmp3, Tmp4)) {
2542 !SDValue(Node, 1).use_empty()) {
2550 if (!SDValue(Node, 0).use_empty())
2551 ReplaceUses(SDValue(Node, 0),
2559 ReplaceUses(SDValue(Node, 1),
2563 if (!SDValue(Node, 0).use_empty()) {
2567 ReplaceUses(SDValue(Node, 0), Result);
2571 if (!SDValue(Node, 1).use_empty()) {
2575 ReplaceUses(SDValue(Node, 1), Result);
2584 if (Opcode == X86ISD::SUB && Node->hasAnyUseOfValue(0))
2587 SDValue N0 = Node->getOperand(0);
2588 SDValue N1 = Node->getOperand(1);
2593 HasNoSignedComparisonUses(Node))
2607 HasNoSignedComparisonUses(Node))) {
2633 ReplaceUses(SDValue(Node, (Opcode == X86ISD::SUB ? 1 : 0)),
2641 HasNoSignedComparisonUses(Node))) {
2670 ReplaceUses(SDValue(Node, (Opcode == X86ISD::SUB ? 1 : 0)),
2679 HasNoSignedComparisonUses(Node))) {
2692 ReplaceUses(SDValue(Node, (Opcode == X86ISD::SUB ? 1 : 0)),
2701 HasNoSignedComparisonUses(Node))) {
2714 ReplaceUses(SDValue(Node, (Opcode == X86ISD::SUB ? 1 : 0)),
2739 StoreSDNode *StoreNode = cast<StoreSDNode>(Node);
2761 SDLoc(Node),
2772 SDNode *ResNode = SelectCode(Node);
2775 if (ResNode == NULL || ResNode == Node)
2776 Node->dump(CurDAG);