|
reference, declaration → definition
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);