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

References

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
   98     return TLI.getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), VT);
   98     return TLI.getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), VT);
  207     LLVM_DEBUG(dbgs() << " ... replacing: "; Old->dump(&DAG);
  208                dbgs() << "     with:      "; New->dump(&DAG));
  213     DAG.ReplaceAllUsesWith(Old, New);
  220     LLVM_DEBUG(dbgs() << " ... replacing: "; Old->dump(&DAG);
  221                dbgs() << "     with:      "; New->dump(&DAG));
  223     DAG.ReplaceAllUsesWith(Old, New);
  230     LLVM_DEBUG(dbgs() << " ... replacing: "; Old->dump(&DAG));
  232     DAG.ReplaceAllUsesWith(Old, New);
  235                  New[i]->dump(&DAG));
  243     LLVM_DEBUG(dbgs() << " ... replacing: "; Old->dump(&DAG);
  244                dbgs() << "     with:      "; New->dump(&DAG));
  246     DAG.ReplaceAllUsesOfValueWith(Old, New);
  269     return DAG.getVectorShuffle(NVT, dl, N1, N2, Mask);
  283   return DAG.getVectorShuffle(NVT, dl, N1, N2, NewMask);
  303     return DAG.getConstant(LLVMC->getValueAPF().bitcastToAPInt(), dl,
  321         Type *SType = SVT.getTypeForEVT(*DAG.getContext());
  330       DAG.getConstantPool(LLVMC, TLI.getPointerTy(DAG.getDataLayout()));
  330       DAG.getConstantPool(LLVMC, TLI.getPointerTy(DAG.getDataLayout()));
  333     SDValue Result = DAG.getExtLoad(
  334         ISD::EXTLOAD, dl, OrigVT, DAG.getEntryNode(), CPIdx,
  335         MachinePointerInfo::getConstantPool(DAG.getMachineFunction()), VT,
  339   SDValue Result = DAG.getLoad(
  340       OrigVT, dl, DAG.getEntryNode(), CPIdx,
  341       MachinePointerInfo::getConstantPool(DAG.getMachineFunction()), Alignment);
  349   SDValue CPIdx = DAG.getConstantPool(CP->getConstantIntValue(),
  350                                       TLI.getPointerTy(DAG.getDataLayout()));
  352   SDValue Result = DAG.getLoad(
  353       VT, dl, DAG.getEntryNode(), CPIdx,
  354       MachinePointerInfo::getConstantPool(DAG.getMachineFunction()), Alignment);
  378   SDValue StackPtr = DAG.CreateStackTemporary(VT);
  383   SDValue Ch = DAG.getStore(
  384       DAG.getEntryNode(), dl, Tmp1, StackPtr,
  385       MachinePointerInfo::getFixedStack(DAG.getMachineFunction(), SPFI));
  387   SDValue StackPtr2 = TLI.getVectorElementPointer(DAG, StackPtr, VT, Tmp3);
  390   Ch = DAG.getTruncStore(Ch, dl, Tmp2, StackPtr2, MachinePointerInfo(), EltVT);
  392   return DAG.getLoad(VT, dl, Ch, StackPtr, MachinePointerInfo::getFixedStack(
  393                                                DAG.getMachineFunction(), SPFI));
  406       SDValue ScVec = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl,
  417       return DAG.getVectorShuffle(Vec.getValueType(), dl, Vec, ScVec, ShufOps);
  441       SDValue Con = DAG.getConstant(CFP->getValueAPF().
  444       return DAG.getStore(Chain, dl, Con, Ptr, ST->getPointerInfo(), Alignment,
  451         SDValue Con = DAG.getConstant(CFP->getValueAPF().bitcastToAPInt().
  453         return DAG.getStore(Chain, dl, Con, Ptr, ST->getPointerInfo(),
  462         SDValue Lo = DAG.getConstant(IntVal.trunc(32), dl, MVT::i32);
  463         SDValue Hi = DAG.getConstant(IntVal.lshr(32).trunc(32), dl, MVT::i32);
  464         if (DAG.getDataLayout().isBigEndian())
  467         Lo = DAG.getStore(Chain, dl, Lo, Ptr, ST->getPointerInfo(), Alignment,
  469         Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
  470                           DAG.getConstant(4, dl, Ptr.getValueType()));
  471         Hi = DAG.getStore(Chain, dl, Hi, Ptr,
  475         return DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo, Hi);
  507       const DataLayout &DL = DAG.getDataLayout();
  508       if (!TLI.allowsMemoryAccessForAlignment(*DAG.getContext(), DL, MemVT,
  511         SDValue Result = TLI.expandUnalignedStore(ST, DAG);
  519       SDValue Res = TLI.LowerOperation(SDValue(Node, 0), DAG);
  528       Value = DAG.getNode(ISD::BITCAST, dl, NVT, Value);
  530           DAG.getStore(Chain, dl, Value, Ptr, ST->getPointerInfo(),
  543   auto &DL = DAG.getDataLayout();
  549     EVT NVT = EVT::getIntegerVT(*DAG.getContext(),
  551     Value = DAG.getZeroExtendInReg(Value, dl, StVT);
  553         DAG.getTruncStore(Chain, dl, Value, Ptr, ST->getPointerInfo(), NVT,
  567     EVT RoundVT = EVT::getIntegerVT(*DAG.getContext(), RoundWidth);
  568     EVT ExtraVT = EVT::getIntegerVT(*DAG.getContext(), ExtraWidth);
  575       Lo = DAG.getTruncStore(Chain, dl, Value, Ptr, ST->getPointerInfo(),
  580       Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
  581                         DAG.getConstant(IncrementSize, dl,
  583       Hi = DAG.getNode(
  585           DAG.getConstant(RoundWidth, dl,
  587       Hi = DAG.getTruncStore(
  595       Hi = DAG.getNode(
  597           DAG.getConstant(ExtraWidth, dl,
  599       Hi = DAG.getTruncStore(Chain, dl, Hi, Ptr, ST->getPointerInfo(),
  604       Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
  605                         DAG.getConstant(IncrementSize, dl,
  607       Lo = DAG.getTruncStore(
  614     SDValue Result = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo, Hi);
  623       if (!TLI.allowsMemoryAccessForAlignment(*DAG.getContext(), DL, MemVT,
  625         SDValue Result = TLI.expandUnalignedStore(ST, DAG);
  631       SDValue Res = TLI.LowerOperation(SDValue(Node, 0), DAG);
  644         Value = DAG.getNode(ISD::TRUNCATE, dl, StVT, Value);
  645         Result = DAG.getStore(Chain, dl, Value, Ptr, ST->getPointerInfo(),
  650         Value = DAG.getNode(ISD::TRUNCATE, dl,
  651                             TLI.getTypeToTransformTo(*DAG.getContext(), StVT),
  653         Result = DAG.getTruncStore(Chain, dl, Value, Ptr, ST->getPointerInfo(),
  681       const DataLayout &DL = DAG.getDataLayout();
  684       if (!TLI.allowsMemoryAccessForAlignment(*DAG.getContext(), DL, MemVT,
  686         std::tie(RVal, RChain) = TLI.expandUnalignedLoad(LD, DAG);
  691       if (SDValue Res = TLI.LowerOperation(RVal, DAG)) {
  702       SDValue Res = DAG.getLoad(NVT, dl, Chain, Ptr, LD->getMemOperand());
  703       RVal = DAG.getNode(ISD::BITCAST, dl, VT, Res);
  710       DAG.ReplaceAllUsesOfValueWith(SDValue(Node, 0), RVal);
  711       DAG.ReplaceAllUsesOfValueWith(SDValue(Node, 1), RChain);
  742     EVT NVT = EVT::getIntegerVT(*DAG.getContext(), NewWidth);
  752         DAG.getExtLoad(NewExtType, dl, Node->getValueType(0), Chain, Ptr,
  759       Result = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl,
  761                            Result, DAG.getValueType(SrcVT));
  764       Result = DAG.getNode(ISD::AssertZext, dl,
  766                            DAG.getValueType(SrcVT));
  781     EVT RoundVT = EVT::getIntegerVT(*DAG.getContext(), RoundWidth);
  782     EVT ExtraVT = EVT::getIntegerVT(*DAG.getContext(), ExtraWidth);
  785     auto &DL = DAG.getDataLayout();
  790       Lo = DAG.getExtLoad(ISD::ZEXTLOAD, dl, Node->getValueType(0), Chain, Ptr,
  796       Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
  797                          DAG.getConstant(IncrementSize, dl,
  799       Hi = DAG.getExtLoad(ExtType, dl, Node->getValueType(0), Chain, Ptr,
  806       Ch = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1),
  810       Hi = DAG.getNode(
  812           DAG.getConstant(RoundWidth, dl,
  816       Value = DAG.getNode(ISD::OR, dl, Node->getValueType(0), Lo, Hi);
  821       Hi = DAG.getExtLoad(ExtType, dl, Node->getValueType(0), Chain, Ptr,
  827       Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
  828                          DAG.getConstant(IncrementSize, dl,
  830       Lo = DAG.getExtLoad(ISD::ZEXTLOAD, dl, Node->getValueType(0), Chain, Ptr,
  837       Ch = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1),
  841       Hi = DAG.getNode(
  843           DAG.getConstant(ExtraWidth, dl,
  847       Value = DAG.getNode(ISD::OR, dl, Node->getValueType(0), Lo, Hi);
  864         if (SDValue Res = TLI.LowerOperation(SDValue(Node, 0), DAG)) {
  872         const DataLayout &DL = DAG.getDataLayout();
  873         if (!TLI.allowsMemoryAccess(*DAG.getContext(), DL, MemVT,
  875           std::tie(Value, Chain) = TLI.expandUnalignedLoad(LD, DAG);
  893           SDValue Load = DAG.getExtLoad(MidExtType, dl, LoadVT, Chain, Ptr,
  897           Value = DAG.getNode(ExtendOp, dl, Node->getValueType(0), Load);
  911           SDValue Result = DAG.getExtLoad(ISD::ZEXTLOAD, dl, ILoadVT, Chain,
  913           Value = DAG.getNode(ISD::FP16_TO_FP, dl, DestVT, Result);
  930       SDValue Result = DAG.getExtLoad(ISD::EXTLOAD, dl,
  936         ValRes = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl,
  938                              Result, DAG.getValueType(SrcVT));
  940         ValRes = DAG.getZeroExtendInReg(Result, dl, SrcVT.getScalarType());
  952     DAG.ReplaceAllUsesOfValueWith(SDValue(Node, 0), Value);
  953     DAG.ReplaceAllUsesOfValueWith(SDValue(Node, 1), Chain);
  964   LLVM_DEBUG(dbgs() << "\nLegalizing: "; Node->dump(&DAG));
  973     assert(TLI.getTypeAction(*DAG.getContext(), Node->getValueType(i)) ==
  978     assert((TLI.getTypeAction(*DAG.getContext(), Op.getValueType()) ==
 1101       NewVal = DAG.getNode(ISD::TRAP, SDLoc(Node), Node->getVTList(),
 1181         SDValue SAO = DAG.getShiftAmountOperand(Op0.getValueType(), Op1);
 1188           NewNode = DAG.UpdateNodeOperands(Node, Op0, SAO);
 1203         SDValue SAO = DAG.getShiftAmountOperand(Op0.getValueType(), Op2);
 1208           NewNode = DAG.UpdateNodeOperands(Node, Op0, Op1, SAO);
 1226       if (SDValue Res = TLI.LowerOperation(SDValue(Node, 0), DAG)) {
 1263     Node->dump( &DAG);
 1306       if (!ST->getChain().reachesChainWithoutSideEffects(DAG.getEntryNode()))
 1328     StackPtr = DAG.CreateStackTemporary(VecVT);
 1329     Ch = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr,
 1329     Ch = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr,
 1333   StackPtr = TLI.getVectorElementPointer(DAG, StackPtr, VecVT, Idx);
 1339         DAG.getLoad(Op.getValueType(), dl, Ch, StackPtr, MachinePointerInfo());
 1341     NewLoad = DAG.getExtLoad(ISD::EXTLOAD, dl, Op.getValueType(), Ch, StackPtr,
 1346   DAG.ReplaceAllUsesOfValueWith(Ch, SDValue(NewLoad.getNode(), 1));
 1354       SDValue(DAG.UpdateNodeOperands(NewLoad.getNode(), NewLoadOperands), 0);
 1368   SDValue StackPtr = DAG.CreateStackTemporary(VecVT);
 1371       MachinePointerInfo::getFixedStack(DAG.getMachineFunction(), FI);
 1374   SDValue Ch = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr, PtrInfo);
 1374   SDValue Ch = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr, PtrInfo);
 1377   SDValue SubStackPtr = TLI.getVectorElementPointer(DAG, StackPtr, VecVT, Idx);
 1380   Ch = DAG.getStore(Ch, dl, Part, SubStackPtr, MachinePointerInfo());
 1383   return DAG.getLoad(Op.getValueType(), dl, Ch, StackPtr, PtrInfo);
 1394   SDValue FIPtr = DAG.CreateStackTemporary(VT);
 1397       MachinePointerInfo::getFixedStack(DAG.getMachineFunction(), FI);
 1410     SDValue Idx = DAG.getConstant(Offset, dl, FIPtr.getValueType());
 1411     Idx = DAG.getNode(ISD::ADD, dl, FIPtr.getValueType(), FIPtr, Idx);
 1416       Stores.push_back(DAG.getTruncStore(DAG.getEntryNode(), dl,
 1416       Stores.push_back(DAG.getTruncStore(DAG.getEntryNode(), dl,
 1420       Stores.push_back(DAG.getStore(DAG.getEntryNode(), dl, Node->getOperand(i),
 1420       Stores.push_back(DAG.getStore(DAG.getEntryNode(), dl, Node->getOperand(i),
 1426     StoreChain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Stores);
 1428     StoreChain = DAG.getEntryNode();
 1431   return DAG.getLoad(VT, dl, StoreChain, FIPtr, PtrInfo);
 1443   EVT IVT = EVT::getIntegerVT(*DAG.getContext(), NumBits);
 1446     State.IntValue = DAG.getNode(ISD::BITCAST, DL, IVT, Value);
 1452   auto &DataLayout = DAG.getDataLayout();
 1454   MVT LoadTy = TLI.getRegisterType(*DAG.getContext(), MVT::i8);
 1456   SDValue StackPtr = DAG.CreateStackTemporary(FloatVT, LoadTy);
 1460   MachineFunction &MF = DAG.getMachineFunction();
 1462   State.Chain = DAG.getStore(DAG.getEntryNode(), DL, Value, State.FloatPtr,
 1462   State.Chain = DAG.getStore(DAG.getEntryNode(), DL, Value, State.FloatPtr,
 1474     IntPtr = DAG.getNode(ISD::ADD, DL, StackPtr.getValueType(), StackPtr,
 1475                       DAG.getConstant(ByteOffset, DL, StackPtr.getValueType()));
 1481   State.IntValue = DAG.getExtLoad(ISD::EXTLOAD, DL, LoadTy, State.Chain, IntPtr,
 1493     return DAG.getNode(ISD::BITCAST, DL, State.FloatVT, NewIntValue);
 1496   SDValue Chain = DAG.getTruncStore(State.Chain, DL, NewIntValue, State.IntPtr,
 1498   return DAG.getLoad(State.FloatVT, DL, Chain, State.FloatPtr,
 1512   SDValue SignMask = DAG.getConstant(SignAsInt.SignMask, DL, IntVT);
 1513   SDValue SignBit = DAG.getNode(ISD::AND, DL, IntVT, SignAsInt.IntValue,
 1520     SDValue AbsValue = DAG.getNode(ISD::FABS, DL, FloatVT, Mag);
 1521     SDValue NegValue = DAG.getNode(ISD::FNEG, DL, FloatVT, AbsValue);
 1522     SDValue Cond = DAG.getSetCC(DL, getSetCCResultType(IntVT), SignBit,
 1523                                 DAG.getConstant(0, DL, IntVT), ISD::SETNE);
 1524     return DAG.getSelect(DL, FloatVT, Cond, NegValue, AbsValue);
 1531   SDValue ClearSignMask = DAG.getConstant(~MagAsInt.SignMask, DL, MagVT);
 1532   SDValue ClearedSign = DAG.getNode(ISD::AND, DL, MagVT, MagAsInt.IntValue,
 1539     SignBit = DAG.getNode(ISD::ZERO_EXTEND, DL, MagVT, SignBit);
 1543     SDValue ShiftCnst = DAG.getConstant(ShiftAmount, DL, ShiftVT);
 1544     SignBit = DAG.getNode(ISD::SRL, DL, ShiftVT, SignBit, ShiftCnst);
 1546     SDValue ShiftCnst = DAG.getConstant(-ShiftAmount, DL, ShiftVT);
 1547     SignBit = DAG.getNode(ISD::SHL, DL, ShiftVT, SignBit, ShiftCnst);
 1550     SignBit = DAG.getNode(ISD::TRUNCATE, DL, MagVT, SignBit);
 1554   SDValue CopiedSign = DAG.getNode(ISD::OR, DL, MagVT, ClearedSign, SignBit);
 1565     SDValue Zero = DAG.getConstantFP(0.0, DL, FloatVT);
 1566     return DAG.getNode(ISD::FCOPYSIGN, DL, FloatVT, Value, Zero);
 1573   SDValue ClearSignMask = DAG.getConstant(~ValueAsInt.SignMask, DL, IntVT);
 1574   SDValue ClearedSign = DAG.getNode(ISD::AND, DL, IntVT, ValueAsInt.IntValue,
 1593   Chain = DAG.getCALLSEQ_START(Chain, 0, 0, dl);
 1596   SDValue SP = DAG.getCopyFromReg(Chain, dl, SPReg, VT);
 1600       DAG.getSubtarget().getFrameLowering()->getStackAlignment();
 1601   Tmp1 = DAG.getNode(ISD::SUB, dl, VT, SP, Size);       // Value
 1603     Tmp1 = DAG.getNode(ISD::AND, dl, VT, Tmp1,
 1604                        DAG.getConstant(-(uint64_t)Align, dl, VT));
 1605   Chain = DAG.getCopyToReg(Chain, dl, SPReg, Tmp1);     // Output chain
 1607   Tmp2 = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(0, dl, true),
 1607   Tmp2 = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(0, dl, true),
 1608                             DAG.getIntPtrConstant(0, dl, true), SDValue(), dl);
 1648       CC = DAG.getCondCode(InvCC);
 1661       CC = DAG.getCondCode(InvCC);
 1718       SetCC1 = DAG.getSetCC(dl, VT, LHS, RHS, CC1);
 1719       SetCC2 = DAG.getSetCC(dl, VT, LHS, RHS, CC2);
 1722       SetCC1 = DAG.getSetCC(dl, VT, LHS, LHS, CC1);
 1723       SetCC2 = DAG.getSetCC(dl, VT, RHS, RHS, CC2);
 1725     LHS = DAG.getNode(Opc, dl, VT, SetCC1, SetCC2);
 1740   return EmitStackConvert(SrcOp, SlotVT, DestVT, dl, DAG.getEntryNode());
 1747   unsigned SrcAlign = DAG.getDataLayout().getPrefTypeAlignment(
 1748       SrcOp.getValueType().getTypeForEVT(*DAG.getContext()));
 1749   SDValue FIPtr = DAG.CreateStackTemporary(SlotVT, SrcAlign);
 1754       MachinePointerInfo::getFixedStack(DAG.getMachineFunction(), SPFI);
 1759   Type *DestType = DestVT.getTypeForEVT(*DAG.getContext());
 1760   unsigned DestAlign = DAG.getDataLayout().getPrefTypeAlignment(DestType);
 1767     Store = DAG.getTruncStore(Chain, dl, SrcOp, FIPtr, PtrInfo,
 1772         DAG.getStore(Chain, dl, SrcOp, FIPtr, PtrInfo, SrcAlign);
 1777     return DAG.getLoad(DestVT, dl, Store, FIPtr, PtrInfo, DestAlign);
 1780   return DAG.getExtLoad(ISD::EXTLOAD, dl, DestVT, Store, FIPtr, PtrInfo, SlotVT,
 1788   SDValue StackPtr = DAG.CreateStackTemporary(Node->getValueType(0));
 1793   SDValue Ch = DAG.getTruncStore(
 1794       DAG.getEntryNode(), dl, Node->getOperand(0), StackPtr,
 1795       MachinePointerInfo::getFixedStack(DAG.getMachineFunction(), SPFI),
 1797   return DAG.getLoad(
 1799       MachinePointerInfo::getFixedStack(DAG.getMachineFunction(), SPFI));
 1931     return DAG.getUNDEF(VT);
 1934     return DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Node->getOperand(0));
 1952           CV.push_back(ConstantInt::get(EltVT.getTypeForEVT(*DAG.getContext()),
 1957         Type *OpNTy = EltVT.getTypeForEVT(*DAG.getContext());
 1963         DAG.getConstantPool(CP, TLI.getPointerTy(DAG.getDataLayout()));
 1963         DAG.getConstantPool(CP, TLI.getPointerTy(DAG.getDataLayout()));
 1965     return DAG.getLoad(
 1966         VT, dl, DAG.getEntryNode(), CPIdx,
 1967         MachinePointerInfo::getConstantPool(DAG.getMachineFunction()),
 1989         SDValue Vec1 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Value1);
 1992           Vec2 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Value2);
 1994           Vec2 = DAG.getUNDEF(VT);
 1997         return DAG.getVectorShuffle(VT, dl, Vec1, Vec2, ShuffleVec);
 2001       if (ExpandBVWithShuffles(Node, DAG, TLI, Res))
 2015   return DAG.getSplatBuildVector(VT, DL, SplatVal);
 2028     Type *ArgTy = ArgVT.getTypeForEVT(*DAG.getContext());
 2035   SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
 2036                                          TLI.getPointerTy(DAG.getDataLayout()));
 2039   Type *RetTy = RetVT.getTypeForEVT(*DAG.getContext());
 2045   SDValue InChain = DAG.getEntryNode();
 2050   const Function &F = DAG.getMachineFunction().getFunction();
 2052       TLI.isInTailCallPosition(DAG, Node, TCChain) &&
 2057   TargetLowering::CallLoweringInfo CLI(DAG);
 2071     LLVM_DEBUG(dbgs() << "Created tailcall: "; DAG.getRoot().dump(&DAG));
 2071     LLVM_DEBUG(dbgs() << "Created tailcall: "; DAG.getRoot().dump(&DAG));
 2073     return DAG.getRoot();
 2076   LLVM_DEBUG(dbgs() << "Created libcall: "; CallInfo.first.dump(&DAG));
 2092     Type *ArgTy = ArgVT.getTypeForEVT(*DAG.getContext());
 2099   SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
 2100                                          TLI.getPointerTy(DAG.getDataLayout()));
 2102   Type *RetTy = Node->getValueType(0).getTypeForEVT(*DAG.getContext());
 2104   TargetLowering::CallLoweringInfo CLI(DAG);
 2124     Node = DAG.mutateStrictFPToFP(Node);
 2165     Node = DAG.mutateStrictFPToFP(Node);
 2200   SDValue InChain = DAG.getEntryNode();
 2203   Type *RetTy = RetVT.getTypeForEVT(*DAG.getContext());
 2209     Type *ArgTy = ArgVT.getTypeForEVT(*DAG.getContext());
 2218   SDValue FIPtr = DAG.CreateStackTemporary(RetVT);
 2225   SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
 2226                                          TLI.getPointerTy(DAG.getDataLayout()));
 2229   TargetLowering::CallLoweringInfo CLI(DAG);
 2241       DAG.getLoad(RetVT, dl, CallInfo.second, FIPtr, MachinePointerInfo());
 2295   SDValue InChain = DAG.getEntryNode();
 2298   Type *RetTy = RetVT.getTypeForEVT(*DAG.getContext());
 2311   SDValue SinPtr = DAG.CreateStackTemporary(RetVT);
 2319   SDValue CosPtr = DAG.CreateStackTemporary(RetVT);
 2326   SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
 2327                                          TLI.getPointerTy(DAG.getDataLayout()));
 2330   TargetLowering::CallLoweringInfo CLI(DAG);
 2332       TLI.getLibcallCallingConv(LC), Type::getVoidTy(*DAG.getContext()), Callee,
 2338       DAG.getLoad(RetVT, dl, CallInfo.second, SinPtr, MachinePointerInfo()));
 2340       DAG.getLoad(RetVT, dl, CallInfo.second, CosPtr, MachinePointerInfo()));
 2359     SDValue StackSlot = DAG.CreateStackTemporary(MVT::f64);
 2362     SDValue WordOff = DAG.getConstant(sizeof(int), dl,
 2366     SDValue Lo = DAG.getNode(ISD::ADD, dl, StackSlot.getValueType(),
 2368     if (DAG.getDataLayout().isLittleEndian())
 2375       SDValue SignBit = DAG.getConstant(0x80000000u, dl, MVT::i32);
 2376       Op0Mapped = DAG.getNode(ISD::XOR, dl, MVT::i32, Op0, SignBit);
 2381     SDValue Store1 = DAG.getStore(DAG.getEntryNode(), dl, Op0Mapped, Lo,
 2381     SDValue Store1 = DAG.getStore(DAG.getEntryNode(), dl, Op0Mapped, Lo,
 2384     SDValue InitialHi = DAG.getConstant(0x43300000u, dl, MVT::i32);
 2387         DAG.getStore(Store1, dl, InitialHi, Hi, MachinePointerInfo());
 2390         DAG.getLoad(MVT::f64, dl, Store2, StackSlot, MachinePointerInfo());
 2392     SDValue Bias = DAG.getConstantFP(isSigned ?
 2397     SDValue Sub = DAG.getNode(ISD::FSUB, dl, MVT::f64, Load, Bias);
 2399     SDValue Result = DAG.getFPExtendOrRound(Sub, dl, DestVT);
 2405   SDValue Tmp1 = DAG.getNode(ISD::SINT_TO_FP, dl, DestVT, Op0);
 2407   SDValue SignSet = DAG.getSetCC(dl, getSetCCResultType(SrcVT), Op0,
 2408                                  DAG.getConstant(0, dl, SrcVT), ISD::SETLT);
 2409   SDValue Zero = DAG.getIntPtrConstant(0, dl),
 2410           Four = DAG.getIntPtrConstant(4, dl);
 2411   SDValue CstOffset = DAG.getSelect(dl, Zero.getValueType(),
 2425   if (DAG.getDataLayout().isLittleEndian())
 2428                                        Type::getInt64Ty(*DAG.getContext()), FF);
 2431       DAG.getConstantPool(FudgeFactor, TLI.getPointerTy(DAG.getDataLayout()));
 2431       DAG.getConstantPool(FudgeFactor, TLI.getPointerTy(DAG.getDataLayout()));
 2433   CPIdx = DAG.getNode(ISD::ADD, dl, CPIdx.getValueType(), CPIdx, CstOffset);
 2437     FudgeInReg = DAG.getLoad(
 2438         MVT::f32, dl, DAG.getEntryNode(), CPIdx,
 2439         MachinePointerInfo::getConstantPool(DAG.getMachineFunction()),
 2442     SDValue Load = DAG.getExtLoad(
 2443         ISD::EXTLOAD, dl, DestVT, DAG.getEntryNode(), CPIdx,
 2444         MachinePointerInfo::getConstantPool(DAG.getMachineFunction()), MVT::f32,
 2451   return DAG.getNode(ISD::FADD, dl, DestVT, Tmp1, FudgeInReg);
 2490   return DAG.getNode(OpToUse, dl, DestVT,
 2491                      DAG.getNode(isSigned ? ISD::SIGN_EXTEND : ISD::ZERO_EXTEND,
 2530   SDValue Operation = DAG.getNode(OpToUse, dl, NewOutTy, LegalOp);
 2534   return DAG.getNode(ISD::TRUNCATE, dl, DestVT, Operation);
 2540   EVT SHVT = TLI.getShiftAmountTy(VT, DAG.getDataLayout());
 2558     Tmp = (Sz > 8 ? DAG.getNode(ISD::BSWAP, dl, VT, Op) : Op);
 2561     Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(MaskHi4, dl, VT));
 2561     Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(MaskHi4, dl, VT));
 2562     Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(MaskLo4, dl, VT));
 2562     Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(MaskLo4, dl, VT));
 2563     Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Tmp2, DAG.getConstant(4, dl, SHVT));
 2563     Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Tmp2, DAG.getConstant(4, dl, SHVT));
 2564     Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Tmp3, DAG.getConstant(4, dl, SHVT));
 2564     Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Tmp3, DAG.getConstant(4, dl, SHVT));
 2565     Tmp = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp3);
 2568     Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(MaskHi2, dl, VT));
 2568     Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(MaskHi2, dl, VT));
 2569     Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(MaskLo2, dl, VT));
 2569     Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(MaskLo2, dl, VT));
 2570     Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Tmp2, DAG.getConstant(2, dl, SHVT));
 2570     Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Tmp2, DAG.getConstant(2, dl, SHVT));
 2571     Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Tmp3, DAG.getConstant(2, dl, SHVT));
 2571     Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Tmp3, DAG.getConstant(2, dl, SHVT));
 2572     Tmp = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp3);
 2575     Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(MaskHi1, dl, VT));
 2575     Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(MaskHi1, dl, VT));
 2576     Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(MaskLo1, dl, VT));
 2576     Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(MaskLo1, dl, VT));
 2577     Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Tmp2, DAG.getConstant(1, dl, SHVT));
 2577     Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Tmp2, DAG.getConstant(1, dl, SHVT));
 2578     Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Tmp3, DAG.getConstant(1, dl, SHVT));
 2578     Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Tmp3, DAG.getConstant(1, dl, SHVT));
 2579     Tmp = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp3);
 2583   Tmp = DAG.getConstant(0, dl, VT);
 2587           DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(J - I, dl, SHVT));
 2587           DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(J - I, dl, SHVT));
 2590           DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(I - J, dl, SHVT));
 2590           DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(I - J, dl, SHVT));
 2594     Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(Shift, dl, VT));
 2594     Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(Shift, dl, VT));
 2595     Tmp = DAG.getNode(ISD::OR, dl, VT, Tmp, Tmp2);
 2604   EVT SHVT = TLI.getShiftAmountTy(VT, DAG.getDataLayout());
 2610     return DAG.getNode(ISD::ROTL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
 2610     return DAG.getNode(ISD::ROTL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
 2612     Tmp4 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(24, dl, SHVT));
 2612     Tmp4 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(24, dl, SHVT));
 2613     Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
 2613     Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
 2614     Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
 2614     Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
 2615     Tmp1 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(24, dl, SHVT));
 2615     Tmp1 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(24, dl, SHVT));
 2616     Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp3,
 2617                        DAG.getConstant(0xFF0000, dl, VT));
 2618     Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(0xFF00, dl, VT));
 2618     Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(0xFF00, dl, VT));
 2619     Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp3);
 2620     Tmp2 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp1);
 2621     return DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp2);
 2623     Tmp8 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(56, dl, SHVT));
 2623     Tmp8 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(56, dl, SHVT));
 2624     Tmp7 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(40, dl, SHVT));
 2624     Tmp7 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(40, dl, SHVT));
 2625     Tmp6 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(24, dl, SHVT));
 2625     Tmp6 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(24, dl, SHVT));
 2626     Tmp5 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
 2626     Tmp5 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
 2627     Tmp4 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
 2627     Tmp4 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
 2628     Tmp3 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(24, dl, SHVT));
 2628     Tmp3 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(24, dl, SHVT));
 2629     Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(40, dl, SHVT));
 2629     Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(40, dl, SHVT));
 2630     Tmp1 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(56, dl, SHVT));
 2630     Tmp1 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(56, dl, SHVT));
 2631     Tmp7 = DAG.getNode(ISD::AND, dl, VT, Tmp7,
 2632                        DAG.getConstant(255ULL<<48, dl, VT));
 2633     Tmp6 = DAG.getNode(ISD::AND, dl, VT, Tmp6,
 2634                        DAG.getConstant(255ULL<<40, dl, VT));
 2635     Tmp5 = DAG.getNode(ISD::AND, dl, VT, Tmp5,
 2636                        DAG.getConstant(255ULL<<32, dl, VT));
 2637     Tmp4 = DAG.getNode(ISD::AND, dl, VT, Tmp4,
 2638                        DAG.getConstant(255ULL<<24, dl, VT));
 2639     Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp3,
 2640                        DAG.getConstant(255ULL<<16, dl, VT));
 2641     Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2,
 2642                        DAG.getConstant(255ULL<<8 , dl, VT));
 2643     Tmp8 = DAG.getNode(ISD::OR, dl, VT, Tmp8, Tmp7);
 2644     Tmp6 = DAG.getNode(ISD::OR, dl, VT, Tmp6, Tmp5);
 2645     Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp3);
 2646     Tmp2 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp1);
 2647     Tmp8 = DAG.getNode(ISD::OR, dl, VT, Tmp8, Tmp6);
 2648     Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp2);
 2649     return DAG.getNode(ISD::OR, dl, VT, Tmp8, Tmp4);
 2661     if (TLI.expandABS(Node, Tmp1, DAG))
 2665     if (TLI.expandCTPOP(Node, Tmp1, DAG))
 2670     if (TLI.expandCTLZ(Node, Tmp1, DAG))
 2675     if (TLI.expandCTTZ(Node, Tmp1, DAG))
 2687     Results.push_back(DAG.getConstant(0, dl, Node->getValueType(0)));
 2690     SDValue CfaArg = DAG.getSExtOrTrunc(Node->getOperand(0), dl,
 2691                                         TLI.getPointerTy(DAG.getDataLayout()));
 2692     SDValue Offset = DAG.getNode(ISD::ADD, dl,
 2694                                  DAG.getNode(ISD::FRAME_TO_ARGS_OFFSET, dl,
 2697     SDValue FA = DAG.getNode(
 2698         ISD::FRAMEADDR, dl, TLI.getPointerTy(DAG.getDataLayout()),
 2699         DAG.getConstant(0, 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));
 2732     SDVTList VTs = DAG.getVTList(Node->getValueType(0), MVT::Other);
 2733     SDValue Swap = DAG.getAtomicCmpSwap(
 2743     SDValue Swap = DAG.getAtomic(ISD::ATOMIC_SWAP, dl,
 2755     SDVTList VTs = DAG.getVTList(Node->getValueType(0), MVT::Other);
 2756     SDValue Res = DAG.getAtomicCmpSwap(
 2769       LHS = DAG.getNode(ISD::AssertSext, dl, OuterType, Res,
 2770                         DAG.getValueType(AtomicType));
 2771       RHS = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, OuterType,
 2772                         Node->getOperand(2), DAG.getValueType(AtomicType));
 2776       LHS = DAG.getNode(ISD::AssertZext, dl, OuterType, Res,
 2777                         DAG.getValueType(AtomicType));
 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));
 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);
 2875     EVT ShiftAmountTy = TLI.getShiftAmountTy(VT, DAG.getDataLayout());
 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);
 2886     if (TLI.expandUINT_TO_FP(Node, Tmp1, DAG)) {
 2897     if (TLI.expandFP_TO_SINT(Node, Tmp1, DAG))
 2901     if (TLI.expandFP_TO_SINT(Node, Tmp1, DAG)) {
 2908     if (TLI.expandFP_TO_UINT(Node, Tmp1, Tmp2, DAG))
 2912     if (TLI.expandFP_TO_UINT(Node, Tmp1, Tmp2, DAG)) {
 2914       DAG.ReplaceAllUsesOfValueWith(SDValue(Node,1), Tmp2);
 2922     Results.push_back(DAG.expandVAArg(Node));
 2926     Results.push_back(DAG.expandVACopy(Node));
 2931       Tmp1 = DAG.getNode(ISD::BITCAST, dl, Node->getValueType(0),
 2963       EVT NewEltVT = TLI.getTypeToTransformTo(*DAG.getContext(), EltVT);
 2975             EVT::getVectorVT(*DAG.getContext(), NewEltVT,
 2980         Op0 = DAG.getNode(ISD::BITCAST, dl, NewVT, Op0);
 2981         Op1 = DAG.getNode(ISD::BITCAST, dl, NewVT, Op1);
 3009         Ops.push_back(DAG.getUNDEF(EltVT));
 3014         Ops.push_back(DAG.getNode(
 3016             DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout()))));
 3016             DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout()))));
 3018         Ops.push_back(DAG.getNode(
 3020             DAG.getConstant(Idx - NumElems, dl,
 3021                             TLI.getVectorIdxTy(DAG.getDataLayout()))));
 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,
 3038                                              DAG.getDataLayout())));
 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,
 3056       Results.push_back(DAG.getUNDEF(Node->getValueType(0)));
 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);
 3109     if (SDValue Expanded = TLI.expandFMINNUM_FMAXNUM(Node, DAG))
 3121       SDVTList VTs = DAG.getVTList(VT, VT);
 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));
 3164                           DAG.getMachineFunction().getFunction().hasOptSize()))
 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));
 3205       SDVTList VTs = DAG.getVTList(VT, VT);
 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);
 3223       SDVTList VTs = DAG.getVTList(VT, VT);
 3224       Tmp1 = DAG.getNode(DivRemOpc, dl, VTs, Node->getOperand(0),
 3235     SDVTList VTs = DAG.getVTList(VT, VT);
 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));
 3257     EVT HalfType = EVT(VT).getHalfSizedIntegerVT(*DAG.getContext());
 3260                            HalfType, DAG,
 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]);
 3265         SDValue Shift = DAG.getConstant(
 3267             TLI.getShiftAmountTy(HalfType, DAG.getDataLayout()));
 3268         Hi = DAG.getNode(ISD::SHL, dl, VT, Hi, Shift);
 3269         Results.push_back(DAG.getNode(ISD::OR, dl, VT, Lo, Hi));
 3277     SDVTList VTs = DAG.getVTList(VT, VT);
 3298       Results.push_back(DAG.getNode(OpToUse, dl, VTs, Node->getOperand(0),
 3304     EVT HalfType = VT.getHalfSizedIntegerVT(*DAG.getContext());
 3309         TLI.expandMUL(Node, Lo, Hi, HalfType, DAG,
 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,
 3315                           TLI.getShiftAmountTy(HalfType, DAG.getDataLayout()));
 3316       Hi = DAG.getNode(ISD::SHL, dl, VT, Hi, Shift);
 3317       Results.push_back(DAG.getNode(ISD::OR, dl, VT, Lo, Hi));
 3323     if (TLI.expandFunnelShift(Node, Tmp1, DAG))
 3328     if (TLI.expandROT(Node, Tmp1, DAG))
 3335     Results.push_back(TLI.expandAddSubSat(Node, DAG));
 3341     Results.push_back(TLI.expandFixedPointMul(Node, DAG));
 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));
 3388     TLI.expandSADDSUBO(Node, Result, Overflow, DAG);
 3396     TLI.expandUADDSUBO(Node, Result, Overflow, DAG);
 3404     if (TLI.expandMULO(Node, Result, Overflow, DAG)) {
 3412     Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, PairTy, Node->getOperand(0));
 3413     Tmp2 = DAG.getNode(ISD::ANY_EXTEND, dl, PairTy, Node->getOperand(1));
 3414     Tmp2 = DAG.getNode(
 3416         DAG.getConstant(PairTy.getSizeInBits() / 2, dl,
 3417                         TLI.getShiftAmountTy(PairTy, DAG.getDataLayout())));
 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()),
 3442     const DataLayout &TD = DAG.getDataLayout();
 3446       DAG.getMachineFunction().getJumpTableInfo()->getEntrySize(TD);
 3453       Index = DAG.getNode(
 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(),
 3462     EVT MemVT = EVT::getIntegerVT(*DAG.getContext(), EntrySize * 8);
 3463     SDValue LD = DAG.getExtLoad(
 3465         MachinePointerInfo::getJumpTable(DAG.getMachineFunction()), MemVT);
 3471       Addr = DAG.getNode(ISD::ADD, dl, PTy, Addr,
 3472                           TLI.getPICJumpTableRelocBase(Table, DAG));
 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,
 3500                          DAG.getCondCode(ISD::SETNE), Tmp3,
 3501                          DAG.getConstant(0, dl, Tmp3.getValueType()),
 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);
 3612         Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, Node->getValueType(0),
 3615         Tmp2 = DAG.getConstant(0, dl, Tmp1.getValueType());
 3616         CC = DAG.getCondCode(ISD::SETNE);
 3617         Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, Node->getValueType(0), Tmp1,
 3641       Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1,
 3644       Tmp3 = DAG.getConstant(0, dl, Tmp2.getValueType());
 3645       Tmp4 = DAG.getCondCode(ISD::SETNE);
 3646       Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1, Tmp4,
 3669       SDValue Ex = DAG.getNode(
 3671           DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
 3671           DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
 3672       SDValue Sh = DAG.getNode(
 3674           DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
 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);
 3696     Results.push_back(TLI.expandVecReduce(Node, DAG));
 3762     TargetLowering::CallLoweringInfo CLI(DAG);
 3766             CallingConv::C, Type::getVoidTy(*DAG.getContext()),
 3767             DAG.getExternalSymbol("__sync_synchronize",
 3768                                   TLI.getPointerTy(DAG.getDataLayout())),
 3804     TargetLowering::CallLoweringInfo CLI(DAG);
 3807         .setLibCallee(CallingConv::C, Type::getVoidTy(*DAG.getContext()),
 3808                       DAG.getExternalSymbol(
 3809                           "abort", TLI.getPointerTy(DAG.getDataLayout())),
 3857     if (CanUseFiniteLibCall && DAG.getLibInfo().has(LibFunc_log_finite))
 3870     if (CanUseFiniteLibCall && DAG.getLibInfo().has(LibFunc_log2_finite))
 3883     if (CanUseFiniteLibCall && DAG.getLibInfo().has(LibFunc_log10_finite))
 3896     if (CanUseFiniteLibCall && DAG.getLibInfo().has(LibFunc_exp_finite))
 3909     if (CanUseFiniteLibCall && DAG.getLibInfo().has(LibFunc_exp2_finite))
 3968     if (CanUseFiniteLibCall && DAG.getLibInfo().has(LibFunc_pow_finite))
 4144     Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Node->getOperand(0));
 4151       Tmp1 = DAG.getNode(ISD::OR, dl, NVT, Tmp1,
 4152                          DAG.getConstant(TopBit, dl, NVT));
 4156     Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1);
 4160       Tmp1 = DAG.getNode(ISD::SUB, dl, NVT, Tmp1,
 4161                           DAG.getConstant(NVT.getSizeInBits() -
 4164     Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp1));
 4169     Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Node->getOperand(0));
 4170     Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1);
 4171     Tmp1 = DAG.getNode(
 4173         DAG.getConstant(DiffBits, dl,
 4174                         TLI.getShiftAmountTy(NVT, DAG.getDataLayout())));
 4176     Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp1));
 4205     Tmp1 = DAG.getVAArg(NVT, dl, Chain, Ptr, Node->getOperand(2),
 4209     Tmp2 = DAG.getNode(TruncOp, dl, OVT, Tmp1);
 4213     DAG.ReplaceAllUsesOfValueWith(SDValue(Node, 0), Tmp2);
 4214     DAG.ReplaceAllUsesOfValueWith(SDValue(Node, 1), Chain);
 4253     Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0));
 4254     Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
 4256     Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2);
 4257     Results.push_back(DAG.getNode(TruncOp, dl, OVT, Tmp1));
 4265     Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0));
 4266     Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
 4267     Tmp1 = DAG.getNode(ISD::MUL, dl, NVT, Tmp1, Tmp2);
 4269     auto &DL = DAG.getDataLayout();
 4271     Tmp2 = DAG.getNode(
 4273         DAG.getConstant(OriginalSize, dl, TLI.getScalarShiftAmountTy(DL, NVT)));
 4274     Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp1));
 4275     Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp2));
 4293     Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
 4294     Tmp3 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(2));
 4296     Tmp1 = DAG.getSelect(dl, NVT, Tmp1, Tmp2, Tmp3);
 4299       Tmp1 = DAG.getNode(TruncOp, dl, Node->getValueType(0), Tmp1);
 4301       Tmp1 = DAG.getNode(TruncOp, dl, Node->getValueType(0), Tmp1,
 4302                          DAG.getIntPtrConstant(0, dl));
 4310     Tmp1 = DAG.getNode(ISD::BITCAST, dl, NVT, Node->getOperand(0));
 4311     Tmp2 = DAG.getNode(ISD::BITCAST, dl, NVT, Node->getOperand(1));
 4315     Tmp1 = DAG.getNode(ISD::BITCAST, dl, OVT, Tmp1);
 4326     Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0));
 4327     Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
 4328     Results.push_back(DAG.getNode(ISD::SETCC, dl, Node->getValueType(0), Tmp1,
 4339     Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(2));
 4340     Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(3));
 4341     Results.push_back(DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0),
 4354     Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
 4355     Tmp2 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(1));
 4356     Tmp3 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2,
 4358     Results.push_back(DAG.getNode(ISD::FP_ROUND, dl, OVT,
 4359                                   Tmp3, DAG.getIntPtrConstant(0, dl)));
 4362     Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
 4363     Tmp2 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(1));
 4364     Tmp3 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(2));
 4366         DAG.getNode(ISD::FP_ROUND, dl, OVT,
 4367                     DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2, Tmp3),
 4368                     DAG.getIntPtrConstant(0, dl)));
 4372     Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
 4374     Tmp3 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2);
 4382     Results.push_back(DAG.getNode(ISD::FP_ROUND, dl, OVT,
 4383                                   Tmp3, DAG.getIntPtrConstant(isTrunc, dl)));
 4402     Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
 4403     Tmp2 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1);
 4404     Results.push_back(DAG.getNode(ISD::FP_ROUND, dl, OVT,
 4405                                   Tmp2, DAG.getIntPtrConstant(0, dl)));
 4426       NewOps.push_back(DAG.getNode(ISD::BITCAST, SDLoc(Op), MidVT, Op));
 4430     SDValue Concat = DAG.getNode(ISD::CONCAT_VECTORS, SL, NVT, NewOps);
 4431     SDValue CvtVec = DAG.getNode(ISD::BITCAST, SL, OVT, Concat);
 4460     SDValue Factor = DAG.getConstant(NewEltsPerOldElt, SL, IdxVT);
 4461     SDValue NewBaseIdx = DAG.getNode(ISD::MUL, SL, IdxVT, Idx, Factor);
 4463     SDValue CastVec = DAG.getNode(ISD::BITCAST, SL, NVT, Node->getOperand(0));
 4467       SDValue IdxOffset = DAG.getConstant(I, SL, IdxVT);
 4468       SDValue TmpIdx = DAG.getNode(ISD::ADD, SL, IdxVT, NewBaseIdx, IdxOffset);
 4470       SDValue Elt = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, NewEltVT,
 4475     SDValue NewVec = DAG.getBuildVector(MidVT, SL, NewOps);
 4476     Results.push_back(DAG.getNode(ISD::BITCAST, SL, EltVT, NewVec));
 4508     SDValue Factor = DAG.getConstant(NewEltsPerOldElt, SDLoc(), IdxVT);
 4509     SDValue NewBaseIdx = DAG.getNode(ISD::MUL, SL, IdxVT, Idx, Factor);
 4511     SDValue CastVec = DAG.getNode(ISD::BITCAST, SL, NVT, Node->getOperand(0));
 4512     SDValue CastVal = DAG.getNode(ISD::BITCAST, SL, MidVT, Val);
 4516       SDValue IdxOffset = DAG.getConstant(I, SL, IdxVT);
 4517       SDValue InEltIdx = DAG.getNode(ISD::ADD, SL, IdxVT, NewBaseIdx, IdxOffset);
 4519       SDValue Elt = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, NewEltVT,
 4522       NewVec = DAG.getNode(ISD::INSERT_VECTOR_ELT, SL, NVT,
 4526     Results.push_back(DAG.getNode(ISD::BITCAST, SL, OVT, NewVec));
 4544     SDValue CastVal = DAG.getNode(ISD::BITCAST, SL, MidVT, Val);
 4545     SDValue Undef = DAG.getUNDEF(MidVT);
 4552     SDValue Concat = DAG.getNode(ISD::CONCAT_VECTORS, SL, NVT, NewElts);
 4553     SDValue CvtVec = DAG.getNode(ISD::BITCAST, SL, OVT, Concat);
 4560     SDValue CastVal = DAG.getNode(ISD::BITCAST, SL, NVT, AM->getVal());
 4567       = DAG.getAtomic(ISD::ATOMIC_SWAP, SL, NVT,
 4568                       DAG.getVTList(NVT, MVT::Other),
 4571     Results.push_back(DAG.getNode(ISD::BITCAST, SL, OVT, NewAtomic));