Lines Matching refs:dl
125 const SDLoc &dl);
127 const SDLoc &dl);
133 SDValue ShuffleWithNarrowerEltType(EVT NVT, EVT VT, const SDLoc &dl,
164 const SDLoc &dl);
166 const SDLoc &dl, SDValue ChainIn);
183 void PromoteLegalINT_TO_FP(SDNode *N, const SDLoc &dl,
185 void PromoteLegalFP_TO_INT(SDNode *N, const SDLoc &dl,
187 SDValue PromoteLegalFP_TO_INT_SAT(SDNode *Node, const SDLoc &dl);
189 SDValue ExpandPARITY(SDValue Op, const SDLoc &dl);
266 EVT NVT, EVT VT, const SDLoc &dl, SDValue N1, SDValue N2, in ShuffleWithNarrowerEltType() argument
275 return DAG.getVectorShuffle(NVT, dl, N1, N2, Mask); in ShuffleWithNarrowerEltType()
289 return DAG.getVectorShuffle(NVT, dl, N1, N2, NewMask); in ShuffleWithNarrowerEltType()
297 SDLoc dl(CFP); in ExpandConstantFP() local
309 return DAG.getConstant(LLVMC->getValueAPF().bitcastToAPInt(), dl, in ExpandConstantFP()
341 ISD::EXTLOAD, dl, OrigVT, DAG.getEntryNode(), CPIdx, in ExpandConstantFP()
347 OrigVT, dl, DAG.getEntryNode(), CPIdx, in ExpandConstantFP()
354 SDLoc dl(CP); in ExpandConstant() local
360 VT, dl, DAG.getEntryNode(), CPIdx, in ExpandConstant()
372 const SDLoc &dl) { in PerformInsertVectorEltInMemory() argument
391 DAG.getEntryNode(), dl, Tmp1, StackPtr, in PerformInsertVectorEltInMemory()
398 Ch, dl, Tmp2, StackPtr2, in PerformInsertVectorEltInMemory()
401 return DAG.getLoad(VT, dl, Ch, StackPtr, MachinePointerInfo::getFixedStack( in PerformInsertVectorEltInMemory()
407 const SDLoc &dl) { in ExpandINSERT_VECTOR_ELT() argument
415 SDValue ScVec = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, in ExpandINSERT_VECTOR_ELT()
426 return DAG.getVectorShuffle(Vec.getValueType(), dl, Vec, ScVec, ShufOps); in ExpandINSERT_VECTOR_ELT()
429 return PerformInsertVectorEltInMemory(Vec, Val, Idx, dl); in ExpandINSERT_VECTOR_ELT()
448 SDLoc dl(ST); in OptimizeFloatStore() local
460 return DAG.getStore(Chain, dl, Con, Ptr, ST->getPointerInfo(), in OptimizeFloatStore()
470 return DAG.getStore(Chain, dl, Con, Ptr, ST->getPointerInfo(), in OptimizeFloatStore()
479 SDValue Lo = DAG.getConstant(IntVal.trunc(32), dl, MVT::i32); in OptimizeFloatStore()
480 SDValue Hi = DAG.getConstant(IntVal.lshr(32).trunc(32), dl, MVT::i32); in OptimizeFloatStore()
484 Lo = DAG.getStore(Chain, dl, Lo, Ptr, ST->getPointerInfo(), in OptimizeFloatStore()
486 Ptr = DAG.getMemBasePlusOffset(Ptr, TypeSize::getFixed(4), dl); in OptimizeFloatStore()
487 Hi = DAG.getStore(Chain, dl, Hi, Ptr, in OptimizeFloatStore()
491 return DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo, Hi); in OptimizeFloatStore()
502 SDLoc dl(Node); in LegalizeStoreOps() local
543 Value = DAG.getNode(ISD::BITCAST, dl, NVT, Value); in LegalizeStoreOps()
544 SDValue Result = DAG.getStore(Chain, dl, Value, Ptr, ST->getPointerInfo(), in LegalizeStoreOps()
565 Value = DAG.getZeroExtendInReg(Value, dl, StVT); in LegalizeStoreOps()
567 DAG.getTruncStore(Chain, dl, Value, Ptr, ST->getPointerInfo(), NVT, in LegalizeStoreOps()
590 Lo = DAG.getTruncStore(Chain, dl, Value, Ptr, ST->getPointerInfo(), in LegalizeStoreOps()
596 DAG.getMemBasePlusOffset(Ptr, TypeSize::getFixed(IncrementSize), dl); in LegalizeStoreOps()
598 ISD::SRL, dl, Value.getValueType(), Value, in LegalizeStoreOps()
599 DAG.getConstant(RoundWidth, dl, in LegalizeStoreOps()
601 Hi = DAG.getTruncStore(Chain, dl, Hi, Ptr, in LegalizeStoreOps()
609 ISD::SRL, dl, Value.getValueType(), Value, in LegalizeStoreOps()
610 DAG.getConstant(ExtraWidth, dl, in LegalizeStoreOps()
612 Hi = DAG.getTruncStore(Chain, dl, Hi, Ptr, ST->getPointerInfo(), RoundVT, in LegalizeStoreOps()
617 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr, in LegalizeStoreOps()
618 DAG.getConstant(IncrementSize, dl, in LegalizeStoreOps()
620 Lo = DAG.getTruncStore(Chain, dl, Value, Ptr, in LegalizeStoreOps()
626 SDValue Result = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo, Hi); in LegalizeStoreOps()
656 Value = DAG.getNode(ISD::TRUNCATE, dl, StVT, Value); in LegalizeStoreOps()
657 Result = DAG.getStore(Chain, dl, Value, Ptr, ST->getPointerInfo(), in LegalizeStoreOps()
662 Value = DAG.getNode(ISD::TRUNCATE, dl, in LegalizeStoreOps()
666 DAG.getTruncStore(Chain, dl, Value, Ptr, ST->getPointerInfo(), StVT, in LegalizeStoreOps()
681 SDLoc dl(Node); in LegalizeLoadOps() local
715 SDValue Res = DAG.getLoad(NVT, dl, Chain, Ptr, LD->getMemOperand()); in LegalizeLoadOps()
716 RVal = DAG.getNode(ISD::BITCAST, dl, VT, Res); in LegalizeLoadOps()
763 SDValue Result = DAG.getExtLoad(NewExtType, dl, Node->getValueType(0), in LegalizeLoadOps()
771 Result = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, in LegalizeLoadOps()
776 Result = DAG.getNode(ISD::AssertZext, dl, in LegalizeLoadOps()
803 Lo = DAG.getExtLoad(ISD::ZEXTLOAD, dl, Node->getValueType(0), Chain, Ptr, in LegalizeLoadOps()
810 DAG.getMemBasePlusOffset(Ptr, TypeSize::getFixed(IncrementSize), dl); in LegalizeLoadOps()
811 Hi = DAG.getExtLoad(ExtType, dl, Node->getValueType(0), Chain, Ptr, in LegalizeLoadOps()
817 Ch = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1), in LegalizeLoadOps()
822 ISD::SHL, dl, Hi.getValueType(), Hi, in LegalizeLoadOps()
823 DAG.getConstant(RoundWidth, dl, in LegalizeLoadOps()
827 Value = DAG.getNode(ISD::OR, dl, Node->getValueType(0), Lo, Hi); in LegalizeLoadOps()
832 Hi = DAG.getExtLoad(ExtType, dl, Node->getValueType(0), Chain, Ptr, in LegalizeLoadOps()
839 DAG.getMemBasePlusOffset(Ptr, TypeSize::getFixed(IncrementSize), dl); in LegalizeLoadOps()
840 Lo = DAG.getExtLoad(ISD::ZEXTLOAD, dl, Node->getValueType(0), Chain, Ptr, in LegalizeLoadOps()
846 Ch = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1), in LegalizeLoadOps()
851 ISD::SHL, dl, Hi.getValueType(), Hi, in LegalizeLoadOps()
852 DAG.getConstant(ExtraWidth, dl, in LegalizeLoadOps()
856 Value = DAG.getNode(ISD::OR, dl, Node->getValueType(0), Lo, Hi); in LegalizeLoadOps()
903 SDValue Load = DAG.getExtLoad(MidExtType, dl, LoadVT, Chain, Ptr, in LegalizeLoadOps()
907 Value = DAG.getNode(ExtendOp, dl, Node->getValueType(0), Load); in LegalizeLoadOps()
922 SDValue Result = DAG.getExtLoad(ISD::ZEXTLOAD, dl, ILoadVT, Chain, in LegalizeLoadOps()
926 dl, DestVT, Result); in LegalizeLoadOps()
943 SDValue Result = DAG.getExtLoad(ISD::EXTLOAD, dl, in LegalizeLoadOps()
949 ValRes = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, in LegalizeLoadOps()
953 ValRes = DAG.getZeroExtendInReg(Result, dl, SrcVT); in LegalizeLoadOps()
1383 SDLoc dl(Op); in ExpandExtractFromVectorThroughStack() local
1429 Ch = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr, in ExpandExtractFromVectorThroughStack()
1442 NewLoad = DAG.getLoad(Op.getValueType(), dl, Ch, StackPtr, in ExpandExtractFromVectorThroughStack()
1446 NewLoad = DAG.getExtLoad(ISD::EXTLOAD, dl, Op.getValueType(), Ch, StackPtr, in ExpandExtractFromVectorThroughStack()
1470 SDLoc dl(Op); in ExpandInsertToVectorThroughStack() local
1481 SDValue Ch = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr, PtrInfo); in ExpandInsertToVectorThroughStack()
1489 Ch, dl, Part, SubStackPtr, in ExpandInsertToVectorThroughStack()
1493 return DAG.getLoad(Op.getValueType(), dl, Ch, StackPtr, PtrInfo); in ExpandInsertToVectorThroughStack()
1508 SDLoc dl(Node); in ExpandVectorBuildThroughStack() local
1532 DAG.getMemBasePlusOffset(FIPtr, TypeSize::getFixed(Offset), dl); in ExpandVectorBuildThroughStack()
1535 Stores.push_back(DAG.getTruncStore(DAG.getEntryNode(), dl, in ExpandVectorBuildThroughStack()
1539 Stores.push_back(DAG.getStore(DAG.getEntryNode(), dl, Node->getOperand(i), in ExpandVectorBuildThroughStack()
1545 StoreChain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Stores); in ExpandVectorBuildThroughStack()
1550 return DAG.getLoad(VT, dl, StoreChain, FIPtr, PtrInfo); in ExpandVectorBuildThroughStack()
1721 SDLoc dl(Node); in ExpandDYNAMIC_STACKALLOC() local
1730 Chain = DAG.getCALLSEQ_START(Chain, 0, 0, dl); in ExpandDYNAMIC_STACKALLOC()
1733 SDValue SP = DAG.getCopyFromReg(Chain, dl, SPReg, VT); in ExpandDYNAMIC_STACKALLOC()
1742 Tmp1 = DAG.getNode(Opc, dl, VT, SP, Size); // Value in ExpandDYNAMIC_STACKALLOC()
1744 Tmp1 = DAG.getNode(ISD::AND, dl, VT, Tmp1, in ExpandDYNAMIC_STACKALLOC()
1745 DAG.getConstant(-Alignment.value(), dl, VT)); in ExpandDYNAMIC_STACKALLOC()
1746 Chain = DAG.getCopyToReg(Chain, dl, SPReg, Tmp1); // Output chain in ExpandDYNAMIC_STACKALLOC()
1748 Tmp2 = DAG.getCALLSEQ_END(Chain, 0, 0, SDValue(), dl); in ExpandDYNAMIC_STACKALLOC()
1759 EVT DestVT, const SDLoc &dl) { in EmitStackConvert() argument
1760 return EmitStackConvert(SrcOp, SlotVT, DestVT, dl, DAG.getEntryNode()); in EmitStackConvert()
1764 EVT DestVT, const SDLoc &dl, in EmitStackConvert() argument
1792 Store = DAG.getTruncStore(Chain, dl, SrcOp, FIPtr, PtrInfo, in EmitStackConvert()
1796 Store = DAG.getStore(Chain, dl, SrcOp, FIPtr, PtrInfo, SrcAlign); in EmitStackConvert()
1801 return DAG.getLoad(DestVT, dl, Store, FIPtr, PtrInfo, DestAlign); in EmitStackConvert()
1804 return DAG.getExtLoad(ISD::EXTLOAD, dl, DestVT, Store, FIPtr, PtrInfo, SlotVT, in EmitStackConvert()
1809 SDLoc dl(Node); in ExpandSCALAR_TO_VECTOR() local
1818 DAG.getEntryNode(), dl, Node->getOperand(0), StackPtr, in ExpandSCALAR_TO_VECTOR()
1822 Node->getValueType(0), dl, Ch, StackPtr, in ExpandSCALAR_TO_VECTOR()
1830 SDLoc dl(Node); in ExpandBVWithShuffles() local
1850 Vec = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, V); in ExpandBVWithShuffles()
1879 Shuffle = DAG.getVectorShuffle(VT, dl, IntermedVals[i].first, in ExpandBVWithShuffles()
1912 Res = DAG.getVectorShuffle(VT, dl, Vec1, Vec2, ShuffleVec); in ExpandBVWithShuffles()
1925 SDLoc dl(Node); in ExpandBUILD_VECTOR() local
1958 return DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Node->getOperand(0)); in ExpandBUILD_VECTOR()
1990 VT, dl, DAG.getEntryNode(), CPIdx, in ExpandBUILD_VECTOR()
2013 SDValue Vec1 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Value1); in ExpandBUILD_VECTOR()
2016 Vec2 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Value2); in ExpandBUILD_VECTOR()
2021 return DAG.getVectorShuffle(VT, dl, Vec1, Vec2, ShuffleVec); in ExpandBUILD_VECTOR()
2114 SDLoc dl(Node); in ExpandFrexpLibCall() local
2144 SDValue LoadExp = DAG.getLoad(ExpVT, dl, Chain, StackSlot, PtrInfo); in ExpandFrexpLibCall()
2145 SDValue OutputChain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in ExpandFrexpLibCall()
2272 SDLoc dl(Node); in ExpandDivRemLibCall() local
2274 CLI.setDebugLoc(dl) in ExpandDivRemLibCall()
2285 DAG.getLoad(RetVT, dl, CallInfo.second, FIPtr, MachinePointerInfo()); in ExpandDivRemLibCall()
2371 SDLoc dl(Node); in ExpandSinCosLibCall() local
2373 CLI.setDebugLoc(dl).setChain(InChain).setLibCallee( in ExpandSinCosLibCall()
2380 DAG.getLoad(RetVT, dl, CallInfo.second, SinPtr, MachinePointerInfo())); in ExpandSinCosLibCall()
2382 DAG.getLoad(RetVT, dl, CallInfo.second, CosPtr, MachinePointerInfo())); in ExpandSinCosLibCall()
2386 SDLoc dl(Node); in expandLdexp() local
2412 const SDValue MaxExp = DAG.getConstant(MaxExpVal, dl, ExpVT); in expandLdexp()
2413 const SDValue MinExp = DAG.getConstant(MinExpVal, dl, ExpVT); in expandLdexp()
2415 const SDValue DoubleMaxExp = DAG.getConstant(2 * MaxExpVal, dl, ExpVT); in expandLdexp()
2428 SDValue NGtMaxExp = DAG.getSetCC(dl, SetCCVT, N, MaxExp, ISD::SETGT); in expandLdexp()
2430 SDValue DecN0 = DAG.getNode(ISD::SUB, dl, ExpVT, N, MaxExp, NSW); in expandLdexp()
2431 SDValue ClampMaxVal = DAG.getConstant(3 * MaxExpVal, dl, ExpVT); in expandLdexp()
2432 SDValue ClampN_Big = DAG.getNode(ISD::SMIN, dl, ExpVT, N, ClampMaxVal); in expandLdexp()
2434 DAG.getNode(ISD::SUB, dl, ExpVT, ClampN_Big, DoubleMaxExp, NSW); in expandLdexp()
2437 DAG.getSetCC(dl, SetCCVT, N, DoubleMaxExp, ISD::SETUGT); in expandLdexp()
2439 const SDValue ScaleUpVal = DAG.getConstantFP(ScaleUpK, dl, VT); in expandLdexp()
2440 SDValue ScaleUp0 = DAG.getNode(ISD::FMUL, dl, VT, X, ScaleUpVal); in expandLdexp()
2441 SDValue ScaleUp1 = DAG.getNode(ISD::FMUL, dl, VT, ScaleUp0, ScaleUpVal); in expandLdexp()
2444 DAG.getNode(ISD::SELECT, dl, ExpVT, ScaleUpTwice, DecN1, DecN0); in expandLdexp()
2446 DAG.getNode(ISD::SELECT, dl, VT, ScaleUpTwice, ScaleUp1, ScaleUp0); in expandLdexp()
2449 SDValue NLtMinExp = DAG.getSetCC(dl, SetCCVT, N, MinExp, ISD::SETLT); in expandLdexp()
2451 SDValue Increment0 = DAG.getConstant(-(MinExpVal + Precision), dl, ExpVT); in expandLdexp()
2452 SDValue Increment1 = DAG.getConstant(-2 * (MinExpVal + Precision), dl, ExpVT); in expandLdexp()
2454 SDValue IncN0 = DAG.getNode(ISD::ADD, dl, ExpVT, N, Increment0, NUW_NSW); in expandLdexp()
2457 DAG.getConstant(3 * MinExpVal + 2 * Precision, dl, ExpVT); in expandLdexp()
2458 SDValue ClampN_Small = DAG.getNode(ISD::SMAX, dl, ExpVT, N, ClampMinVal); in expandLdexp()
2460 DAG.getNode(ISD::ADD, dl, ExpVT, ClampN_Small, Increment1, NSW); in expandLdexp()
2462 const SDValue ScaleDownVal = DAG.getConstantFP(ScaleDownK, dl, VT); in expandLdexp()
2463 SDValue ScaleDown0 = DAG.getNode(ISD::FMUL, dl, VT, X, ScaleDownVal); in expandLdexp()
2464 SDValue ScaleDown1 = DAG.getNode(ISD::FMUL, dl, VT, ScaleDown0, ScaleDownVal); in expandLdexp()
2467 dl, SetCCVT, N, DAG.getConstant(2 * MinExpVal + Precision, dl, ExpVT), in expandLdexp()
2471 DAG.getNode(ISD::SELECT, dl, ExpVT, ScaleDownTwice, IncN1, IncN0); in expandLdexp()
2473 DAG.getNode(ISD::SELECT, dl, VT, ScaleDownTwice, ScaleDown1, ScaleDown0); in expandLdexp()
2478 ISD::SELECT, dl, VT, NGtMaxExp, SelectX_Big, in expandLdexp()
2479 DAG.getNode(ISD::SELECT, dl, VT, NLtMinExp, SelectX_Small, X)); in expandLdexp()
2482 ISD::SELECT, dl, ExpVT, NGtMaxExp, SelectN_Big, in expandLdexp()
2483 DAG.getNode(ISD::SELECT, dl, ExpVT, NLtMinExp, SelectN_Small, N)); in expandLdexp()
2485 SDValue BiasedN = DAG.getNode(ISD::ADD, dl, ExpVT, NewN, MaxExp, NSW); in expandLdexp()
2488 DAG.getShiftAmountConstant(Precision - 1, ExpVT, dl); in expandLdexp()
2489 SDValue CastExpToValTy = DAG.getZExtOrTrunc(BiasedN, dl, AsIntVT); in expandLdexp()
2491 SDValue AsInt = DAG.getNode(ISD::SHL, dl, AsIntVT, CastExpToValTy, in expandLdexp()
2493 SDValue AsFP = DAG.getNode(ISD::BITCAST, dl, VT, AsInt); in expandLdexp()
2494 return DAG.getNode(ISD::FMUL, dl, VT, NewX, AsFP); in expandLdexp()
2498 SDLoc dl(Node); in expandFrexp() local
2526 APFloat::getSmallestNormalized(FltSem, true).bitcastToAPInt(), dl, in expandFrexp()
2530 APFloat::getSmallestNormalized(FltSem, false).bitcastToAPInt(), dl, in expandFrexp()
2535 DAG.getConstant(APFloat::getInf(FltSem).bitcastToAPInt(), dl, AsIntVT); in expandFrexp()
2544 SDValue SignMask = DAG.getConstant(SignMaskVal, dl, AsIntVT); in expandFrexp()
2546 SDValue FractSignMask = DAG.getConstant(FractSignMaskVal, dl, AsIntVT); in expandFrexp()
2554 SDValue ScaleUpK = DAG.getConstantFP(ScaleUpKVal, dl, VT); in expandFrexp()
2555 SDValue ScaleUp = DAG.getNode(ISD::FMUL, dl, VT, Val, ScaleUpK); in expandFrexp()
2560 SDValue AsInt = DAG.getNode(ISD::BITCAST, dl, AsIntVT, Val); in expandFrexp()
2562 SDValue Abs = DAG.getNode(ISD::AND, dl, AsIntVT, AsInt, SignMask); in expandFrexp()
2565 DAG.getNode(ISD::ADD, dl, AsIntVT, Abs, NegSmallestNormalizedInt); in expandFrexp()
2566 SDValue DenormOrZero = DAG.getSetCC(dl, SetCCVT, AddNegSmallestNormal, in expandFrexp()
2570 DAG.getSetCC(dl, SetCCVT, Abs, SmallestNormalizedInt, ISD::SETULT); in expandFrexp()
2572 SDValue MinExp = DAG.getConstant(MinExpVal, dl, ExpVT); in expandFrexp()
2573 SDValue Zero = DAG.getConstant(0, dl, ExpVT); in expandFrexp()
2575 SDValue ScaledAsInt = DAG.getNode(ISD::BITCAST, dl, AsIntVT, ScaleUp); in expandFrexp()
2577 DAG.getNode(ISD::SELECT, dl, AsIntVT, IsDenormal, ScaledAsInt, AsInt); in expandFrexp()
2580 DAG.getNode(ISD::AND, dl, AsIntVT, ScaledAsInt, ExpMask); in expandFrexp()
2583 DAG.getNode(ISD::SELECT, dl, AsIntVT, IsDenormal, ExpMaskScaled, Abs); in expandFrexp()
2587 DAG.getShiftAmountConstant(Precision - 1, AsIntVT, dl); in expandFrexp()
2589 DAG.getNode(ISD::SRL, dl, AsIntVT, ScaledValue, ExponentShiftAmt); in expandFrexp()
2590 SDValue Exp = DAG.getSExtOrTrunc(ShiftedExp, dl, ExpVT); in expandFrexp()
2592 SDValue NormalBiasedExp = DAG.getNode(ISD::ADD, dl, ExpVT, Exp, MinExp); in expandFrexp()
2593 SDValue DenormalOffset = DAG.getConstant(-Precision - 1, dl, ExpVT); in expandFrexp()
2595 DAG.getNode(ISD::SELECT, dl, ExpVT, IsDenormal, DenormalOffset, Zero); in expandFrexp()
2598 DAG.getNode(ISD::AND, dl, AsIntVT, ScaledSelect, FractSignMask); in expandFrexp()
2600 SDValue FPHalf = DAG.getConstant(Half.bitcastToAPInt(), dl, AsIntVT); in expandFrexp()
2601 SDValue Or = DAG.getNode(ISD::OR, dl, AsIntVT, MaskedFractAsInt, FPHalf); in expandFrexp()
2602 SDValue MaskedFract = DAG.getNode(ISD::BITCAST, dl, VT, Or); in expandFrexp()
2605 DAG.getNode(ISD::ADD, dl, ExpVT, NormalBiasedExp, DenormalExpBias); in expandFrexp()
2608 DAG.getNode(ISD::SELECT, dl, VT, DenormOrZero, Val, MaskedFract); in expandFrexp()
2611 DAG.getNode(ISD::SELECT, dl, ExpVT, DenormOrZero, Zero, ComputedExp); in expandFrexp()
2613 return DAG.getMergeValues({Result0, Result1}, dl); in expandFrexp()
2625 SDLoc dl(Node); in ExpandLegalINT_TO_FP() local
2647 Lo = DAG.getNode(ISD::XOR, dl, MVT::i32, Lo, in ExpandLegalINT_TO_FP()
2648 DAG.getConstant(0x80000000u, dl, MVT::i32)); in ExpandLegalINT_TO_FP()
2651 SDValue Hi = DAG.getConstant(0x43300000u, dl, MVT::i32); in ExpandLegalINT_TO_FP()
2660 SDValue Store1 = DAG.getStore(MemChain, dl, Lo, StackSlot, in ExpandLegalINT_TO_FP()
2664 DAG.getMemBasePlusOffset(StackSlot, TypeSize::getFixed(4), dl); in ExpandLegalINT_TO_FP()
2666 DAG.getStore(MemChain, dl, Hi, HiPtr, MachinePointerInfo()); in ExpandLegalINT_TO_FP()
2667 MemChain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Store1, Store2); in ExpandLegalINT_TO_FP()
2671 DAG.getLoad(MVT::f64, dl, MemChain, StackSlot, MachinePointerInfo()); in ExpandLegalINT_TO_FP()
2676 dl, MVT::f64); in ExpandLegalINT_TO_FP()
2681 Sub = DAG.getNode(ISD::STRICT_FSUB, dl, {MVT::f64, MVT::Other}, in ExpandLegalINT_TO_FP()
2687 DAG.getStrictFPExtendOrRound(Sub, Chain, dl, DestVT); in ExpandLegalINT_TO_FP()
2694 Sub = DAG.getNode(ISD::FSUB, dl, MVT::f64, Load, Bias); in ExpandLegalINT_TO_FP()
2695 Result = DAG.getFPExtendOrRound(Sub, dl, DestVT); in ExpandLegalINT_TO_FP()
2724 dl, SetCCVT, Op0, DAG.getConstant(0, dl, SrcVT), ISD::SETLT); in ExpandLegalINT_TO_FP()
2727 SDValue ShiftConst = DAG.getConstant(1, dl, ShiftVT); in ExpandLegalINT_TO_FP()
2728 SDValue Shr = DAG.getNode(ISD::SRL, dl, SrcVT, Op0, ShiftConst); in ExpandLegalINT_TO_FP()
2729 SDValue AndConst = DAG.getConstant(1, dl, SrcVT); in ExpandLegalINT_TO_FP()
2730 SDValue And = DAG.getNode(ISD::AND, dl, SrcVT, Op0, AndConst); in ExpandLegalINT_TO_FP()
2731 SDValue Or = DAG.getNode(ISD::OR, dl, SrcVT, And, Shr); in ExpandLegalINT_TO_FP()
2737 SDValue InCvt = DAG.getSelect(dl, SrcVT, SignBitTest, Or, Op0); in ExpandLegalINT_TO_FP()
2738 Fast = DAG.getNode(ISD::STRICT_SINT_TO_FP, dl, { DestVT, MVT::Other }, in ExpandLegalINT_TO_FP()
2740 Slow = DAG.getNode(ISD::STRICT_FADD, dl, { DestVT, MVT::Other }, in ExpandLegalINT_TO_FP()
2752 SDValue SignCvt = DAG.getNode(ISD::SINT_TO_FP, dl, DestVT, Or); in ExpandLegalINT_TO_FP()
2753 Slow = DAG.getNode(ISD::FADD, dl, DestVT, SignCvt, SignCvt); in ExpandLegalINT_TO_FP()
2754 Fast = DAG.getNode(ISD::SINT_TO_FP, dl, DestVT, Op0); in ExpandLegalINT_TO_FP()
2757 return DAG.getSelect(dl, DestVT, SignBitTest, Slow, Fast); in ExpandLegalINT_TO_FP()
2774 Tmp1 = DAG.getNode(ISD::STRICT_SINT_TO_FP, dl, { DestVT, MVT::Other }, in ExpandLegalINT_TO_FP()
2777 Tmp1 = DAG.getNode(ISD::SINT_TO_FP, dl, DestVT, Op0); in ExpandLegalINT_TO_FP()
2779 SDValue SignSet = DAG.getSetCC(dl, getSetCCResultType(SrcVT), Op0, in ExpandLegalINT_TO_FP()
2780 DAG.getConstant(0, dl, SrcVT), ISD::SETLT); in ExpandLegalINT_TO_FP()
2781 SDValue Zero = DAG.getIntPtrConstant(0, dl), in ExpandLegalINT_TO_FP()
2782 Four = DAG.getIntPtrConstant(4, dl); in ExpandLegalINT_TO_FP()
2783 SDValue CstOffset = DAG.getSelect(dl, Zero.getValueType(), in ExpandLegalINT_TO_FP()
2806 CPIdx = DAG.getNode(ISD::ADD, dl, CPIdx.getValueType(), CPIdx, CstOffset); in ExpandLegalINT_TO_FP()
2811 MVT::f32, dl, DAG.getEntryNode(), CPIdx, in ExpandLegalINT_TO_FP()
2816 ISD::EXTLOAD, dl, DestVT, DAG.getEntryNode(), CPIdx, in ExpandLegalINT_TO_FP()
2825 SDValue Result = DAG.getNode(ISD::STRICT_FADD, dl, { DestVT, MVT::Other }, in ExpandLegalINT_TO_FP()
2831 return DAG.getNode(ISD::FADD, dl, DestVT, Tmp1, FudgeInReg); in ExpandLegalINT_TO_FP()
2840 SDNode *N, const SDLoc &dl, SmallVectorImpl<SDValue> &Results) { in PromoteLegalINT_TO_FP() argument
2880 DAG.getNode(OpToUse, dl, {DestVT, MVT::Other}, in PromoteLegalINT_TO_FP()
2883 dl, NewInTy, LegalOp)}); in PromoteLegalINT_TO_FP()
2890 DAG.getNode(OpToUse, dl, DestVT, in PromoteLegalINT_TO_FP()
2892 dl, NewInTy, LegalOp))); in PromoteLegalINT_TO_FP()
2900 void SelectionDAGLegalize::PromoteLegalFP_TO_INT(SDNode *N, const SDLoc &dl, in PromoteLegalFP_TO_INT() argument
2935 Operation = DAG.getNode(OpToUse, dl, VTs, N->getOperand(0), LegalOp); in PromoteLegalFP_TO_INT()
2937 Operation = DAG.getNode(OpToUse, dl, NewOutTy, LegalOp); in PromoteLegalFP_TO_INT()
2941 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, dl, DestVT, Operation); in PromoteLegalFP_TO_INT()
2951 const SDLoc &dl) { in PromoteLegalFP_TO_INT_SAT() argument
2966 SDValue Result = DAG.getNode(Opcode, dl, NewOutTy, Node->getOperand(0), in PromoteLegalFP_TO_INT_SAT()
2968 return DAG.getNode(ISD::TRUNCATE, dl, Node->getValueType(0), Result); in PromoteLegalFP_TO_INT_SAT()
2972 SDValue SelectionDAGLegalize::ExpandPARITY(SDValue Op, const SDLoc &dl) { in ExpandPARITY() argument
2980 Result = DAG.getNode(ISD::CTPOP, dl, VT, Op); in ExpandPARITY()
2984 SDValue Shift = DAG.getNode(ISD::SRL, dl, VT, Result, in ExpandPARITY()
2985 DAG.getConstant(1ULL << (--i), dl, ShVT)); in ExpandPARITY()
2986 Result = DAG.getNode(ISD::XOR, dl, VT, Result, Shift); in ExpandPARITY()
2990 return DAG.getNode(ISD::AND, dl, VT, Result, DAG.getConstant(1, dl, VT)); in ExpandPARITY()
2996 SDLoc dl(Node); in ExpandNode() local
3032 Results.push_back(ExpandPARITY(Node->getOperand(0), dl)); in ExpandNode()
3037 Results.push_back(DAG.getConstant(0, dl, Node->getValueType(0))); in ExpandNode()
3040 SDValue CfaArg = DAG.getSExtOrTrunc(Node->getOperand(0), dl, in ExpandNode()
3042 SDValue Offset = DAG.getNode(ISD::ADD, dl, in ExpandNode()
3044 DAG.getNode(ISD::FRAME_TO_ARGS_OFFSET, dl, in ExpandNode()
3048 ISD::FRAMEADDR, dl, TLI.getPointerTy(DAG.getDataLayout()), in ExpandNode()
3049 DAG.getConstant(0, dl, TLI.getPointerTy(DAG.getDataLayout()))); in ExpandNode()
3050 Results.push_back(DAG.getNode(ISD::ADD, dl, FA.getValueType(), in ExpandNode()
3055 Results.push_back(DAG.getConstant(1, dl, Node->getValueType(0))); in ExpandNode()
3071 DAG.getConstant(0, dl, Node->getValueType(0))); in ExpandNode()
3077 Results.push_back(DAG.getConstant(0, dl, MVT::i32)); in ExpandNode()
3082 SDValue Zero = DAG.getConstant(0, dl, Node->getValueType(0)); in ExpandNode()
3085 ISD::ATOMIC_CMP_SWAP, dl, cast<AtomicSDNode>(Node)->getMemoryVT(), VTs, in ExpandNode()
3095 ISD::ATOMIC_SWAP, dl, cast<AtomicSDNode>(Node)->getMemoryVT(), in ExpandNode()
3107 ISD::ATOMIC_CMP_SWAP, dl, cast<AtomicSDNode>(Node)->getMemoryVT(), VTs, in ExpandNode()
3119 LHS = DAG.getNode(ISD::AssertSext, dl, OuterType, Res, in ExpandNode()
3121 RHS = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, OuterType, in ExpandNode()
3126 LHS = DAG.getNode(ISD::AssertZext, dl, OuterType, Res, in ExpandNode()
3128 RHS = DAG.getZeroExtendInReg(Node->getOperand(2), dl, AtomicType); in ExpandNode()
3132 LHS = DAG.getZeroExtendInReg(Res, dl, AtomicType); in ExpandNode()
3133 RHS = DAG.getZeroExtendInReg(Node->getOperand(2), dl, AtomicType); in ExpandNode()
3140 DAG.getSetCC(dl, Node->getValueType(1), LHS, RHS, ISD::SETEQ); in ExpandNode()
3174 Results.push_back(DAG.getConstant(0, dl, VT)); in ExpandNode()
3177 Results.push_back(DAG.getConstantFP(0, dl, VT)); in ExpandNode()
3195 Node->getValueType(0), dl, in ExpandNode()
3214 Node->getValueType(0), dl))) in ExpandNode()
3232 Node->getValueType(0), dl, Node->getOperand(0)))) { in ExpandNode()
3247 if ((Tmp1 = EmitStackConvert(Op, SrcVT, DstVT, dl))) in ExpandNode()
3258 Op = DAG.getNode(ISD::ANY_EXTEND, dl, MVT::i32, in ExpandNode()
3259 DAG.getNode(ISD::BITCAST, dl, MVT::i16, Op)); in ExpandNode()
3261 Op = DAG.getAnyExtOrTrunc(Op, dl, MVT::i32); in ExpandNode()
3264 ISD::SHL, dl, MVT::i32, Op, in ExpandNode()
3265 DAG.getConstant(16, dl, in ExpandNode()
3267 Op = DAG.getNode(ISD::BITCAST, dl, MVT::f32, Op); in ExpandNode()
3270 Op = DAG.getNode(ISD::FP_EXTEND, dl, Node->getValueType(0), Op); in ExpandNode()
3277 Op = DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, Op, in ExpandNode()
3278 DAG.getIntPtrConstant(0, dl, /*isTarget=*/true)); in ExpandNode()
3280 ISD::SRL, dl, MVT::i32, DAG.getNode(ISD::BITCAST, dl, MVT::i32, Op), in ExpandNode()
3281 DAG.getConstant(16, dl, in ExpandNode()
3286 Op = DAG.getNode(ISD::BITCAST, dl, MVT::bf16, in ExpandNode()
3287 DAG.getNode(ISD::TRUNCATE, dl, MVT::i16, Op)); in ExpandNode()
3289 Op = DAG.getAnyExtOrTrunc(Op, dl, Node->getValueType(0)); in ExpandNode()
3306 SDValue One = DAG.getConstant(1, dl, VT); in ExpandNode()
3307 SDValue And = DAG.getNode(ISD::AND, dl, VT, Node->getOperand(0), One); in ExpandNode()
3308 SDValue Zero = DAG.getConstant(0, dl, VT); in ExpandNode()
3309 SDValue Neg = DAG.getNode(ISD::SUB, dl, VT, Zero, And); in ExpandNode()
3319 SDValue ShiftCst = DAG.getConstant(BitsDiff, dl, ShiftAmountTy); in ExpandNode()
3320 Tmp1 = DAG.getNode(ISD::SHL, dl, Node->getValueType(0), in ExpandNode()
3322 Tmp1 = DAG.getNode(ISD::SRA, dl, Node->getValueType(0), Tmp1, ShiftCst); in ExpandNode()
3382 Tmp1 = DAG.getNode(ISD::BITCAST, dl, Node->getValueType(0), in ExpandNode()
3403 Node->getOperand(2), dl)); in ExpandNode()
3431 Op0 = DAG.getNode(ISD::BITCAST, dl, NewVT, Op0); in ExpandNode()
3432 Op1 = DAG.getNode(ISD::BITCAST, dl, NewVT, Op1); in ExpandNode()
3465 Ops.push_back(DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, EltVT, Op0, in ExpandNode()
3466 DAG.getVectorIdxConstant(Idx, dl))); in ExpandNode()
3469 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, EltVT, Op1, in ExpandNode()
3470 DAG.getVectorIdxConstant(Idx - NumElems, dl))); in ExpandNode()
3473 Tmp1 = DAG.getBuildVector(VT, dl, Ops); in ExpandNode()
3475 Tmp1 = DAG.getNode(ISD::BITCAST, dl, Node->getValueType(0), Tmp1); in ExpandNode()
3487 Tmp1 = DAG.getNode(ISD::SRL, dl, OpTy, Node->getOperand(0), in ExpandNode()
3488 DAG.getConstant(OpTy.getSizeInBits() / 2, dl, in ExpandNode()
3492 Tmp1 = DAG.getNode(ISD::TRUNCATE, dl, Node->getValueType(0), Tmp1); in ExpandNode()
3495 Tmp1 = DAG.getNode(ISD::TRUNCATE, dl, Node->getValueType(0), in ExpandNode()
3505 Results.push_back(DAG.getCopyFromReg(Node->getOperand(0), dl, SP, in ExpandNode()
3517 Results.push_back(DAG.getCopyToReg(Node->getOperand(0), dl, SP, in ExpandNode()
3524 Results.push_back(DAG.getConstant(0, dl, Node->getValueType(0))); in ExpandNode()
3559 Tmp1 = DAG.getSelectCC(dl, Tmp1, Tmp2, Tmp1, Tmp2, Pred); in ExpandNode()
3578 Tmp1 = DAG.getNode(ISD::FSINCOS, dl, VTs, Node->getOperand(0)); in ExpandNode()
3624 DAG.getNode(ISD::FP16_TO_FP, dl, MVT::f32, Node->getOperand(0)); in ExpandNode()
3626 DAG.getNode(ISD::FP_EXTEND, dl, Node->getValueType(0), Res)); in ExpandNode()
3635 DAG.getNode(ISD::STRICT_FP16_TO_FP, dl, {MVT::f32, MVT::Other}, in ExpandNode()
3637 Res = DAG.getNode(ISD::STRICT_FP_EXTEND, dl, in ExpandNode()
3654 DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, Op, in ExpandNode()
3655 DAG.getIntPtrConstant(0, dl, /*isTarget=*/true)); in ExpandNode()
3657 DAG.getNode(ISD::FP_TO_FP16, dl, Node->getValueType(0), FloatVal)); in ExpandNode()
3680 Tmp1 = DAG.getNode(ISD::FNEG, dl, VT, Node->getOperand(1)); in ExpandNode()
3681 Tmp1 = DAG.getNode(ISD::FADD, dl, VT, Node->getOperand(0), Tmp1, Flags); in ExpandNode()
3691 Tmp1 = DAG.getNOT(dl, Node->getOperand(1), VT); in ExpandNode()
3692 Tmp1 = DAG.getNode(ISD::ADD, dl, VT, Tmp1, DAG.getConstant(1, dl, VT)); in ExpandNode()
3693 Results.push_back(DAG.getNode(ISD::ADD, dl, VT, Node->getOperand(0), Tmp1)); in ExpandNode()
3708 Tmp1 = DAG.getNode(DivRemOpc, dl, VTs, Node->getOperand(0), in ExpandNode()
3721 Tmp1 = DAG.getNode(ExpandOpcode, dl, VTs, Node->getOperand(0), in ExpandNode()
3735 Results.push_back(DAG.getNode(ISD::MUL, dl, VT, LHS, RHS)); in ExpandNode()
3736 Results.push_back(DAG.getNode(MULHOpcode, dl, VT, LHS, RHS)); in ExpandNode()
3743 if (TLI.expandMUL_LOHI(Node->getOpcode(), VT, dl, LHS, RHS, Halves, in ExpandNode()
3747 SDValue Lo = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Halves[2 * i]); in ExpandNode()
3748 SDValue Hi = DAG.getNode(ISD::ANY_EXTEND, dl, VT, Halves[2 * i + 1]); in ExpandNode()
3750 HalfType.getScalarSizeInBits(), dl, in ExpandNode()
3752 Hi = DAG.getNode(ISD::SHL, dl, VT, Hi, Shift); in ExpandNode()
3753 Results.push_back(DAG.getNode(ISD::OR, dl, VT, Lo, Hi)); in ExpandNode()
3782 Results.push_back(DAG.getNode(OpToUse, dl, VTs, Node->getOperand(0), in ExpandNode()
3795 Lo = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Lo); in ExpandNode()
3796 Hi = DAG.getNode(ISD::ANY_EXTEND, dl, VT, Hi); in ExpandNode()
3798 DAG.getConstant(HalfType.getSizeInBits(), dl, in ExpandNode()
3800 Hi = DAG.getNode(ISD::SHL, dl, VT, Hi, Shift); in ExpandNode()
3801 Results.push_back(DAG.getNode(ISD::OR, dl, VT, Lo, Hi)); in ExpandNode()
3862 SDValue Sum = DAG.getNode(Op, dl, VT, LHS, RHS); in ExpandNode()
3868 SDValue Overflow = DAG.getSetCC(dl, SetCCType, Sum, LHS, CC); in ExpandNode()
3871 SDValue One = DAG.getConstant(1, dl, VT); in ExpandNode()
3873 DAG.getNode(ISD::AND, dl, VT, DAG.getZExtOrTrunc(Carry, dl, VT), One); in ExpandNode()
3874 SDValue Sum2 = DAG.getNode(Op, dl, VT, Sum, CarryExt); in ExpandNode()
3880 SDValue Zero = DAG.getConstant(0, dl, VT); in ExpandNode()
3882 IsAdd ? DAG.getSetCC(dl, SetCCType, Sum2, Zero, ISD::SETEQ) in ExpandNode()
3883 : DAG.getSetCC(dl, SetCCType, Sum, Zero, ISD::SETEQ); in ExpandNode()
3884 Overflow2 = DAG.getNode(ISD::AND, dl, SetCCType, Overflow2, in ExpandNode()
3885 DAG.getZExtOrTrunc(Carry, dl, SetCCType)); in ExpandNode()
3888 DAG.getNode(ISD::OR, dl, SetCCType, Overflow, Overflow2); in ExpandNode()
3891 Results.push_back(DAG.getBoolExtOrTrunc(ResultCarry, dl, CarryType, VT)); in ExpandNode()
3921 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, PairTy, Node->getOperand(0)); in ExpandNode()
3922 Tmp2 = DAG.getNode(ISD::ANY_EXTEND, dl, PairTy, Node->getOperand(1)); in ExpandNode()
3924 ISD::SHL, dl, PairTy, Tmp2, in ExpandNode()
3925 DAG.getConstant(PairTy.getSizeInBits() / 2, dl, in ExpandNode()
3927 Results.push_back(DAG.getNode(ISD::OR, dl, PairTy, Tmp1, Tmp2)); in ExpandNode()
3935 Tmp1 = DAG.getSelectCC(dl, Tmp1.getOperand(0), Tmp1.getOperand(1), in ExpandNode()
3939 Tmp1 = DAG.getSelectCC(dl, Tmp1, in ExpandNode()
3940 DAG.getConstant(0, dl, Tmp1.getValueType()), in ExpandNode()
3964 ISD::SHL, dl, Index.getValueType(), Index, in ExpandNode()
3965 DAG.getConstant(llvm::Log2_32(EntrySize), dl, Index.getValueType())); in ExpandNode()
3967 Index = DAG.getNode(ISD::MUL, dl, Index.getValueType(), Index, in ExpandNode()
3968 DAG.getConstant(EntrySize, dl, Index.getValueType())); in ExpandNode()
3969 SDValue Addr = DAG.getNode(ISD::ADD, dl, Index.getValueType(), in ExpandNode()
3974 ISD::SEXTLOAD, dl, PTy, Chain, Addr, in ExpandNode()
3981 Addr = DAG.getNode(ISD::ADD, dl, PTy, Addr, in ExpandNode()
3985 Tmp1 = TLI.expandIndirectJTBranch(dl, LD.getValue(1), Addr, JTI, DAG); in ExpandNode()
3997 Tmp1 = DAG.getNode(ISD::BR_CC, dl, MVT::Other, Tmp1, Tmp2.getOperand(2), in ExpandNode()
4006 Tmp3 = DAG.getNode(ISD::AND, dl, Tmp2.getValueType(), Tmp2, in ExpandNode()
4007 DAG.getConstant(1, dl, Tmp2.getValueType())); in ExpandNode()
4008 Tmp1 = DAG.getNode(ISD::BR_CC, dl, MVT::Other, Tmp1, in ExpandNode()
4010 DAG.getConstant(0, dl, Tmp3.getValueType()), in ExpandNode()
4034 DAG, Node->getValueType(0), Tmp1, Tmp2, Tmp3, Mask, EVL, NeedInvert, dl, in ExpandNode()
4042 Tmp1 = DAG.getNode(Node->getOpcode(), dl, Node->getVTList(), in ExpandNode()
4046 Tmp1 = DAG.getNode(Node->getOpcode(), dl, Node->getValueType(0), in ExpandNode()
4049 Tmp1 = DAG.getNode(Node->getOpcode(), dl, Node->getValueType(0), Tmp1, in ExpandNode()
4058 Tmp1 = DAG.getLogicalNOT(dl, Tmp1, Tmp1->getValueType(0)); in ExpandNode()
4061 DAG.getVPLogicalNOT(dl, Tmp1, Mask, EVL, Tmp1->getValueType(0)); in ExpandNode()
4080 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, VT, Tmp1, Tmp2, in ExpandNode()
4081 DAG.getBoolConstant(true, dl, VT, Tmp1VT), in ExpandNode()
4082 DAG.getBoolConstant(false, dl, VT, Tmp1VT), Tmp3); in ExpandNode()
4106 SDValue Cond = DAG.getNode(ISD::SETCC, dl, CCVT, Tmp1, Tmp2, CC, Node->getFlags()); in ExpandNode()
4107 Results.push_back(DAG.getSelect(dl, VT, Cond, Tmp3, Tmp4)); in ExpandNode()
4120 Tmp1 = DAG.getSelectCC(dl, Tmp1, Tmp2, Tmp4, Tmp3, InvCC); in ExpandNode()
4130 Tmp1 = DAG.getSelectCC(dl, Tmp2, Tmp1, Tmp4, Tmp3, SwapInvCC); in ExpandNode()
4138 /*Mask*/ SDValue(), /*EVL*/ SDValue(), NeedInvert, dl, Chain); in ExpandNode()
4150 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, Node->getValueType(0), in ExpandNode()
4153 Tmp2 = DAG.getConstant(0, dl, Tmp1.getValueType()); in ExpandNode()
4155 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, Node->getValueType(0), Tmp1, in ExpandNode()
4173 /*Mask*/ SDValue(), /*EVL*/ SDValue(), NeedInvert, dl, Chain); in ExpandNode()
4182 Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1, in ExpandNode()
4185 Tmp3 = DAG.getConstant(0, dl, Tmp2.getValueType()); in ExpandNode()
4187 Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1, Tmp4, in ExpandNode()
4211 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, VT.getScalarType(), in ExpandNode()
4212 Node->getOperand(0), DAG.getVectorIdxConstant(Idx, dl)); in ExpandNode()
4214 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, VT.getScalarType(), in ExpandNode()
4215 Node->getOperand(1), DAG.getVectorIdxConstant(Idx, dl)); in ExpandNode()
4216 Scalars.push_back(DAG.getNode(Node->getOpcode(), dl, in ExpandNode()
4220 SDValue Result = DAG.getBuildVector(Node->getValueType(0), dl, Scalars); in ExpandNode()
4279 SDValue Neg = DAG.getNode(ISD::FNEG, dl, VT, Node->getOperand(2), Flags); in ExpandNode()
4280 SDValue Fadd = DAG.getNode(ISD::STRICT_FADD, dl, Node->getVTList(), in ExpandNode()
4318 SDLoc dl(Node); in ConvertNodeToLibcall() local
4328 CLI.setDebugLoc(dl) in ConvertNodeToLibcall()
4387 CLI.setDebugLoc(dl) in ConvertNodeToLibcall()
4671 SDLoc dl(Node); in ConvertNodeToLibcall() local
4690 SDValue Op = DAG.getNode(Signed ? ISD::SIGN_EXTEND : ISD::ZERO_EXTEND, dl, in ConvertNodeToLibcall()
4695 TLI.makeLibCall(DAG, LC, RVT, Op, CallOptions, dl, Chain); in ConvertNodeToLibcall()
4714 SDLoc dl(Node); in ConvertNodeToLibcall() local
4734 TLI.makeLibCall(DAG, LC, NVT, Op, CallOptions, dl, Chain); in ConvertNodeToLibcall()
4737 Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, RVT, Tmp.first)); in ConvertNodeToLibcall()
4851 SDValue Ptr = DAG.getIntPtrConstant(-1LL, dl); in ConvertNodeToLibcall()
4854 DAG.makeStateFunctionCall(RTLIB::FESETENV, Ptr, Chain, dl)); in ConvertNodeToLibcall()
4861 DAG.makeStateFunctionCall(RTLIB::FEGETENV, EnvPtr, Chain, dl)); in ConvertNodeToLibcall()
4868 DAG.makeStateFunctionCall(RTLIB::FESETENV, EnvPtr, Chain, dl)); in ConvertNodeToLibcall()
4878 Node->getOperand(0), dl); in ConvertNodeToLibcall()
4880 ModeVT, dl, Chain, StackPtr, in ConvertNodeToLibcall()
4894 Node->getOperand(0), dl, Mode, StackPtr, in ConvertNodeToLibcall()
4897 DAG.makeStateFunctionCall(RTLIB::FESETMODE, StackPtr, StInst, dl)); in ConvertNodeToLibcall()
4906 SDValue Mode = DAG.getConstant(-1LL, dl, PtrTy); in ConvertNodeToLibcall()
4908 Node->getOperand(0), dl)); in ConvertNodeToLibcall()
4953 SDLoc dl(Node); in PromoteNode() local
4964 Tmp1 = DAG.getNode(ISD::ANY_EXTEND, dl, NVT, Node->getOperand(0)); in PromoteNode()
4966 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Node->getOperand(0)); in PromoteNode()
4974 Tmp1 = DAG.getNode(ISD::OR, dl, NVT, Tmp1, in PromoteNode()
4975 DAG.getConstant(TopBit, dl, NVT)); in PromoteNode()
4979 Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1); in PromoteNode()
4983 Tmp1 = DAG.getNode(ISD::SUB, dl, NVT, Tmp1, in PromoteNode()
4985 OVT.getSizeInBits(), dl, NVT)); in PromoteNode()
4987 Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp1)); in PromoteNode()
4992 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Node->getOperand(0)); in PromoteNode()
4993 Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1); in PromoteNode()
4995 ISD::SRL, dl, NVT, Tmp1, in PromoteNode()
4996 DAG.getConstant(DiffBits, dl, in PromoteNode()
4999 Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp1)); in PromoteNode()
5006 PromoteLegalFP_TO_INT(Node, dl, Results); in PromoteNode()
5010 Results.push_back(PromoteLegalFP_TO_INT_SAT(Node, dl)); in PromoteNode()
5016 PromoteLegalINT_TO_FP(Node, dl, Results); in PromoteNode()
5032 Tmp1 = DAG.getVAArg(NVT, dl, Chain, Ptr, Node->getOperand(2), in PromoteNode()
5036 Tmp2 = DAG.getNode(TruncOp, dl, OVT, Tmp1); in PromoteNode()
5093 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0)); in PromoteNode()
5094 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1)); in PromoteNode()
5096 Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2); in PromoteNode()
5097 Results.push_back(DAG.getNode(TruncOp, dl, OVT, Tmp1)); in PromoteNode()
5105 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0)); in PromoteNode()
5106 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1)); in PromoteNode()
5107 Tmp1 = DAG.getNode(ISD::MUL, dl, NVT, Tmp1, Tmp2); in PromoteNode()
5112 ISD::SRL, dl, NVT, Tmp1, in PromoteNode()
5113 DAG.getConstant(OriginalSize, dl, TLI.getScalarShiftAmountTy(DL, NVT))); in PromoteNode()
5114 Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp1)); in PromoteNode()
5115 Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp2)); in PromoteNode()
5133 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1)); in PromoteNode()
5134 Tmp3 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(2)); in PromoteNode()
5136 Tmp1 = DAG.getSelect(dl, NVT, Tmp1, Tmp2, Tmp3); in PromoteNode()
5139 Tmp1 = DAG.getNode(TruncOp, dl, Node->getValueType(0), Tmp1); in PromoteNode()
5141 Tmp1 = DAG.getNode(TruncOp, dl, Node->getValueType(0), Tmp1, in PromoteNode()
5142 DAG.getIntPtrConstant(0, dl)); in PromoteNode()
5150 Tmp1 = DAG.getNode(ISD::BITCAST, dl, NVT, Node->getOperand(0)); in PromoteNode()
5151 Tmp2 = DAG.getNode(ISD::BITCAST, dl, NVT, Node->getOperand(1)); in PromoteNode()
5154 Tmp1 = ShuffleWithNarrowerEltType(NVT, OVT, dl, Tmp1, Tmp2, Mask); in PromoteNode()
5155 Tmp1 = DAG.getNode(ISD::BITCAST, dl, OVT, Tmp1); in PromoteNode()
5160 Tmp1 = DAG.getNode(ISD::ANY_EXTEND, dl, NVT, Node->getOperand(0)); in PromoteNode()
5161 Tmp2 = DAG.getNode(ISD::ANY_EXTEND, dl, NVT, Node->getOperand(1)); in PromoteNode()
5162 Tmp3 = DAG.getNode(ISD::VECTOR_SPLICE, dl, NVT, Tmp1, Tmp2, in PromoteNode()
5164 Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp3)); in PromoteNode()
5184 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0)); in PromoteNode()
5185 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1)); in PromoteNode()
5188 Tmp3 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(2)); in PromoteNode()
5189 Tmp4 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(3)); in PromoteNode()
5191 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, NVT, {Tmp1, Tmp2, Tmp3, Tmp4, Cond}, in PromoteNode()
5196 Tmp1 = DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp1); in PromoteNode()
5198 Tmp1 = DAG.getNode(ISD::FP_ROUND, dl, OVT, Tmp1, in PromoteNode()
5199 DAG.getIntPtrConstant(0, dl, /*isTarget=*/true)); in PromoteNode()
5219 DAG.getStrictFPExtendOrRound(Node->getOperand(1), InChain, dl, NVT); in PromoteNode()
5221 DAG.getStrictFPExtendOrRound(Node->getOperand(2), InChain, dl, NVT); in PromoteNode()
5223 SDValue OutChain = DAG.getTokenFactor(dl, TmpChains); in PromoteNode()
5225 Results.push_back(DAG.getNode(Node->getOpcode(), dl, VTs, in PromoteNode()
5231 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0)); in PromoteNode()
5232 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1)); in PromoteNode()
5233 Results.push_back(DAG.getNode(ISD::SETCC, dl, Node->getValueType(0), Tmp1, in PromoteNode()
5244 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(2)); in PromoteNode()
5245 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(3)); in PromoteNode()
5246 Results.push_back(DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), in PromoteNode()
5261 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0)); in PromoteNode()
5262 Tmp2 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(1)); in PromoteNode()
5263 Tmp3 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2, in PromoteNode()
5266 DAG.getNode(ISD::FP_ROUND, dl, OVT, Tmp3, in PromoteNode()
5267 DAG.getIntPtrConstant(0, dl, /*isTarget=*/true))); in PromoteNode()
5277 Tmp1 = DAG.getNode(ISD::STRICT_FP_EXTEND, dl, {NVT, MVT::Other}, in PromoteNode()
5279 Tmp2 = DAG.getNode(ISD::STRICT_FP_EXTEND, dl, {NVT, MVT::Other}, in PromoteNode()
5281 Tmp3 = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Tmp1.getValue(1), in PromoteNode()
5283 Tmp1 = DAG.getNode(Node->getOpcode(), dl, {NVT, MVT::Other}, in PromoteNode()
5285 Tmp1 = DAG.getNode(ISD::STRICT_FP_ROUND, dl, {OVT, MVT::Other}, in PromoteNode()
5286 {Tmp1.getValue(1), Tmp1, DAG.getIntPtrConstant(0, dl)}); in PromoteNode()
5291 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0)); in PromoteNode()
5292 Tmp2 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(1)); in PromoteNode()
5293 Tmp3 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(2)); in PromoteNode()
5295 DAG.getNode(ISD::FP_ROUND, dl, OVT, in PromoteNode()
5296 DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2, Tmp3), in PromoteNode()
5297 DAG.getIntPtrConstant(0, dl, /*isTarget=*/true))); in PromoteNode()
5300 Tmp1 = DAG.getNode(ISD::STRICT_FP_EXTEND, dl, {NVT, MVT::Other}, in PromoteNode()
5302 Tmp2 = DAG.getNode(ISD::STRICT_FP_EXTEND, dl, {NVT, MVT::Other}, in PromoteNode()
5304 Tmp3 = DAG.getNode(ISD::STRICT_FP_EXTEND, dl, {NVT, MVT::Other}, in PromoteNode()
5306 Tmp4 = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Tmp1.getValue(1), in PromoteNode()
5308 Tmp4 = DAG.getNode(Node->getOpcode(), dl, {NVT, MVT::Other}, in PromoteNode()
5310 Tmp4 = DAG.getNode(ISD::STRICT_FP_ROUND, dl, {OVT, MVT::Other}, in PromoteNode()
5311 {Tmp4.getValue(1), Tmp4, DAG.getIntPtrConstant(0, dl)}); in PromoteNode()
5318 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0)); in PromoteNode()
5320 Tmp3 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2); in PromoteNode()
5329 DAG.getNode(ISD::FP_ROUND, dl, OVT, Tmp3, in PromoteNode()
5330 DAG.getIntPtrConstant(isTrunc, dl, /*isTarget=*/true))); in PromoteNode()
5334 Tmp1 = DAG.getNode(ISD::STRICT_FP_EXTEND, dl, {NVT, MVT::Other}, in PromoteNode()
5336 Tmp2 = DAG.getNode(Node->getOpcode(), dl, {NVT, MVT::Other}, in PromoteNode()
5338 Tmp3 = DAG.getNode(ISD::STRICT_FP_ROUND, dl, {OVT, MVT::Other}, in PromoteNode()
5339 {Tmp2.getValue(1), Tmp2, DAG.getIntPtrConstant(0, dl)}); in PromoteNode()
5344 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0)); in PromoteNode()
5345 Tmp2 = DAG.getNode(ISD::FFREXP, dl, {NVT, Node->getValueType(1)}, Tmp1); in PromoteNode()
5348 DAG.getNode(ISD::FP_ROUND, dl, OVT, Tmp2, in PromoteNode()
5349 DAG.getIntPtrConstant(0, dl, /*isTarget=*/true))); in PromoteNode()
5373 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0)); in PromoteNode()
5374 Tmp2 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1); in PromoteNode()
5376 DAG.getNode(ISD::FP_ROUND, dl, OVT, Tmp2, in PromoteNode()
5377 DAG.getIntPtrConstant(0, dl, /*isTarget=*/true))); in PromoteNode()
5394 Tmp1 = DAG.getNode(ISD::STRICT_FP_EXTEND, dl, {NVT, MVT::Other}, in PromoteNode()
5396 Tmp2 = DAG.getNode(Node->getOpcode(), dl, {NVT, MVT::Other}, in PromoteNode()
5398 Tmp3 = DAG.getNode(ISD::STRICT_FP_ROUND, dl, {OVT, MVT::Other}, in PromoteNode()
5399 {Tmp2.getValue(1), Tmp2, DAG.getIntPtrConstant(0, dl)}); in PromoteNode()
5578 Tmp1 = DAG.getNode(ISD::ANY_EXTEND, dl, NewScalarType, Scalar); in PromoteNode()
5579 Tmp2 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1); in PromoteNode()
5580 Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp2)); in PromoteNode()
5583 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NewScalarType, Scalar); in PromoteNode()
5584 Tmp2 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1); in PromoteNode()
5586 DAG.getNode(ISD::FP_ROUND, dl, OVT, Tmp2, in PromoteNode()
5587 DAG.getIntPtrConstant(0, dl, /*isTarget=*/true))); in PromoteNode()