Home | History | Annotate | Download | only in SelectionDAG

Lines Matching full:getnode

206     SDValue Tmp = DAG.getNode(ISD::SETCC, dl,
211 NewLHS = DAG.getNode(ISD::SETCC, dl,
214 NewLHS = DAG.getNode(ISD::OR, dl, Tmp.getValueType(), Tmp, NewLHS);
302 SDValue New = DAG.getNode(Op.getOpcode(), dl, VT, Op.getOperand(0),
327 assert(Op.getNode()->getNumValues() == 1 &&
336 if (!Op.getNode()->hasOneUse())
351 SDValue X = DAG.getNode(Op.getOpcode(), dl, SmallVT,
352 DAG.getNode(ISD::TRUNCATE, dl, SmallVT,
353 Op.getNode()->getOperand(0)),
354 DAG.getNode(ISD::TRUNCATE, dl, SmallVT,
355 Op.getNode()->getOperand(1)));
357 SDValue Z = DAG.getNode(NeedZext ? ISD::ZERO_EXTEND : ISD::ANY_EXTEND,
388 if (!Op.getNode()->hasOneUse()) {
520 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::OR, dl, Op.getValueType(),
538 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::AND, dl, VT,
552 SDValue New = TLO.DAG.getNode(Op.getOpcode(), dl,VT, Op.getOperand(0),
628 return TLO.CombineTo(Op, TLO.DAG.getNode(Opc, dl, VT,
639 if (InOp.getNode()->getOpcode() == ISD::ANY_EXTEND) {
640 SDValue InnerOp = InOp.getNode()->getOperand(0);
649 TLO.DAG.getNode(ISD::SHL, dl, InnerVT, InnerOp,
653 TLO.DAG.getNode(ISD::ANY_EXTEND, dl, Op.getValueType(),
675 SDValue NewExt = TLO.DAG.getNode(ISD::ANY_EXTEND, dl, VT,
677 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::SHL, dl, VT,
716 return TLO.CombineTo(Op, TLO.DAG.getNode(Opc, dl, VT,
740 TLO.DAG.getNode(ISD::SRL, dl, Op.getValueType(),
772 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::SRL, dl, VT,
782 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::SRL, dl, VT,
807 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::SHL, dl,
888 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::ANY_EXTEND, dl,
910 return TLO.CombineTo(Op,TLO.DAG.getNode(ISD::ANY_EXTEND, dl,
928 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::ZERO_EXTEND, dl,
968 if (Op.getOperand(0).getNode()->hasOneUse()) {
997 SDValue NewTrunc = TLO.DAG.getNode(ISD::TRUNCATE, dl,
1000 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::SRL, dl,
1040 SDValue Sign = TLO.DAG.getNode(ISD::FGETSIGN, dl, Ty, Op.getOperand(0));
1043 Sign = TLO.DAG.getNode(ISD::ZERO_EXTEND, dl, Op.getValueType(), Sign);
1046 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::SHL, dl,
1125 dyn_cast<ConstantSDNode>(Val.getNode()->getOperand(0)))
1133 dyn_cast<ConstantSDNode>(Val.getNode()->getOperand(0)))
1228 if (isa<ConstantSDNode>(N0.getNode()) &&
1233 if (ConstantSDNode *N1C = dyn_cast<ConstantSDNode>(N1.getNode())) {
1275 SDValue Sub = DAG.getNode(ISD::SUB, dl, CTVT, CTOp,
1277 SDValue And = DAG.getNode(ISD::AND, dl, CTVT, CTOp, Sub);
1315 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, dl, MinVT, PreZExt);
1328 N0.getNode()->hasOneUse() &&
1330 N0.getOperand(0).getNode()->hasOneUse() &&
1366 Ptr = DAG.getNode(ISD::ADD, dl, PtrType, Lod->getBasePtr(),
1373 DAG.getNode(ISD::AND, dl, newVT, NewLoad,
1451 ZextOp = DAG.getNode(ISD::AND, dl, Op0Ty, N0.getOperand(0),
1455 DCI.AddToWorklist(ZextOp.getNode());
1470 return DAG.getNode(ISD::TRUNCATE, dl, VT, N0);
1500 Val = DAG.getNode(ISD::AND, dl, N0.getValueType(),
1529 Op0 = DAG.getNode(ISD::AND, dl, VT,
1530 DAG.getNode(ISD::TRUNCATE, dl, VT, Op0.getOperand(0)),
1533 Op0 = DAG.getNode(ISD::AND, dl, VT,
1534 DAG.getNode(ISD::ANY_EXTEND, dl, VT, Op0.getOperand(0)),
1648 return DAG.getNode(ISD::TRUNCATE, dl, VT,
1649 DAG.getNode(ISD::SRL, dl, N0.getValueType(), N0,
1656 return DAG.getNode(ISD::TRUNCATE, dl, VT,
1657 DAG.getNode(ISD::SRL, dl, N0.getValueType(), N0,
1676 SDValue Shift = DAG.getNode(ISD::SRL, dl, CmpTy, N0.getOperand(0),
1704 SDValue Shift = DAG.getNode(ISD::SRL, dl, CmpTy, N0,
1713 if (isa<ConstantFPSDNode>(N0.getNode())) {
1716 if (O.getNode()) return O;
1717 } else if (ConstantFPSDNode *CFP = dyn_cast<ConstantFPSDNode>(N1.getNode())) {
1837 if (N0.getOpcode() == ISD::ADD && N0.getNode()->hasOneUse()) {
1859 if (N0.getOpcode() == ISD::SUB && N0.getNode()->hasOneUse()) {
1878 if (!LegalRHSImm || N0.getNode()->hasOneUse()) {
1886 if (N0.getNode()->hasOneUse()) {
1889 SDValue SH = DAG.getNode(ISD::SHL, dl, N1.getValueType(), N1,
1892 DCI.AddToWorklist(SH.getNode());
1909 if (N1.getNode()->hasOneUse()) {
1912 SDValue SH = DAG.getNode(ISD::SHL, dl, N1.getValueType(), N0,
1915 DCI.AddToWorklist(SH.getNode());
1955 Temp = DAG.getNode(ISD::XOR, dl, MVT::i1, N0, N1);
1958 DCI.AddToWorklist(Temp.getNode());
1961 N0 = DAG.getNode(ISD::XOR, dl, MVT::i1, N0, N1);
1966 N0 = DAG.getNode(ISD::AND, dl, MVT::i1, N1, Temp);
1968 DCI.AddToWorklist(Temp.getNode());
1973 N0 = DAG.getNode(ISD::AND, dl, MVT::i1, N0, Temp);
1975 DCI.AddToWorklist(Temp.getNode());
1980 N0 = DAG.getNode(ISD::OR, dl, MVT::i1, N1, Temp);
1982 DCI.AddToWorklist(Temp.getNode());
1987 N0 = DAG.getNode(ISD::OR, dl, MVT::i1, N0, Temp);
1992 DCI.AddToWorklist(N0.getNode());
1994 N0 = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, N0);
2017 if (isGAPlusOffset(N1.getNode(), GA, Offset)) {
2023 } else if (isGAPlusOffset(N2.getNode(), GA, Offset)) {
2548 if (CType == TargetLowering::C_Other && Op.getNode()) {
2628 Op1 = DAG.getNode(ISD::SRA, dl, Op1.getValueType(), Op1, Amt, false, false,
2639 return DAG.getNode(ISD::MUL, dl, Op1.getValueType(), Op1, Op2);
2664 Q = DAG.getNode(ISD::MULHS, dl, VT, N->getOperand(0),
2668 Q = SDValue(DAG.getNode(ISD::SMUL_LOHI, dl, DAG.getVTList(VT, VT),
2670 DAG.getConstant(magics.m, VT)).getNode(), 1);
2675 Q = DAG.getNode(ISD::ADD, dl, VT, Q, N->getOperand(0));
2677 Created->push_back(Q.getNode());
2681 Q = DAG.getNode(ISD::SUB, dl, VT, Q, N->getOperand(0));
2683 Created->push_back(Q.getNode());
2687 Q = DAG.getNode(ISD::SRA, dl, VT, Q,
2690 Created->push_back(Q.getNode());
2693 SDValue T = DAG.getNode(ISD::SRL, dl, VT, Q,
2697 Created->push_back(T.getNode());
2698 return DAG.getNode(ISD::ADD, dl, VT, Q, T);
2726 Q = DAG.getNode(ISD::SRL, dl, VT, Q,
2729 Created->push_back(Q.getNode());
2740 Q = DAG.getNode(ISD::MULHU, dl, VT, Q, DAG.getConstant(magics.m, VT));
2743 Q = SDValue(DAG.getNode(ISD::UMUL_LOHI, dl, DAG.getVTList(VT, VT), Q,
2744 DAG.getConstant(magics.m, VT)).getNode(), 1);
2748 Created->push_back(Q.getNode());
2753 return DAG.getNode(ISD::SRL, dl, VT, Q,
2756 SDValue NPQ = DAG.getNode(ISD::SUB, dl, VT, N->getOperand(0), Q);
2758 getNode());
2759 NPQ = DAG.getNode(ISD::SRL, dl, VT, NPQ,
2762 Created->push_back(NPQ.getNode());
2763 NPQ = DAG.getNode(ISD::ADD, dl, VT, NPQ, Q);
2765 Created->push_back(NPQ.getNode());
2766 return DAG.getNode(ISD::SRL, dl, VT, NPQ,
2803 assert((LL.getNode() && LH.getNode() && RL.getNode() && RH.getNode()) ||
2804 (!LL.getNode() && !LH.getNode() && !RL.getNode() && !RH.getNode()));
2806 if (!LL.getNode() && !RL.getNode() &&
2808 LL = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, N->getOperand(0));
2809 RL = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, N->getOperand(1));
2812 if (!LL.getNode())
2821 Lo = DAG.getNode(ISD::UMUL_LOHI, dl,
2823 Hi = SDValue(Lo.getNode(), 1);
2828 Lo = DAG.getNode(ISD::MUL, dl, HiLoVT, LL, RL);
2829 Hi = DAG.getNode(ISD::MULHU, dl, HiLoVT, LL, RL);
2837 Lo = DAG.getNode(ISD::SMUL_LOHI, dl,
2839 Hi = SDValue(Lo.getNode(), 1);
2844 Lo = DAG.getNode(ISD::MUL, dl, HiLoVT, LL, RL);
2845 Hi = DAG.getNode(ISD::MULHS, dl, HiLoVT, LL, RL);
2850 if (!LH.getNode() && !RH.getNode() &&
2855 LH = DAG.getNode(ISD::SRL, dl, VT, N->getOperand(0), Shift);
2856 LH = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, LH);
2857 RH = DAG.getNode(ISD::SRL, dl, VT, N->getOperand(1), Shift);
2858 RH = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, RH);
2861 if (!LH.getNode())
2866 SDValue UMulLOHI = DAG.getNode(ISD::UMUL_LOHI, dl,
2870 RH = DAG.getNode(ISD::MUL, dl, HiLoVT, LL, RH);
2871 LH = DAG.getNode(ISD::MUL, dl, HiLoVT, LH, RL);
2872 Hi = DAG.getNode(ISD::ADD, dl, HiLoVT, Hi, RH);
2873 Hi = DAG.getNode(ISD::ADD, dl, HiLoVT, Hi, LH);
2877 Lo = DAG.getNode(ISD::MUL, dl, HiLoVT, LL, RL);
2878 Hi = DAG.getNode(ISD::MULHU, dl, HiLoVT, LL, RL);
2879 RH = DAG.getNode(ISD::MUL, dl, HiLoVT, LL, RH);
2880 LH = DAG.getNode(ISD::MUL, dl, HiLoVT, LH, RL);
2881 Hi = DAG.getNode(ISD::ADD, dl, HiLoVT, Hi, RH);
2882 Hi = DAG.getNode(ISD::ADD, dl, HiLoVT, Hi, LH);