reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
 2679     Results.push_back(ExpandBITREVERSE(Node->getOperand(0), dl));
 2682     Results.push_back(ExpandBSWAP(Node->getOperand(0), dl));
 2687     Results.push_back(DAG.getConstant(0, dl, Node->getValueType(0)));
 2690     SDValue CfaArg = DAG.getSExtOrTrunc(Node->getOperand(0), dl,
 2692     SDValue Offset = DAG.getNode(ISD::ADD, dl,
 2694                                  DAG.getNode(ISD::FRAME_TO_ARGS_OFFSET, dl,
 2698         ISD::FRAMEADDR, dl, TLI.getPointerTy(DAG.getDataLayout()),
 2699         DAG.getConstant(0, dl, TLI.getPointerTy(DAG.getDataLayout())));
 2700     Results.push_back(DAG.getNode(ISD::ADD, dl, FA.getValueType(),
 2705     Results.push_back(DAG.getConstant(1, dl, Node->getValueType(0)));
 2720                    DAG.getConstant(0, dl, Node->getValueType(0)));
 2726     Results.push_back(DAG.getConstant(0, dl, MVT::i32));
 2731     SDValue Zero = DAG.getConstant(0, dl, Node->getValueType(0));
 2734         ISD::ATOMIC_CMP_SWAP, dl, cast<AtomicSDNode>(Node)->getMemoryVT(), VTs,
 2743     SDValue Swap = DAG.getAtomic(ISD::ATOMIC_SWAP, dl,
 2757         ISD::ATOMIC_CMP_SWAP, dl, cast<AtomicSDNode>(Node)->getMemoryVT(), VTs,
 2769       LHS = DAG.getNode(ISD::AssertSext, dl, OuterType, Res,
 2771       RHS = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, OuterType,
 2776       LHS = DAG.getNode(ISD::AssertZext, dl, OuterType, Res,
 2778       RHS = DAG.getZeroExtendInReg(Node->getOperand(2), dl, AtomicType);
 2782       LHS = DAG.getZeroExtendInReg(Res, dl, AtomicType);
 2783       RHS = DAG.getZeroExtendInReg(Node->getOperand(2), dl, AtomicType);
 2790         DAG.getSetCC(dl, Node->getValueType(1), LHS, RHS, ISD::SETEQ);
 2807       Results.push_back(DAG.getConstant(0, dl, VT));
 2810       Results.push_back(DAG.getConstantFP(0, dl, VT));
 2823                             Node->getValueType(0), dl, Node->getOperand(0));
 2831                             Node->getValueType(0), dl);
 2843                             Node->getValueType(0), dl, Node->getOperand(0));
 2850                             Node->getValueType(0), dl);
 2865       SDValue One = DAG.getConstant(1, dl, VT);
 2866       SDValue And = DAG.getNode(ISD::AND, dl, VT, Node->getOperand(0), One);
 2867       SDValue Zero = DAG.getConstant(0, dl, VT);
 2868       SDValue Neg = DAG.getNode(ISD::SUB, dl, VT, Zero, And);
 2878     SDValue ShiftCst = DAG.getConstant(BitsDiff, dl, ShiftAmountTy);
 2879     Tmp1 = DAG.getNode(ISD::SHL, dl, Node->getValueType(0),
 2881     Tmp1 = DAG.getNode(ISD::SRA, dl, Node->getValueType(0), Tmp1, ShiftCst);
 2893                                 Node->getOperand(0), Node->getValueType(0), dl);
 2931       Tmp1 = DAG.getNode(ISD::BITCAST, dl, Node->getValueType(0),
 2952                                               Node->getOperand(2), dl));
 2980         Op0 = DAG.getNode(ISD::BITCAST, dl, NewVT, Op0);
 2981         Op1 = DAG.getNode(ISD::BITCAST, dl, NewVT, Op1);
 3015             ISD::EXTRACT_VECTOR_ELT, dl, EltVT, Op0,
 3016             DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout()))));
 3019             ISD::EXTRACT_VECTOR_ELT, dl, EltVT, Op1,
 3020             DAG.getConstant(Idx - NumElems, dl,
 3024     Tmp1 = DAG.getBuildVector(VT, dl, Ops);
 3026     Tmp1 = DAG.getNode(ISD::BITCAST, dl, Node->getValueType(0), Tmp1);
 3034       Tmp1 = DAG.getNode(ISD::SRL, dl, OpTy, Node->getOperand(0),
 3035                          DAG.getConstant(OpTy.getSizeInBits() / 2, dl,
 3039       Tmp1 = DAG.getNode(ISD::TRUNCATE, dl, Node->getValueType(0), Tmp1);
 3042       Tmp1 = DAG.getNode(ISD::TRUNCATE, dl, Node->getValueType(0),
 3052       Results.push_back(DAG.getCopyFromReg(Node->getOperand(0), dl, SP,
 3064       Results.push_back(DAG.getCopyToReg(Node->getOperand(0), dl, SP,
 3071     Results.push_back(DAG.getConstant(0, dl, Node->getValueType(0)));
 3079     Tmp1 = DAG.getConstantFP(-0.0, dl, Node->getValueType(0));
 3081     Tmp1 = DAG.getNode(ISD::FSUB, dl, Node->getValueType(0), Tmp1,
 3103     Tmp1 = DAG.getSelectCC(dl, Tmp1, Tmp2, Tmp1, Tmp2, Pred);
 3122       Tmp1 = DAG.getNode(ISD::FSINCOS, dl, VTs, Node->getOperand(0));
 3138           DAG.getNode(ISD::FP16_TO_FP, dl, MVT::f32, Node->getOperand(0));
 3140           DAG.getNode(ISD::FP_EXTEND, dl, Node->getValueType(0), Res));
 3152         SDValue FloatVal = DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, Op,
 3153                                        DAG.getIntPtrConstant(0, dl));
 3155             DAG.getNode(ISD::FP_TO_FP16, dl, Node->getValueType(0), FloatVal));
 3178       Tmp1 = DAG.getNode(ISD::FNEG, dl, VT, Node->getOperand(1));
 3179       Tmp1 = DAG.getNode(ISD::FADD, dl, VT, Node->getOperand(0), Tmp1, Flags);
 3189     Tmp1 = DAG.getNode(ISD::XOR, dl, VT, Node->getOperand(1),
 3190                DAG.getConstant(APInt::getAllOnesValue(VT.getSizeInBits()), dl,
 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);
 3210       Tmp1 = DAG.getNode(DivOpc, dl, VT, Tmp2, Tmp3);
 3211       Tmp1 = DAG.getNode(ISD::MUL, dl, VT, Tmp1, Tmp3);
 3212       Tmp1 = DAG.getNode(ISD::SUB, dl, VT, Tmp2, Tmp1);
 3224       Tmp1 = DAG.getNode(DivRemOpc, dl, VTs, Node->getOperand(0),
 3237     Tmp1 = DAG.getNode(ExpandOpcode, dl, VTs, Node->getOperand(0),
 3251       Results.push_back(DAG.getNode(ISD::MUL, dl, VT, LHS, RHS));
 3252       Results.push_back(DAG.getNode(MULHOpcode, dl, VT, LHS, RHS));
 3263         SDValue Lo = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Halves[2 * i]);
 3264         SDValue Hi = DAG.getNode(ISD::ANY_EXTEND, dl, VT, Halves[2 * i + 1]);
 3266             HalfType.getScalarSizeInBits(), dl,
 3268         Hi = DAG.getNode(ISD::SHL, dl, VT, Hi, Shift);
 3269         Results.push_back(DAG.getNode(ISD::OR, dl, VT, Lo, Hi));
 3298       Results.push_back(DAG.getNode(OpToUse, dl, VTs, Node->getOperand(0),
 3311       Lo = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Lo);
 3312       Hi = DAG.getNode(ISD::ANY_EXTEND, dl, VT, Hi);
 3314           DAG.getConstant(HalfType.getSizeInBits(), dl,
 3316       Hi = DAG.getNode(ISD::SHL, dl, VT, Hi, Shift);
 3317       Results.push_back(DAG.getNode(ISD::OR, dl, VT, Lo, Hi));
 3354     SDValue Sum = DAG.getNode(Op, dl, VT, LHS, RHS);
 3360     SDValue Overflow = DAG.getSetCC(dl, SetCCType, Sum, LHS, CC);
 3364         DAG.getZeroExtendInReg(DAG.getZExtOrTrunc(Carry, dl, VT), dl, MVT::i1);
 3364         DAG.getZeroExtendInReg(DAG.getZExtOrTrunc(Carry, dl, VT), dl, MVT::i1);
 3365     SDValue Sum2 = DAG.getNode(Op, dl, VT, Sum, CarryExt);
 3371     SDValue Zero = DAG.getConstant(0, dl, VT);
 3373         IsAdd ? DAG.getSetCC(dl, SetCCType, Sum2, Zero, ISD::SETEQ)
 3374               : DAG.getSetCC(dl, SetCCType, Sum, Zero, ISD::SETEQ);
 3375     Overflow2 = DAG.getNode(ISD::AND, dl, SetCCType, Overflow2,
 3376                             DAG.getZExtOrTrunc(Carry, dl, SetCCType));
 3379         DAG.getNode(ISD::OR, dl, SetCCType, Overflow, Overflow2);
 3382     Results.push_back(DAG.getBoolExtOrTrunc(ResultCarry, dl, CarryType, VT));
 3412     Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, PairTy, Node->getOperand(0));
 3413     Tmp2 = DAG.getNode(ISD::ANY_EXTEND, dl, PairTy, Node->getOperand(1));
 3415         ISD::SHL, dl, PairTy, Tmp2,
 3416         DAG.getConstant(PairTy.getSizeInBits() / 2, dl,
 3418     Results.push_back(DAG.getNode(ISD::OR, dl, PairTy, Tmp1, Tmp2));
 3426       Tmp1 = DAG.getSelectCC(dl, Tmp1.getOperand(0), Tmp1.getOperand(1),
 3430       Tmp1 = DAG.getSelectCC(dl, Tmp1,
 3431                              DAG.getConstant(0, dl, Tmp1.getValueType()),
 3454           ISD::SHL, dl, Index.getValueType(), Index,
 3455           DAG.getConstant(llvm::Log2_32(EntrySize), dl, Index.getValueType()));
 3457       Index = DAG.getNode(ISD::MUL, dl, Index.getValueType(), Index,
 3458                           DAG.getConstant(EntrySize, dl, Index.getValueType()));
 3459     SDValue Addr = DAG.getNode(ISD::ADD, dl, Index.getValueType(),
 3464         ISD::SEXTLOAD, dl, PTy, Chain, Addr,
 3471       Addr = DAG.getNode(ISD::ADD, dl, PTy, Addr,
 3475     Tmp1 = TLI.expandIndirectJTBranch(dl, LD.getValue(1), Addr, DAG);
 3485       Tmp1 = DAG.getNode(ISD::BR_CC, dl, MVT::Other,
 3497         Tmp3 = DAG.getNode(ISD::AND, dl, Tmp2.getValueType(), Tmp2,
 3498                            DAG.getConstant(1, dl, Tmp2.getValueType()));
 3499       Tmp1 = DAG.getNode(ISD::BR_CC, dl, MVT::Other, Tmp1,
 3501                          DAG.getConstant(0, dl, Tmp3.getValueType()),
 3511                                            Tmp3, NeedInvert, dl);
 3517         Tmp1 = DAG.getNode(ISD::SETCC, dl, Node->getValueType(0),
 3523         Tmp1 = DAG.getLogicalNOT(dl, Tmp1, Tmp1->getValueType(0));
 3542     Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, VT, Tmp1, Tmp2,
 3543                        DAG.getConstant(TrueValue, dl, VT),
 3544                        DAG.getConstant(0, dl, VT),
 3567       SDValue Cond = DAG.getNode(ISD::SETCC, dl, CCVT, Tmp1, Tmp2, CC, Node->getFlags());
 3568       Results.push_back(DAG.getSelect(dl, VT, Cond, Tmp3, Tmp4));
 3582       Tmp1 = DAG.getSelectCC(dl, Tmp1, Tmp2, Tmp4, Tmp3, InvCC);
 3592         Tmp1 = DAG.getSelectCC(dl, Tmp2, Tmp1, Tmp4, Tmp3, SwapInvCC);
 3600           dl);
 3612         Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, Node->getValueType(0),
 3615         Tmp2 = DAG.getConstant(0, dl, Tmp1.getValueType());
 3617         Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, Node->getValueType(0), Tmp1,
 3632         Tmp2.getValueType()), Tmp2, Tmp3, Tmp4, NeedInvert, dl);
 3641       Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1,
 3644       Tmp3 = DAG.getConstant(0, dl, Tmp2.getValueType());
 3646       Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1, Tmp4,
 3670           ISD::EXTRACT_VECTOR_ELT, dl, VT.getScalarType(), Node->getOperand(0),
 3671           DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
 3673           ISD::EXTRACT_VECTOR_ELT, dl, VT.getScalarType(), Node->getOperand(1),
 3674           DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
 3675       Scalars.push_back(DAG.getNode(Node->getOpcode(), dl,
 3679     SDValue Result = DAG.getBuildVector(Node->getValueType(0), dl, Scalars);