reference, declarationdefinition
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);