Lines Matching refs:DL

558   SDLoc DL(N);  in performDivRemCombine()  local
560 SDValue DivRem = DAG.getNode(Opc, DL, MVT::Glue, in performDivRemCombine()
567 SDValue CopyFromLo = DAG.getCopyFromReg(InChain, DL, LO, Ty, in performDivRemCombine()
576 SDValue CopyFromHi = DAG.getCopyFromReg(InChain, DL, in performDivRemCombine()
635 SDLoc DL(Op); in createFPCmp() local
641 return DAG.getNode(MipsISD::FPCmp, DL, MVT::Glue, LHS, RHS, in createFPCmp()
642 DAG.getConstant(condCodeToFCC(CC), DL, MVT::i32)); in createFPCmp()
647 SDValue False, const SDLoc &DL) { in createCMovFP() argument
652 return DAG.getNode((invert ? MipsISD::CMovFP_F : MipsISD::CMovFP_T), DL, in createCMovFP()
686 const SDLoc DL(N); in performSELECTCombine() local
692 SetCC = DAG.getSetCC(DL, SetCC.getValueType(), SetCC.getOperand(0), in performSELECTCombine()
696 return DAG.getNode(ISD::SELECT, DL, FalseTy, SetCC, False, True); in performSELECTCombine()
719 return DAG.getNode(ISD::ADD, DL, SetCC.getValueType(), SetCC, False); in performSELECTCombine()
727 SetCC = DAG.getSetCC(DL, SetCC.getValueType(), SetCC.getOperand(0), in performSELECTCombine()
730 return DAG.getNode(ISD::ADD, DL, SetCC.getValueType(), SetCC, True); in performSELECTCombine()
774 SDLoc DL(N); in performANDCombine() local
842 return DAG.getNode(Opc, DL, ValTy, NewOperand, in performANDCombine()
843 DAG.getConstant(Pos, DL, MVT::i32), in performANDCombine()
844 DAG.getConstant(SMSize, DL, MVT::i32)); in performANDCombine()
894 SDLoc DL(N); in performORCombine() local
895 return DAG.getNode(MipsISD::Ins, DL, ValTy, Shl.getOperand(0), in performORCombine()
896 DAG.getConstant(SMPos0, DL, MVT::i32), in performORCombine()
897 DAG.getConstant(SMSize0, DL, MVT::i32), in performORCombine()
921 SDLoc DL(N); in performORCombine() local
926 Const1 = DAG.getConstant(SMPos0, DL, MVT::i32); in performORCombine()
927 SrlX = DAG.getNode(ISD::SRL, DL, And1->getValueType(0), And1, Const1); in performORCombine()
930 MipsISD::Ins, DL, N->getValueType(0), in performORCombine()
932 ? DAG.getConstant(CN1->getSExtValue() >> SMPos0, DL, ValTy) in performORCombine()
934 DAG.getConstant(SMPos0, DL, MVT::i32), in performORCombine()
937 DL, MVT::i32), in performORCombine()
1017 SDLoc DL(ROOTNode); in performMADD_MSUBCombine() local
1020 BottomHalf = CurDAG.getNode(ISD::EXTRACT_ELEMENT, DL, MVT::i32, AddOperand, in performMADD_MSUBCombine()
1021 CurDAG.getIntPtrConstant(0, DL)); in performMADD_MSUBCombine()
1023 TopHalf = CurDAG.getNode(ISD::EXTRACT_ELEMENT, DL, MVT::i32, AddOperand, in performMADD_MSUBCombine()
1024 CurDAG.getIntPtrConstant(1, DL)); in performMADD_MSUBCombine()
1025 SDValue ACCIn = CurDAG.getNode(MipsISD::MTLOHI, DL, MVT::Untyped, in performMADD_MSUBCombine()
1034 CurDAG.getNode(ISD::TRUNCATE, DL, MVT::i32, Mult->getOperand(0)), in performMADD_MSUBCombine()
1035 CurDAG.getNode(ISD::TRUNCATE, DL, MVT::i32, Mult->getOperand(1)), ACCIn}; in performMADD_MSUBCombine()
1037 SDValue MAdd = CurDAG.getNode(Opcode, DL, VTs, MAddOps); in performMADD_MSUBCombine()
1039 SDValue ResLo = CurDAG.getNode(MipsISD::MFLO, DL, MVT::i32, MAdd); in performMADD_MSUBCombine()
1040 SDValue ResHi = CurDAG.getNode(MipsISD::MFHI, DL, MVT::i32, MAdd); in performMADD_MSUBCombine()
1042 CurDAG.getNode(ISD::BUILD_PAIR, DL, MVT::i64, ResLo, ResHi); in performMADD_MSUBCombine()
1086 SDLoc DL(N); in performADDCombine() local
1088 SDValue Add1 = DAG.getNode(ISD::ADD, DL, ValTy, N->getOperand(0), in performADDCombine()
1090 return DAG.getNode(ISD::ADD, DL, ValTy, Add1, Lo); in performADDCombine()
1107 SDLoc DL(N); in performSHLCombine() local
1140 return DAG.getNode(MipsISD::CIns, DL, ValTy, NewOperand, in performSHLCombine()
1141 DAG.getConstant(Pos, DL, MVT::i32), in performSHLCombine()
1142 DAG.getConstant(SMSize, DL, MVT::i32)); in performSHLCombine()
1470 DebugLoc DL = MI.getDebugLoc(); in emitAtomicBinary() local
1598 BuildMI(*BB, II, DL, TII->get(Mips::COPY), IncrCopy).addReg(Incr); in emitAtomicBinary()
1599 BuildMI(*BB, II, DL, TII->get(Mips::COPY), PtrCopy).addReg(Ptr); in emitAtomicBinary()
1602 BuildMI(*BB, II, DL, TII->get(AtomicOp)) in emitAtomicBinary()
1624 const DebugLoc &DL = MI.getDebugLoc(); in emitSignExtendToI32InReg() local
1627 BuildMI(BB, DL, TII->get(Mips::SEB), DstReg).addReg(SrcReg); in emitSignExtendToI32InReg()
1632 BuildMI(BB, DL, TII->get(Mips::SEH), DstReg).addReg(SrcReg); in emitSignExtendToI32InReg()
1644 BuildMI(BB, DL, TII->get(Mips::SLL), ScrReg).addReg(SrcReg).addImm(ShiftImm); in emitSignExtendToI32InReg()
1645 BuildMI(BB, DL, TII->get(Mips::SRA), DstReg).addReg(ScrReg).addImm(ShiftImm); in emitSignExtendToI32InReg()
1662 DebugLoc DL = MI.getDebugLoc(); in emitAtomicBinaryPartword() local
1785 BuildMI(BB, DL, TII->get(ABI.GetPtrAddiuOp()), MaskLSB2) in emitAtomicBinaryPartword()
1787 BuildMI(BB, DL, TII->get(ABI.GetPtrAndOp()), AlignedAddr) in emitAtomicBinaryPartword()
1789 BuildMI(BB, DL, TII->get(Mips::ANDi), PtrLSB2) in emitAtomicBinaryPartword()
1792 BuildMI(BB, DL, TII->get(Mips::SLL), ShiftAmt).addReg(PtrLSB2).addImm(3); in emitAtomicBinaryPartword()
1795 BuildMI(BB, DL, TII->get(Mips::XORi), Off) in emitAtomicBinaryPartword()
1797 BuildMI(BB, DL, TII->get(Mips::SLL), ShiftAmt).addReg(Off).addImm(3); in emitAtomicBinaryPartword()
1799 BuildMI(BB, DL, TII->get(Mips::ORi), MaskUpper) in emitAtomicBinaryPartword()
1801 BuildMI(BB, DL, TII->get(Mips::SLLV), Mask) in emitAtomicBinaryPartword()
1803 BuildMI(BB, DL, TII->get(Mips::NOR), Mask2).addReg(Mips::ZERO).addReg(Mask); in emitAtomicBinaryPartword()
1804 BuildMI(BB, DL, TII->get(Mips::SLLV), Incr2).addReg(Incr).addReg(ShiftAmt); in emitAtomicBinaryPartword()
1812 BuildMI(BB, DL, TII->get(AtomicOp)) in emitAtomicBinaryPartword()
1855 DebugLoc DL = MI.getDebugLoc(); in emitAtomicCmpSwap() local
1877 BuildMI(*BB, II, DL, TII->get(Mips::COPY), PtrCopy).addReg(Ptr); in emitAtomicCmpSwap()
1878 BuildMI(*BB, II, DL, TII->get(Mips::COPY), OldValCopy).addReg(OldVal); in emitAtomicCmpSwap()
1879 BuildMI(*BB, II, DL, TII->get(Mips::COPY), NewValCopy).addReg(NewVal); in emitAtomicCmpSwap()
1885 BuildMI(*BB, II, DL, TII->get(AtomicOp)) in emitAtomicCmpSwap()
1910 DebugLoc DL = MI.getDebugLoc(); in emitAtomicCmpSwapPartword() local
1972 BuildMI(BB, DL, TII->get(ArePtrs64bit ? Mips::DADDiu : Mips::ADDiu), MaskLSB2) in emitAtomicCmpSwapPartword()
1974 BuildMI(BB, DL, TII->get(ArePtrs64bit ? Mips::AND64 : Mips::AND), AlignedAddr) in emitAtomicCmpSwapPartword()
1976 BuildMI(BB, DL, TII->get(Mips::ANDi), PtrLSB2) in emitAtomicCmpSwapPartword()
1979 BuildMI(BB, DL, TII->get(Mips::SLL), ShiftAmt).addReg(PtrLSB2).addImm(3); in emitAtomicCmpSwapPartword()
1982 BuildMI(BB, DL, TII->get(Mips::XORi), Off) in emitAtomicCmpSwapPartword()
1984 BuildMI(BB, DL, TII->get(Mips::SLL), ShiftAmt).addReg(Off).addImm(3); in emitAtomicCmpSwapPartword()
1986 BuildMI(BB, DL, TII->get(Mips::ORi), MaskUpper) in emitAtomicCmpSwapPartword()
1988 BuildMI(BB, DL, TII->get(Mips::SLLV), Mask) in emitAtomicCmpSwapPartword()
1990 BuildMI(BB, DL, TII->get(Mips::NOR), Mask2).addReg(Mips::ZERO).addReg(Mask); in emitAtomicCmpSwapPartword()
1991 BuildMI(BB, DL, TII->get(Mips::ANDi), MaskedCmpVal) in emitAtomicCmpSwapPartword()
1993 BuildMI(BB, DL, TII->get(Mips::SLLV), ShiftedCmpVal) in emitAtomicCmpSwapPartword()
1995 BuildMI(BB, DL, TII->get(Mips::ANDi), MaskedNewVal) in emitAtomicCmpSwapPartword()
1997 BuildMI(BB, DL, TII->get(Mips::SLLV), ShiftedNewVal) in emitAtomicCmpSwapPartword()
2004 BuildMI(BB, DL, TII->get(AtomicOp)) in emitAtomicCmpSwapPartword()
2027 SDLoc DL(Op); in lowerBRCOND() local
2040 SDValue BrCode = DAG.getConstant(Opc, DL, MVT::i32); in lowerBRCOND()
2042 return DAG.getNode(MipsISD::FPBrcond, DL, Op.getValueType(), Chain, BrCode, in lowerBRCOND()
2067 SDLoc DL(Op); in lowerSETCC() local
2068 SDValue True = DAG.getConstant(1, DL, MVT::i32); in lowerSETCC()
2069 SDValue False = DAG.getConstant(0, DL, MVT::i32); in lowerSETCC()
2071 return createCMovFP(DAG, Cond, True, False, DL); in lowerSETCC()
2144 SDLoc DL(GA); in lowerGlobalTLSAddress() local
2155 SDValue TGA = DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, Flag); in lowerGlobalTLSAddress()
2156 SDValue Argument = DAG.getNode(MipsISD::Wrapper, DL, PtrVT, in lowerGlobalTLSAddress()
2170 CLI.setDebugLoc(DL) in lowerGlobalTLSAddress()
2180 SDValue TGAHi = DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, in lowerGlobalTLSAddress()
2182 SDValue Hi = DAG.getNode(MipsISD::TlsHi, DL, PtrVT, TGAHi); in lowerGlobalTLSAddress()
2183 SDValue TGALo = DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, in lowerGlobalTLSAddress()
2185 SDValue Lo = DAG.getNode(MipsISD::Lo, DL, PtrVT, TGALo); in lowerGlobalTLSAddress()
2186 SDValue Add = DAG.getNode(ISD::ADD, DL, PtrVT, Hi, Ret); in lowerGlobalTLSAddress()
2187 return DAG.getNode(ISD::ADD, DL, PtrVT, Add, Lo); in lowerGlobalTLSAddress()
2193 SDValue TGA = DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, in lowerGlobalTLSAddress()
2195 TGA = DAG.getNode(MipsISD::Wrapper, DL, PtrVT, getGlobalReg(DAG, PtrVT), in lowerGlobalTLSAddress()
2198 DAG.getLoad(PtrVT, DL, DAG.getEntryNode(), TGA, MachinePointerInfo()); in lowerGlobalTLSAddress()
2202 SDValue TGAHi = DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, in lowerGlobalTLSAddress()
2204 SDValue TGALo = DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, in lowerGlobalTLSAddress()
2206 SDValue Hi = DAG.getNode(MipsISD::TlsHi, DL, PtrVT, TGAHi); in lowerGlobalTLSAddress()
2207 SDValue Lo = DAG.getNode(MipsISD::Lo, DL, PtrVT, TGALo); in lowerGlobalTLSAddress()
2208 Offset = DAG.getNode(ISD::ADD, DL, PtrVT, Hi, Lo); in lowerGlobalTLSAddress()
2211 SDValue ThreadPointer = DAG.getNode(MipsISD::ThreadPointer, DL, PtrVT); in lowerGlobalTLSAddress()
2212 return DAG.getNode(ISD::ADD, DL, PtrVT, ThreadPointer, Offset); in lowerGlobalTLSAddress()
2255 SDLoc DL(Op); in lowerVASTART() local
2262 return DAG.getStore(Op.getOperand(0), DL, FI, Op.getOperand(1), in lowerVASTART()
2274 SDLoc DL(Node); in lowerVAARG() local
2277 SDValue VAListLoad = DAG.getLoad(getPointerTy(DAG.getDataLayout()), DL, Chain, in lowerVAARG()
2290 ISD::ADD, DL, VAList.getValueType(), VAList, in lowerVAARG()
2291 DAG.getConstant(Align.value() - 1, DL, VAList.getValueType())); in lowerVAARG()
2294 ISD::AND, DL, VAList.getValueType(), VAList, in lowerVAARG()
2295 DAG.getConstant(-(int64_t)Align.value(), DL, VAList.getValueType())); in lowerVAARG()
2303 DAG.getNode(ISD::ADD, DL, VAList.getValueType(), VAList, in lowerVAARG()
2305 DL, VAList.getValueType())); in lowerVAARG()
2307 Chain = DAG.getStore(VAListLoad.getValue(1), DL, Tmp3, VAListPtr, in lowerVAARG()
2317 VAList = DAG.getNode(ISD::ADD, DL, VAListPtr.getValueType(), VAList, in lowerVAARG()
2318 DAG.getIntPtrConstant(Adjustment, DL)); in lowerVAARG()
2321 return DAG.getLoad(VT, DL, Chain, VAList, MachinePointerInfo()); in lowerVAARG()
2328 SDLoc DL(Op); in lowerFCOPYSIGN32() local
2329 SDValue Const1 = DAG.getConstant(1, DL, MVT::i32); in lowerFCOPYSIGN32()
2330 SDValue Const31 = DAG.getConstant(31, DL, MVT::i32); in lowerFCOPYSIGN32()
2336 DAG.getNode(ISD::BITCAST, DL, MVT::i32, Op.getOperand(0)) : in lowerFCOPYSIGN32()
2337 DAG.getNode(MipsISD::ExtractElementF64, DL, MVT::i32, Op.getOperand(0), in lowerFCOPYSIGN32()
2340 DAG.getNode(ISD::BITCAST, DL, MVT::i32, Op.getOperand(1)) : in lowerFCOPYSIGN32()
2341 DAG.getNode(MipsISD::ExtractElementF64, DL, MVT::i32, Op.getOperand(1), in lowerFCOPYSIGN32()
2347 SDValue E = DAG.getNode(MipsISD::Ext, DL, MVT::i32, Y, Const31, Const1); in lowerFCOPYSIGN32()
2348 Res = DAG.getNode(MipsISD::Ins, DL, MVT::i32, E, Const31, Const1, X); in lowerFCOPYSIGN32()
2355 SDValue SllX = DAG.getNode(ISD::SHL, DL, MVT::i32, X, Const1); in lowerFCOPYSIGN32()
2356 SDValue SrlX = DAG.getNode(ISD::SRL, DL, MVT::i32, SllX, Const1); in lowerFCOPYSIGN32()
2357 SDValue SrlY = DAG.getNode(ISD::SRL, DL, MVT::i32, Y, Const31); in lowerFCOPYSIGN32()
2358 SDValue SllY = DAG.getNode(ISD::SHL, DL, MVT::i32, SrlY, Const31); in lowerFCOPYSIGN32()
2359 Res = DAG.getNode(ISD::OR, DL, MVT::i32, SrlX, SllY); in lowerFCOPYSIGN32()
2363 return DAG.getNode(ISD::BITCAST, DL, Op.getOperand(0).getValueType(), Res); in lowerFCOPYSIGN32()
2365 SDValue LowX = DAG.getNode(MipsISD::ExtractElementF64, DL, MVT::i32, in lowerFCOPYSIGN32()
2367 DAG.getConstant(0, DL, MVT::i32)); in lowerFCOPYSIGN32()
2368 return DAG.getNode(MipsISD::BuildPairF64, DL, MVT::f64, LowX, Res); in lowerFCOPYSIGN32()
2376 SDLoc DL(Op); in lowerFCOPYSIGN64() local
2377 SDValue Const1 = DAG.getConstant(1, DL, MVT::i32); in lowerFCOPYSIGN64()
2380 SDValue X = DAG.getNode(ISD::BITCAST, DL, TyX, Op.getOperand(0)); in lowerFCOPYSIGN64()
2381 SDValue Y = DAG.getNode(ISD::BITCAST, DL, TyY, Op.getOperand(1)); in lowerFCOPYSIGN64()
2386 SDValue E = DAG.getNode(MipsISD::Ext, DL, TyY, Y, in lowerFCOPYSIGN64()
2387 DAG.getConstant(WidthY - 1, DL, MVT::i32), Const1); in lowerFCOPYSIGN64()
2390 E = DAG.getNode(ISD::ZERO_EXTEND, DL, TyX, E); in lowerFCOPYSIGN64()
2392 E = DAG.getNode(ISD::TRUNCATE, DL, TyX, E); in lowerFCOPYSIGN64()
2394 SDValue I = DAG.getNode(MipsISD::Ins, DL, TyX, E, in lowerFCOPYSIGN64()
2395 DAG.getConstant(WidthX - 1, DL, MVT::i32), Const1, in lowerFCOPYSIGN64()
2397 return DAG.getNode(ISD::BITCAST, DL, Op.getOperand(0).getValueType(), I); in lowerFCOPYSIGN64()
2405 SDValue SllX = DAG.getNode(ISD::SHL, DL, TyX, X, Const1); in lowerFCOPYSIGN64()
2406 SDValue SrlX = DAG.getNode(ISD::SRL, DL, TyX, SllX, Const1); in lowerFCOPYSIGN64()
2407 SDValue SrlY = DAG.getNode(ISD::SRL, DL, TyY, Y, in lowerFCOPYSIGN64()
2408 DAG.getConstant(WidthY - 1, DL, MVT::i32)); in lowerFCOPYSIGN64()
2411 SrlY = DAG.getNode(ISD::ZERO_EXTEND, DL, TyX, SrlY); in lowerFCOPYSIGN64()
2413 SrlY = DAG.getNode(ISD::TRUNCATE, DL, TyX, SrlY); in lowerFCOPYSIGN64()
2415 SDValue SllY = DAG.getNode(ISD::SHL, DL, TyX, SrlY, in lowerFCOPYSIGN64()
2416 DAG.getConstant(WidthX - 1, DL, MVT::i32)); in lowerFCOPYSIGN64()
2417 SDValue Or = DAG.getNode(ISD::OR, DL, TyX, SrlX, SllY); in lowerFCOPYSIGN64()
2418 return DAG.getNode(ISD::BITCAST, DL, Op.getOperand(0).getValueType(), Or); in lowerFCOPYSIGN64()
2431 SDLoc DL(Op); in lowerFABS32() local
2432 SDValue Res, Const1 = DAG.getConstant(1, DL, MVT::i32); in lowerFABS32()
2435 return DAG.getNode(MipsISD::FAbs, DL, Op.getValueType(), Op.getOperand(0)); in lowerFABS32()
2440 ? DAG.getNode(ISD::BITCAST, DL, MVT::i32, Op.getOperand(0)) in lowerFABS32()
2441 : DAG.getNode(MipsISD::ExtractElementF64, DL, MVT::i32, in lowerFABS32()
2446 Res = DAG.getNode(MipsISD::Ins, DL, MVT::i32, in lowerFABS32()
2448 DAG.getConstant(31, DL, MVT::i32), Const1, X); in lowerFABS32()
2452 SDValue SllX = DAG.getNode(ISD::SHL, DL, MVT::i32, X, Const1); in lowerFABS32()
2453 Res = DAG.getNode(ISD::SRL, DL, MVT::i32, SllX, Const1); in lowerFABS32()
2457 return DAG.getNode(ISD::BITCAST, DL, MVT::f32, Res); in lowerFABS32()
2464 DAG.getNode(MipsISD::ExtractElementF64, DL, MVT::i32, Op.getOperand(0), in lowerFABS32()
2465 DAG.getConstant(0, DL, MVT::i32)); in lowerFABS32()
2466 return DAG.getNode(MipsISD::BuildPairF64, DL, MVT::f64, LowX, Res); in lowerFABS32()
2471 SDLoc DL(Op); in lowerFABS64() local
2472 SDValue Res, Const1 = DAG.getConstant(1, DL, MVT::i32); in lowerFABS64()
2475 return DAG.getNode(MipsISD::FAbs, DL, Op.getValueType(), Op.getOperand(0)); in lowerFABS64()
2478 SDValue X = DAG.getNode(ISD::BITCAST, DL, MVT::i64, Op.getOperand(0)); in lowerFABS64()
2482 Res = DAG.getNode(MipsISD::Ins, DL, MVT::i64, in lowerFABS64()
2484 DAG.getConstant(63, DL, MVT::i32), Const1, X); in lowerFABS64()
2486 SDValue SllX = DAG.getNode(ISD::SHL, DL, MVT::i64, X, Const1); in lowerFABS64()
2487 Res = DAG.getNode(ISD::SRL, DL, MVT::i64, SllX, Const1); in lowerFABS64()
2490 return DAG.getNode(ISD::BITCAST, DL, MVT::f64, Res); in lowerFABS64()
2512 SDLoc DL(Op); in lowerFRAMEADDR() local
2514 DAG.getEntryNode(), DL, ABI.IsN64() ? Mips::FP_64 : Mips::FP, VT); in lowerFRAMEADDR()
2554 SDLoc DL(Op); in lowerEH_RETURN() local
2561 Chain = DAG.getCopyToReg(Chain, DL, OffsetReg, Offset, SDValue()); in lowerEH_RETURN()
2562 Chain = DAG.getCopyToReg(Chain, DL, AddrReg, Handler, Chain.getValue(1)); in lowerEH_RETURN()
2563 return DAG.getNode(MipsISD::EH_RETURN, DL, MVT::Other, Chain, in lowerEH_RETURN()
2574 SDLoc DL(Op); in lowerATOMIC_FENCE() local
2575 return DAG.getNode(MipsISD::Sync, DL, MVT::Other, Op.getOperand(0), in lowerATOMIC_FENCE()
2576 DAG.getConstant(SType, DL, MVT::i32)); in lowerATOMIC_FENCE()
2581 SDLoc DL(Op); in lowerShiftLeftParts() local
2592 SDValue Not = DAG.getNode(ISD::XOR, DL, MVT::i32, Shamt, in lowerShiftLeftParts()
2593 DAG.getConstant(-1, DL, MVT::i32)); in lowerShiftLeftParts()
2594 SDValue ShiftRight1Lo = DAG.getNode(ISD::SRL, DL, VT, Lo, in lowerShiftLeftParts()
2595 DAG.getConstant(1, DL, VT)); in lowerShiftLeftParts()
2596 SDValue ShiftRightLo = DAG.getNode(ISD::SRL, DL, VT, ShiftRight1Lo, Not); in lowerShiftLeftParts()
2597 SDValue ShiftLeftHi = DAG.getNode(ISD::SHL, DL, VT, Hi, Shamt); in lowerShiftLeftParts()
2598 SDValue Or = DAG.getNode(ISD::OR, DL, VT, ShiftLeftHi, ShiftRightLo); in lowerShiftLeftParts()
2599 SDValue ShiftLeftLo = DAG.getNode(ISD::SHL, DL, VT, Lo, Shamt); in lowerShiftLeftParts()
2600 SDValue Cond = DAG.getNode(ISD::AND, DL, MVT::i32, Shamt, in lowerShiftLeftParts()
2601 DAG.getConstant(VT.getSizeInBits(), DL, MVT::i32)); in lowerShiftLeftParts()
2602 Lo = DAG.getNode(ISD::SELECT, DL, VT, Cond, in lowerShiftLeftParts()
2603 DAG.getConstant(0, DL, VT), ShiftLeftLo); in lowerShiftLeftParts()
2604 Hi = DAG.getNode(ISD::SELECT, DL, VT, Cond, ShiftLeftLo, Or); in lowerShiftLeftParts()
2607 return DAG.getMergeValues(Ops, DL); in lowerShiftLeftParts()
2612 SDLoc DL(Op); in lowerShiftRightParts() local
2630 SDValue Not = DAG.getNode(ISD::XOR, DL, MVT::i32, Shamt, in lowerShiftRightParts()
2631 DAG.getConstant(-1, DL, MVT::i32)); in lowerShiftRightParts()
2632 SDValue ShiftLeft1Hi = DAG.getNode(ISD::SHL, DL, VT, Hi, in lowerShiftRightParts()
2633 DAG.getConstant(1, DL, VT)); in lowerShiftRightParts()
2634 SDValue ShiftLeftHi = DAG.getNode(ISD::SHL, DL, VT, ShiftLeft1Hi, Not); in lowerShiftRightParts()
2635 SDValue ShiftRightLo = DAG.getNode(ISD::SRL, DL, VT, Lo, Shamt); in lowerShiftRightParts()
2636 SDValue Or = DAG.getNode(ISD::OR, DL, VT, ShiftLeftHi, ShiftRightLo); in lowerShiftRightParts()
2638 DL, VT, Hi, Shamt); in lowerShiftRightParts()
2639 SDValue Cond = DAG.getNode(ISD::AND, DL, MVT::i32, Shamt, in lowerShiftRightParts()
2640 DAG.getConstant(VT.getSizeInBits(), DL, MVT::i32)); in lowerShiftRightParts()
2641 SDValue Ext = DAG.getNode(ISD::SRA, DL, VT, Hi, in lowerShiftRightParts()
2642 DAG.getConstant(VT.getSizeInBits() - 1, DL, VT)); in lowerShiftRightParts()
2648 DL, VTList, Cond, ShiftRightHi, in lowerShiftRightParts()
2649 IsSRA ? Ext : DAG.getConstant(0, DL, VT), Or, in lowerShiftRightParts()
2653 Lo = DAG.getNode(ISD::SELECT, DL, VT, Cond, ShiftRightHi, Or); in lowerShiftRightParts()
2654 Hi = DAG.getNode(ISD::SELECT, DL, VT, Cond, in lowerShiftRightParts()
2655 IsSRA ? Ext : DAG.getConstant(0, DL, VT), ShiftRightHi); in lowerShiftRightParts()
2658 return DAG.getMergeValues(Ops, DL); in lowerShiftRightParts()
2666 SDLoc DL(LD); in createLoadLR() local
2670 Ptr = DAG.getNode(ISD::ADD, DL, BasePtrVT, Ptr, in createLoadLR()
2671 DAG.getConstant(Offset, DL, BasePtrVT)); in createLoadLR()
2674 return DAG.getMemIntrinsicNode(Opc, DL, VTList, Ops, MemVT, in createLoadLR()
2735 SDLoc DL(LD); in lowerLOAD() local
2736 SDValue Const32 = DAG.getConstant(32, DL, MVT::i32); in lowerLOAD()
2737 SDValue SLL = DAG.getNode(ISD::SHL, DL, MVT::i64, LWR, Const32); in lowerLOAD()
2738 SDValue SRL = DAG.getNode(ISD::SRL, DL, MVT::i64, SLL, Const32); in lowerLOAD()
2740 return DAG.getMergeValues(Ops, DL); in lowerLOAD()
2747 SDLoc DL(SD); in createStoreLR() local
2751 Ptr = DAG.getNode(ISD::ADD, DL, BasePtrVT, Ptr, in createStoreLR()
2752 DAG.getConstant(Offset, DL, BasePtrVT)); in createStoreLR()
2755 return DAG.getMemIntrinsicNode(Opc, DL, VTList, Ops, MemVT, in createStoreLR()
3021 const SDLoc &DL, bool IsTailCall, in passArgOnStack() argument
3025 DAG.getNode(ISD::ADD, DL, getPointerTy(DAG.getDataLayout()), StackPtr, in passArgOnStack()
3026 DAG.getIntPtrConstant(Offset, DL)); in passArgOnStack()
3027 return DAG.getStore(Chain, DL, Arg, PtrOff, MachinePointerInfo()); in passArgOnStack()
3033 return DAG.getStore(Chain, DL, Arg, FIN, MachinePointerInfo(), MaybeAlign(), in passArgOnStack()
3066 Chain = CLI.DAG.getCopyToReg(Chain, CLI.DL, R.first, R.second, InFlag); in getOpndList()
3158 SDLoc DL = CLI.DL; in LowerCall() local
3253 SDValue NextStackOffsetVal = DAG.getIntPtrConstant(NextStackOffset, DL, true); in LowerCall()
3256 Chain = DAG.getCALLSEQ_START(Chain, NextStackOffset, 0, DL); in LowerCall()
3259 DAG.getCopyFromReg(Chain, DL, ABI.IsN64() ? Mips::SP_64 : Mips::SP, in LowerCall()
3286 passByValArg(Chain, DL, RegsToPass, MemOpChains, StackPtr, MFI, DAG, Arg, in LowerCall()
3302 Arg = DAG.getNode(ISD::BITCAST, DL, LocVT, Arg); in LowerCall()
3304 SDValue Lo = DAG.getNode(MipsISD::ExtractElementF64, DL, MVT::i32, in LowerCall()
3305 Arg, DAG.getConstant(0, DL, MVT::i32)); in LowerCall()
3306 SDValue Hi = DAG.getNode(MipsISD::ExtractElementF64, DL, MVT::i32, in LowerCall()
3307 Arg, DAG.getConstant(1, DL, MVT::i32)); in LowerCall()
3322 Arg = DAG.getNode(ISD::BITCAST, DL, LocVT, Arg); in LowerCall()
3328 Arg = DAG.getNode(ISD::SIGN_EXTEND, DL, LocVT, Arg); in LowerCall()
3334 Arg = DAG.getNode(ISD::ZERO_EXTEND, DL, LocVT, Arg); in LowerCall()
3340 Arg = DAG.getNode(ISD::ANY_EXTEND, DL, LocVT, Arg); in LowerCall()
3348 ISD::SHL, DL, VA.getLocVT(), Arg, in LowerCall()
3349 DAG.getConstant(LocSizeInBits - ValSizeInBits, DL, VA.getLocVT())); in LowerCall()
3376 Chain, Arg, DL, IsTailCall, DAG)); in LowerCall()
3382 Chain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, MemOpChains); in LowerCall()
3426 Callee = getAddrLocal(G, DL, Ty, DAG, ABI.IsN32() || ABI.IsN64()); in LowerCall()
3428 Callee = getAddrGlobalLargeGOT(G, DL, Ty, DAG, MipsII::MO_CALL_HI16, in LowerCall()
3433 Callee = getAddrGlobal(G, DL, Ty, DAG, MipsII::MO_GOT_CALL, Chain, in LowerCall()
3438 Callee = DAG.getTargetGlobalAddress(G->getGlobal(), DL, in LowerCall()
3450 Callee = getAddrGlobalLargeGOT(S, DL, Ty, DAG, MipsII::MO_CALL_HI16, in LowerCall()
3455 Callee = getAddrGlobal(S, DL, Ty, DAG, MipsII::MO_GOT_CALL, Chain, in LowerCall()
3471 SDValue Ret = DAG.getNode(MipsISD::TailCall, DL, MVT::Other, Ops); in LowerCall()
3476 Chain = DAG.getNode(MipsISD::JmpLink, DL, NodeTys, Ops); in LowerCall()
3485 DAG.getIntPtrConstant(0, DL, true), InFlag, DL); in LowerCall()
3491 return LowerCallResult(Chain, InFlag, CallConv, IsVarArg, Ins, DL, DAG, in LowerCall()
3499 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &DL, in LowerCallResult() argument
3517 SDValue Val = DAG.getCopyFromReg(Chain, DL, RVLocs[i].getLocReg(), in LowerCallResult()
3528 Shift, DL, VA.getLocVT(), Val, in LowerCallResult()
3529 DAG.getConstant(LocSizeInBits - ValSizeInBits, DL, VA.getLocVT())); in LowerCallResult()
3538 Val = DAG.getNode(ISD::BITCAST, DL, VA.getValVT(), Val); in LowerCallResult()
3542 Val = DAG.getNode(ISD::TRUNCATE, DL, VA.getValVT(), Val); in LowerCallResult()
3546 Val = DAG.getNode(ISD::AssertZext, DL, VA.getLocVT(), Val, in LowerCallResult()
3548 Val = DAG.getNode(ISD::TRUNCATE, DL, VA.getValVT(), Val); in LowerCallResult()
3552 Val = DAG.getNode(ISD::AssertSext, DL, VA.getLocVT(), Val, in LowerCallResult()
3554 Val = DAG.getNode(ISD::TRUNCATE, DL, VA.getValVT(), Val); in LowerCallResult()
3565 EVT ArgVT, const SDLoc &DL, in UnpackFromArgumentSlot() argument
3582 Opcode, DL, VA.getLocVT(), Val, in UnpackFromArgumentSlot()
3583 DAG.getConstant(LocSizeInBits - ValSizeInBits, DL, VA.getLocVT())); in UnpackFromArgumentSlot()
3599 Val = DAG.getNode(ISD::TRUNCATE, DL, ValVT, Val); in UnpackFromArgumentSlot()
3603 Val = DAG.getNode(ISD::AssertSext, DL, LocVT, Val, DAG.getValueType(ValVT)); in UnpackFromArgumentSlot()
3604 Val = DAG.getNode(ISD::TRUNCATE, DL, ValVT, Val); in UnpackFromArgumentSlot()
3608 Val = DAG.getNode(ISD::AssertZext, DL, LocVT, Val, DAG.getValueType(ValVT)); in UnpackFromArgumentSlot()
3609 Val = DAG.getNode(ISD::TRUNCATE, DL, ValVT, Val); in UnpackFromArgumentSlot()
3612 Val = DAG.getNode(ISD::BITCAST, DL, ValVT, Val); in UnpackFromArgumentSlot()
3626 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &DL, in LowerFormalArguments() argument
3675 copyByValRegs(Chain, DL, OutChains, DAG, Flags, InVals, &*FuncArg, in LowerFormalArguments()
3690 SDValue ArgValue = DAG.getCopyFromReg(Chain, DL, Reg, RegVT); in LowerFormalArguments()
3693 UnpackFromArgumentSlot(ArgValue, VA, Ins[InsIdx].ArgVT, DL, DAG); in LowerFormalArguments()
3700 ArgValue = DAG.getNode(ISD::BITCAST, DL, ValVT, ArgValue); in LowerFormalArguments()
3707 SDValue ArgValue2 = DAG.getCopyFromReg(Chain, DL, Reg2, RegVT); in LowerFormalArguments()
3710 ArgValue = DAG.getNode(MipsISD::BuildPairF64, DL, MVT::f64, in LowerFormalArguments()
3739 LocVT, DL, Chain, FIN, in LowerFormalArguments()
3744 UnpackFromArgumentSlot(ArgValue, VA, Ins[InsIdx].ArgVT, DL, DAG); in LowerFormalArguments()
3767 SDValue Copy = DAG.getCopyToReg(DAG.getEntryNode(), DL, Reg, InVals[i]); in LowerFormalArguments()
3768 Chain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Copy, Chain); in LowerFormalArguments()
3774 writeVarArgRegs(OutChains, Chain, DL, DAG, CCInfo); in LowerFormalArguments()
3780 Chain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, OutChains); in LowerFormalArguments()
3810 const SDLoc &DL, in LowerInterruptReturn() argument
3817 return DAG.getNode(MipsISD::ERet, DL, MVT::Other, RetOps); in LowerInterruptReturn()
3825 const SDLoc &DL, SelectionDAG &DAG) const { in LowerReturn() argument
3853 Val = DAG.getNode(ISD::BITCAST, DL, VA.getLocVT(), Val); in LowerReturn()
3859 Val = DAG.getNode(ISD::ANY_EXTEND, DL, VA.getLocVT(), Val); in LowerReturn()
3865 Val = DAG.getNode(ISD::ZERO_EXTEND, DL, VA.getLocVT(), Val); in LowerReturn()
3871 Val = DAG.getNode(ISD::SIGN_EXTEND, DL, VA.getLocVT(), Val); in LowerReturn()
3879 ISD::SHL, DL, VA.getLocVT(), Val, in LowerReturn()
3880 DAG.getConstant(LocSizeInBits - ValSizeInBits, DL, VA.getLocVT())); in LowerReturn()
3883 Chain = DAG.getCopyToReg(Chain, DL, VA.getLocReg(), Val, Flag); in LowerReturn()
3901 DAG.getCopyFromReg(Chain, DL, Reg, getPointerTy(DAG.getDataLayout())); in LowerReturn()
3904 Chain = DAG.getCopyToReg(Chain, DL, V0, Val, Flag); in LowerReturn()
3917 return LowerInterruptReturn(RetOps, DL, DAG); in LowerReturn()
3920 return DAG.getNode(MipsISD::Ret, DL, MVT::Other, RetOps); in LowerReturn()
4198 SDLoc DL(Op); in LowerAsmOperandForConstraint() local
4213 Result = DAG.getTargetConstant(Val, DL, Type); in LowerAsmOperandForConstraint()
4223 Result = DAG.getTargetConstant(0, DL, Type); in LowerAsmOperandForConstraint()
4233 Result = DAG.getTargetConstant(Val, DL, Type); in LowerAsmOperandForConstraint()
4243 Result = DAG.getTargetConstant(Val, DL, Type); in LowerAsmOperandForConstraint()
4253 Result = DAG.getTargetConstant(Val, DL, Type); in LowerAsmOperandForConstraint()
4263 Result = DAG.getTargetConstant(Val, DL, Type); in LowerAsmOperandForConstraint()
4273 Result = DAG.getTargetConstant(Val, DL, Type); in LowerAsmOperandForConstraint()
4288 bool MipsTargetLowering::isLegalAddressingMode(const DataLayout &DL, in isLegalAddressingMode() argument
4347 SDValue Chain, const SDLoc &DL, std::vector<SDValue> &OutChains, in copyByValRegs() argument
4390 SDValue StorePtr = DAG.getNode(ISD::ADD, DL, PtrTy, FIN, in copyByValRegs()
4391 DAG.getConstant(Offset, DL, PtrTy)); in copyByValRegs()
4392 SDValue Store = DAG.getStore(Chain, DL, DAG.getRegister(VReg, RegTy), in copyByValRegs()
4400 SDValue Chain, const SDLoc &DL, in passByValArg() argument
4422 SDValue LoadPtr = DAG.getNode(ISD::ADD, DL, PtrTy, Arg, in passByValArg()
4423 DAG.getConstant(OffsetInBytes, DL, PtrTy)); in passByValArg()
4424 SDValue LoadVal = DAG.getLoad(RegTy, DL, Chain, LoadPtr, in passByValArg()
4447 SDValue LoadPtr = DAG.getNode(ISD::ADD, DL, PtrTy, Arg, in passByValArg()
4448 DAG.getConstant(OffsetInBytes, DL, in passByValArg()
4451 ISD::ZEXTLOAD, DL, RegTy, Chain, LoadPtr, MachinePointerInfo(), in passByValArg()
4463 SDValue Shift = DAG.getNode(ISD::SHL, DL, RegTy, LoadVal, in passByValArg()
4464 DAG.getConstant(Shamt, DL, MVT::i32)); in passByValArg()
4467 Val = DAG.getNode(ISD::OR, DL, RegTy, Val, Shift); in passByValArg()
4484 SDValue Src = DAG.getNode(ISD::ADD, DL, PtrTy, Arg, in passByValArg()
4485 DAG.getConstant(OffsetInBytes, DL, PtrTy)); in passByValArg()
4486 SDValue Dst = DAG.getNode(ISD::ADD, DL, PtrTy, StackPtr, in passByValArg()
4487 DAG.getIntPtrConstant(VA.getLocMemOffset(), DL)); in passByValArg()
4489 Chain, DL, Dst, Src, DAG.getConstant(MemCpySize, DL, PtrTy), in passByValArg()
4496 SDValue Chain, const SDLoc &DL, in writeVarArgRegs() argument
4531 SDValue ArgValue = DAG.getCopyFromReg(Chain, DL, Reg, RegTy); in writeVarArgRegs()
4535 DAG.getStore(Chain, DL, ArgValue, PtrOff, MachinePointerInfo()); in writeVarArgRegs()
4597 DebugLoc DL = MI.getDebugLoc(); in emitPseudoSELECT() local
4630 BuildMI(BB, DL, TII->get(Opc)) in emitPseudoSELECT()
4635 BuildMI(BB, DL, TII->get(Opc)) in emitPseudoSELECT()
4654 BuildMI(*BB, BB->begin(), DL, TII->get(Mips::PHI), MI.getOperand(0).getReg()) in emitPseudoSELECT()
4673 DebugLoc DL = MI.getDebugLoc(); in emitPseudoD_SELECT() local
4706 BuildMI(BB, DL, TII->get(Mips::BNE)) in emitPseudoD_SELECT()
4725 BuildMI(*BB, BB->begin(), DL, TII->get(Mips::PHI), MI.getOperand(0).getReg()) in emitPseudoD_SELECT()
4730 BuildMI(*BB, BB->begin(), DL, TII->get(Mips::PHI), MI.getOperand(1).getReg()) in emitPseudoD_SELECT()
4771 DebugLoc DL = MI.getDebugLoc(); in emitLDR_W() local
4782 BuildMI(*BB, I, DL, TII->get(Mips::LW)) in emitLDR_W()
4786 BuildMI(*BB, I, DL, TII->get(Mips::FILL_W)).addDef(Dest).addUse(Temp); in emitLDR_W()
4793 BuildMI(*BB, I, DL, TII->get(Mips::IMPLICIT_DEF)).addDef(Undef); in emitLDR_W()
4794 BuildMI(*BB, I, DL, TII->get(Mips::LWR)) in emitLDR_W()
4799 BuildMI(*BB, I, DL, TII->get(Mips::LWL)) in emitLDR_W()
4804 BuildMI(*BB, I, DL, TII->get(Mips::FILL_W)).addDef(Dest).addUse(LoadFull); in emitLDR_W()
4817 DebugLoc DL = MI.getDebugLoc(); in emitLDR_D() local
4829 BuildMI(*BB, I, DL, TII->get(Mips::LD)) in emitLDR_D()
4833 BuildMI(*BB, I, DL, TII->get(Mips::FILL_D)).addDef(Dest).addUse(Temp); in emitLDR_D()
4838 BuildMI(*BB, I, DL, TII->get(Mips::LW)) in emitLDR_D()
4842 BuildMI(*BB, I, DL, TII->get(Mips::LW)) in emitLDR_D()
4846 BuildMI(*BB, I, DL, TII->get(Mips::FILL_W)).addDef(Wtemp).addUse(Lo); in emitLDR_D()
4847 BuildMI(*BB, I, DL, TII->get(Mips::INSERT_W), Dest) in emitLDR_D()
4862 BuildMI(*BB, I, DL, TII->get(Mips::IMPLICIT_DEF)).addDef(LoUndef); in emitLDR_D()
4863 BuildMI(*BB, I, DL, TII->get(Mips::LWR)) in emitLDR_D()
4868 BuildMI(*BB, I, DL, TII->get(Mips::LWL)) in emitLDR_D()
4873 BuildMI(*BB, I, DL, TII->get(Mips::IMPLICIT_DEF)).addDef(HiUndef); in emitLDR_D()
4874 BuildMI(*BB, I, DL, TII->get(Mips::LWR)) in emitLDR_D()
4879 BuildMI(*BB, I, DL, TII->get(Mips::LWL)) in emitLDR_D()
4884 BuildMI(*BB, I, DL, TII->get(Mips::FILL_W)).addDef(Wtemp).addUse(LoFull); in emitLDR_D()
4885 BuildMI(*BB, I, DL, TII->get(Mips::INSERT_W), Dest) in emitLDR_D()
4901 DebugLoc DL = MI.getDebugLoc(); in emitSTR_W() local
4913 BuildMI(*BB, I, DL, TII->get(Mips::COPY)).addDef(BitcastW).addUse(StoreVal); in emitSTR_W()
4914 BuildMI(*BB, I, DL, TII->get(Mips::COPY_S_W)) in emitSTR_W()
4918 BuildMI(*BB, I, DL, TII->get(Mips::SW)) in emitSTR_W()
4926 BuildMI(*BB, I, DL, TII->get(Mips::COPY_S_W)) in emitSTR_W()
4930 BuildMI(*BB, I, DL, TII->get(Mips::SWR)) in emitSTR_W()
4934 BuildMI(*BB, I, DL, TII->get(Mips::SWL)) in emitSTR_W()
4951 DebugLoc DL = MI.getDebugLoc(); in emitSTR_D() local
4964 BuildMI(*BB, I, DL, TII->get(Mips::COPY)) in emitSTR_D()
4967 BuildMI(*BB, I, DL, TII->get(Mips::COPY_S_D)) in emitSTR_D()
4971 BuildMI(*BB, I, DL, TII->get(Mips::SD)) in emitSTR_D()
4979 BuildMI(*BB, I, DL, TII->get(Mips::COPY)) in emitSTR_D()
4982 BuildMI(*BB, I, DL, TII->get(Mips::COPY_S_W)) in emitSTR_D()
4986 BuildMI(*BB, I, DL, TII->get(Mips::COPY_S_W)) in emitSTR_D()
4990 BuildMI(*BB, I, DL, TII->get(Mips::SW)) in emitSTR_D()
4994 BuildMI(*BB, I, DL, TII->get(Mips::SW)) in emitSTR_D()
5005 BuildMI(*BB, I, DL, TII->get(Mips::COPY)).addDef(Bitcast).addUse(StoreVal); in emitSTR_D()
5006 BuildMI(*BB, I, DL, TII->get(Mips::COPY_S_W)) in emitSTR_D()
5010 BuildMI(*BB, I, DL, TII->get(Mips::COPY_S_W)) in emitSTR_D()
5014 BuildMI(*BB, I, DL, TII->get(Mips::SWR)) in emitSTR_D()
5018 BuildMI(*BB, I, DL, TII->get(Mips::SWL)) in emitSTR_D()
5022 BuildMI(*BB, I, DL, TII->get(Mips::SWR)) in emitSTR_D()
5026 BuildMI(*BB, I, DL, TII->get(Mips::SWL)) in emitSTR_D()