|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp 2661 if (TLI.expandABS(Node, Tmp1, DAG))
2662 Results.push_back(Tmp1);
2665 if (TLI.expandCTPOP(Node, Tmp1, DAG))
2666 Results.push_back(Tmp1);
2670 if (TLI.expandCTLZ(Node, Tmp1, DAG))
2671 Results.push_back(Tmp1);
2675 if (TLI.expandCTTZ(Node, Tmp1, DAG))
2676 Results.push_back(Tmp1);
2821 Tmp1 = EmitStackConvert(Node->getOperand(1),
2824 ReplaceNode(Node, Tmp1.getNode());
2829 Tmp1 = EmitStackConvert(Node->getOperand(0),
2832 Results.push_back(Tmp1);
2841 Tmp1 = EmitStackConvert(Node->getOperand(1),
2844 ReplaceNode(Node, Tmp1.getNode());
2848 Tmp1 = EmitStackConvert(Node->getOperand(0),
2851 Results.push_back(Tmp1);
2879 Tmp1 = DAG.getNode(ISD::SHL, dl, Node->getValueType(0),
2881 Tmp1 = DAG.getNode(ISD::SRA, dl, Node->getValueType(0), Tmp1, ShiftCst);
2881 Tmp1 = DAG.getNode(ISD::SRA, dl, Node->getValueType(0), Tmp1, ShiftCst);
2882 Results.push_back(Tmp1);
2886 if (TLI.expandUINT_TO_FP(Node, Tmp1, DAG)) {
2887 Results.push_back(Tmp1);
2892 Tmp1 = ExpandLegalINT_TO_FP(Node->getOpcode() == ISD::SINT_TO_FP,
2894 Results.push_back(Tmp1);
2897 if (TLI.expandFP_TO_SINT(Node, Tmp1, DAG))
2898 Results.push_back(Tmp1);
2901 if (TLI.expandFP_TO_SINT(Node, Tmp1, DAG)) {
2902 ReplaceNode(Node, Tmp1.getNode());
2908 if (TLI.expandFP_TO_UINT(Node, Tmp1, Tmp2, DAG))
2909 Results.push_back(Tmp1);
2912 if (TLI.expandFP_TO_UINT(Node, Tmp1, Tmp2, DAG)) {
2916 ReplaceNodeWithValue(SDValue(Node, 0), Tmp1);
2931 Tmp1 = DAG.getNode(ISD::BITCAST, dl, Node->getValueType(0),
2934 Tmp1 = ExpandExtractFromVectorThroughStack(SDValue(Node, 0));
2935 Results.push_back(Tmp1);
3024 Tmp1 = DAG.getBuildVector(VT, dl, Ops);
3026 Tmp1 = DAG.getNode(ISD::BITCAST, dl, Node->getValueType(0), Tmp1);
3026 Tmp1 = DAG.getNode(ISD::BITCAST, dl, Node->getValueType(0), Tmp1);
3027 Results.push_back(Tmp1);
3034 Tmp1 = DAG.getNode(ISD::SRL, dl, OpTy, Node->getOperand(0),
3039 Tmp1 = DAG.getNode(ISD::TRUNCATE, dl, Node->getValueType(0), Tmp1);
3039 Tmp1 = DAG.getNode(ISD::TRUNCATE, dl, Node->getValueType(0), Tmp1);
3042 Tmp1 = DAG.getNode(ISD::TRUNCATE, dl, Node->getValueType(0),
3045 Results.push_back(Tmp1);
3079 Tmp1 = DAG.getConstantFP(-0.0, dl, Node->getValueType(0));
3081 Tmp1 = DAG.getNode(ISD::FSUB, dl, Node->getValueType(0), Tmp1,
3081 Tmp1 = DAG.getNode(ISD::FSUB, dl, Node->getValueType(0), Tmp1,
3083 Results.push_back(Tmp1);
3101 Tmp1 = Node->getOperand(0);
3103 Tmp1 = DAG.getSelectCC(dl, Tmp1, Tmp2, Tmp1, Tmp2, Pred);
3103 Tmp1 = DAG.getSelectCC(dl, Tmp1, Tmp2, Tmp1, Tmp2, Pred);
3103 Tmp1 = DAG.getSelectCC(dl, Tmp1, Tmp2, Tmp1, Tmp2, Pred);
3104 Results.push_back(Tmp1);
3122 Tmp1 = DAG.getNode(ISD::FSINCOS, dl, VTs, Node->getOperand(0));
3124 Tmp1 = Tmp1.getValue(1);
3124 Tmp1 = Tmp1.getValue(1);
3125 Results.push_back(Tmp1);
3178 Tmp1 = DAG.getNode(ISD::FNEG, dl, VT, Node->getOperand(1));
3179 Tmp1 = DAG.getNode(ISD::FADD, dl, VT, Node->getOperand(0), Tmp1, Flags);
3179 Tmp1 = DAG.getNode(ISD::FADD, dl, VT, Node->getOperand(0), Tmp1, Flags);
3180 Results.push_back(Tmp1);
3189 Tmp1 = DAG.getNode(ISD::XOR, dl, VT, Node->getOperand(1),
3192 Tmp1 = DAG.getNode(ISD::ADD, dl, VT, Tmp1, DAG.getConstant(1, dl, VT));
3192 Tmp1 = DAG.getNode(ISD::ADD, dl, VT, Tmp1, DAG.getConstant(1, dl, VT));
3193 Results.push_back(DAG.getNode(ISD::ADD, dl, VT, Node->getOperand(0), Tmp1));
3206 Tmp1 = DAG.getNode(DivRemOpc, dl, VTs, Tmp2, Tmp3).getValue(1);
3207 Results.push_back(Tmp1);
3210 Tmp1 = DAG.getNode(DivOpc, dl, VT, Tmp2, Tmp3);
3211 Tmp1 = DAG.getNode(ISD::MUL, dl, VT, Tmp1, Tmp3);
3211 Tmp1 = DAG.getNode(ISD::MUL, dl, VT, Tmp1, Tmp3);
3212 Tmp1 = DAG.getNode(ISD::SUB, dl, VT, Tmp2, Tmp1);
3212 Tmp1 = DAG.getNode(ISD::SUB, dl, VT, Tmp2, Tmp1);
3213 Results.push_back(Tmp1);
3224 Tmp1 = DAG.getNode(DivRemOpc, dl, VTs, Node->getOperand(0),
3226 Results.push_back(Tmp1);
3237 Tmp1 = DAG.getNode(ExpandOpcode, dl, VTs, Node->getOperand(0),
3239 Results.push_back(Tmp1.getValue(1));
3323 if (TLI.expandFunnelShift(Node, Tmp1, DAG))
3324 Results.push_back(Tmp1);
3328 if (TLI.expandROT(Node, Tmp1, DAG))
3329 Results.push_back(Tmp1);
3412 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, PairTy, Node->getOperand(0));
3418 Results.push_back(DAG.getNode(ISD::OR, dl, PairTy, Tmp1, Tmp2));
3422 Tmp1 = Node->getOperand(0);
3425 if (Tmp1.getOpcode() == ISD::SETCC) {
3426 Tmp1 = DAG.getSelectCC(dl, Tmp1.getOperand(0), Tmp1.getOperand(1),
3426 Tmp1 = DAG.getSelectCC(dl, Tmp1.getOperand(0), Tmp1.getOperand(1),
3426 Tmp1 = DAG.getSelectCC(dl, Tmp1.getOperand(0), Tmp1.getOperand(1),
3428 cast<CondCodeSDNode>(Tmp1.getOperand(2))->get());
3430 Tmp1 = DAG.getSelectCC(dl, Tmp1,
3430 Tmp1 = DAG.getSelectCC(dl, Tmp1,
3431 DAG.getConstant(0, dl, Tmp1.getValueType()),
3434 Tmp1->setFlags(Node->getFlags());
3435 Results.push_back(Tmp1);
3475 Tmp1 = TLI.expandIndirectJTBranch(dl, LD.getValue(1), Addr, DAG);
3476 Results.push_back(Tmp1);
3482 Tmp1 = Node->getOperand(0);
3485 Tmp1 = DAG.getNode(ISD::BR_CC, dl, MVT::Other,
3486 Tmp1, Tmp2.getOperand(2),
3499 Tmp1 = DAG.getNode(ISD::BR_CC, dl, MVT::Other, Tmp1,
3499 Tmp1 = DAG.getNode(ISD::BR_CC, dl, MVT::Other, Tmp1,
3504 Results.push_back(Tmp1);
3507 Tmp1 = Node->getOperand(0);
3510 bool Legalized = LegalizeSetCCCondCode(Node->getValueType(0), Tmp1, Tmp2,
3517 Tmp1 = DAG.getNode(ISD::SETCC, dl, Node->getValueType(0),
3518 Tmp1, Tmp2, Tmp3, Node->getFlags());
3523 Tmp1 = DAG.getLogicalNOT(dl, Tmp1, Tmp1->getValueType(0));
3523 Tmp1 = DAG.getLogicalNOT(dl, Tmp1, Tmp1->getValueType(0));
3523 Tmp1 = DAG.getLogicalNOT(dl, Tmp1, Tmp1->getValueType(0));
3525 Results.push_back(Tmp1);
3533 switch (TLI.getBooleanContents(Tmp1.getValueType())) {
3542 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, VT, Tmp1, Tmp2,
3542 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, VT, Tmp1, Tmp2,
3546 Tmp1->setFlags(Node->getFlags());
3547 Results.push_back(Tmp1);
3551 Tmp1 = Node->getOperand(0); // LHS
3559 if (TLI.isCondCodeLegalOrCustom(CCOp, Tmp1.getSimpleValueType())) {
3562 EVT CmpVT = Tmp1.getValueType();
3567 SDValue Cond = DAG.getNode(ISD::SETCC, dl, CCVT, Tmp1, Tmp2, CC, Node->getFlags());
3578 Tmp1.getValueType().isInteger());
3579 if (TLI.isCondCodeLegalOrCustom(InvCC, Tmp1.getSimpleValueType())) {
3582 Tmp1 = DAG.getSelectCC(dl, Tmp1, Tmp2, Tmp4, Tmp3, InvCC);
3582 Tmp1 = DAG.getSelectCC(dl, Tmp1, Tmp2, Tmp4, Tmp3, InvCC);
3583 Tmp1->setFlags(Node->getFlags());
3588 if (TLI.isCondCodeLegalOrCustom(SwapInvCC, Tmp1.getSimpleValueType())) {
3592 Tmp1 = DAG.getSelectCC(dl, Tmp2, Tmp1, Tmp4, Tmp3, SwapInvCC);
3592 Tmp1 = DAG.getSelectCC(dl, Tmp2, Tmp1, Tmp4, Tmp3, SwapInvCC);
3593 Tmp1->setFlags(Node->getFlags());
3599 getSetCCResultType(Tmp1.getValueType()), Tmp1, Tmp2, CC, NeedInvert,
3599 getSetCCResultType(Tmp1.getValueType()), Tmp1, Tmp2, CC, NeedInvert,
3612 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, Node->getValueType(0),
3613 Tmp1, Tmp2, Tmp3, Tmp4, CC);
3615 Tmp2 = DAG.getConstant(0, dl, Tmp1.getValueType());
3617 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, Node->getValueType(0), Tmp1,
3617 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, Node->getValueType(0), Tmp1,
3620 Tmp1->setFlags(Node->getFlags());
3622 Results.push_back(Tmp1);
3626 Tmp1 = Node->getOperand(0); // Chain
3641 Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1,
3641 Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1,
3646 Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1, Tmp4,
3646 Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1, Tmp4,
3649 Results.push_back(Tmp1);