Lines Matching refs:dl

176                                          SelectionDAG &DAG, const SDLoc &dl) {  in CreateCopyOfByValArgument()  argument
177 SDValue SizeNode = DAG.getConstant(Flags.getByValSize(), dl, MVT::i32); in CreateCopyOfByValArgument()
179 Chain, dl, Dst, Src, SizeNode, Flags.getNonZeroByValAlign(), in CreateCopyOfByValArgument()
205 const SDLoc &dl, SelectionDAG &DAG) const { in LowerReturn() argument
237 Val = DAG.getNode(ISD::SIGN_EXTEND, dl, VA.getLocVT(), Val); in LowerReturn()
240 Val = DAG.getNode(ISD::ZERO_EXTEND, dl, VA.getLocVT(), Val); in LowerReturn()
243 Val = DAG.getNode(ISD::ANY_EXTEND, dl, VA.getLocVT(), Val); in LowerReturn()
247 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), Val, Flag); in LowerReturn()
260 return DAG.getNode(HexagonISD::RET_FLAG, dl, MVT::Other, RetOps); in LowerReturn()
351 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &dl, in LowerCallResult() argument
375 SDValue FR0 = DAG.getCopyFromReg(Chain, dl, RVLocs[i].getLocReg(), in LowerCallResult()
379 SDValue TPR = DAG.getCopyToReg(FR0.getValue(1), dl, PredR, in LowerCallResult()
385 RetVal = DAG.getCopyFromReg(TPR.getValue(0), dl, PredR, MVT::i1); in LowerCallResult()
389 RetVal = DAG.getCopyFromReg(Chain, dl, RVLocs[i].getLocReg(), in LowerCallResult()
406 SDLoc &dl = CLI.DL; in LowerCall() local
423 Callee = DAG.getTargetGlobalAddress(GAN->getGlobal(), dl, MVT::i32); in LowerCall()
462 DAG.getCopyFromReg(Chain, dl, HRI.getStackRegister(), PtrVT); in LowerCall()
486 Arg = DAG.getNode(ISD::SIGN_EXTEND, dl, VA.getLocVT(), Arg); in LowerCall()
489 Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, VA.getLocVT(), Arg); in LowerCall()
492 Arg = DAG.getNode(ISD::ANY_EXTEND, dl, VA.getLocVT(), Arg); in LowerCall()
498 SDValue MemAddr = DAG.getConstant(LocMemOffset, dl, in LowerCall()
500 MemAddr = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, MemAddr); in LowerCall()
508 Flags, DAG, dl)); in LowerCall()
512 SDValue S = DAG.getStore(Chain, dl, Arg, MemAddr, LocPI); in LowerCall()
533 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOpChains); in LowerCall()
537 Chain = DAG.getCALLSEQ_START(Chain, NumBytes, 0, dl); in LowerCall()
547 Chain = DAG.getCopyToReg(Chain, dl, R.first, R.second, Glue); in LowerCall()
563 Chain = DAG.getCopyToReg(Chain, dl, R.first, R.second, Glue); in LowerCall()
576 Callee = DAG.getTargetGlobalAddress(G->getGlobal(), dl, PtrVT, 0, Flags); in LowerCall()
602 return DAG.getNode(HexagonISD::TC_RETURN, dl, NodeTys, Ops); in LowerCall()
611 Chain = DAG.getNode(OpCode, dl, NodeTys, Ops); in LowerCall()
615 Chain = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(NumBytes, dl, true), in LowerCall()
616 DAG.getIntPtrConstant(0, dl, true), Glue, dl); in LowerCall()
621 return LowerCallResult(Chain, Glue, CallConv, IsVarArg, Ins, dl, DAG, in LowerCall()
724 SDLoc dl(Op); in LowerREADCYCLECOUNTER() local
726 return DAG.getNode(HexagonISD::READCYCLE, dl, VTs, Chain); in LowerREADCYCLECOUNTER()
749 SDLoc dl(Op); in LowerDYNAMIC_STACKALLOC() local
766 SDValue AC = DAG.getConstant(A, dl, MVT::i32); in LowerDYNAMIC_STACKALLOC()
768 SDValue AA = DAG.getNode(HexagonISD::ALLOCA, dl, VTs, Chain, Size, AC); in LowerDYNAMIC_STACKALLOC()
776 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &dl, in LowerFormalArguments() argument
845 SDValue Copy = DAG.getCopyFromReg(Chain, dl, VReg, RegVT); in LowerFormalArguments()
852 SDValue T = DAG.getNode(ISD::AND, dl, RegVT, in LowerFormalArguments()
853 Copy, DAG.getConstant(1, dl, RegVT)); in LowerFormalArguments()
854 Copy = DAG.getSetCC(dl, MVT::i1, T, DAG.getConstant(0, dl, RegVT), in LowerFormalArguments()
886 SDValue L = DAG.getLoad(VA.getValVT(), dl, Chain, FIN, in LowerFormalArguments()
1030 const SDLoc &dl(Op); in LowerSETCC() local
1042 return DAG.getSetCC(dl, ResTy, in LowerSETCC()
1080 return DAG.getSetCC(dl, ResTy, in LowerSETCC()
1093 const SDLoc &dl(Op); in LowerVSELECT() local
1102 DAG.getSelect(dl, WideTy, PredOp, in LowerVSELECT()
1103 DAG.getSExtOrTrunc(Op1, dl, WideTy), in LowerVSELECT()
1104 DAG.getSExtOrTrunc(Op2, dl, WideTy)), in LowerVSELECT()
1105 dl, OpTy); in LowerVSELECT()
1178 SDLoc dl(Op); in LowerRETURNADDR() local
1182 SDValue Offset = DAG.getConstant(4, dl, MVT::i32); in LowerRETURNADDR()
1183 return DAG.getLoad(VT, dl, DAG.getEntryNode(), in LowerRETURNADDR()
1184 DAG.getNode(ISD::ADD, dl, VT, FrameAddr, Offset), in LowerRETURNADDR()
1190 return DAG.getCopyFromReg(DAG.getEntryNode(), dl, Reg, VT); in LowerRETURNADDR()
1200 SDLoc dl(Op); in LowerFRAMEADDR() local
1202 SDValue FrameAddr = DAG.getCopyFromReg(DAG.getEntryNode(), dl, in LowerFRAMEADDR()
1205 FrameAddr = DAG.getLoad(VT, dl, DAG.getEntryNode(), FrameAddr, in LowerFRAMEADDR()
1212 SDLoc dl(Op); in LowerATOMIC_FENCE() local
1213 return DAG.getNode(HexagonISD::BARRIER, dl, MVT::Other, Op.getOperand(0)); in LowerATOMIC_FENCE()
1218 SDLoc dl(Op); in LowerGLOBALADDRESS() local
1228 SDValue GA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, Offset); in LowerGLOBALADDRESS()
1231 return DAG.getNode(HexagonISD::CONST32_GP, dl, PtrVT, GA); in LowerGLOBALADDRESS()
1232 return DAG.getNode(HexagonISD::CONST32, dl, PtrVT, GA); in LowerGLOBALADDRESS()
1237 SDValue GA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, Offset, in LowerGLOBALADDRESS()
1239 return DAG.getNode(HexagonISD::AT_PCREL, dl, PtrVT, GA); in LowerGLOBALADDRESS()
1244 SDValue GA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, HexagonII::MO_GOT); in LowerGLOBALADDRESS()
1245 SDValue Off = DAG.getConstant(Offset, dl, MVT::i32); in LowerGLOBALADDRESS()
1246 return DAG.getNode(HexagonISD::AT_GOT, dl, PtrVT, GOT, GA, Off); in LowerGLOBALADDRESS()
1253 SDLoc dl(Op); in LowerBlockAddress() local
1259 return DAG.getNode(HexagonISD::CONST32_GP, dl, PtrVT, A); in LowerBlockAddress()
1263 return DAG.getNode(HexagonISD::AT_PCREL, dl, PtrVT, A); in LowerBlockAddress()
1282 SDLoc dl(GA); in GetDynamicTLSAddr() local
1283 SDValue TGA = DAG.getTargetGlobalAddress(GA->getGlobal(), dl, in GetDynamicTLSAddr()
1300 Chain = DAG.getNode(HexagonISD::CALL, dl, NodeTys, Ops); in GetDynamicTLSAddr()
1306 return DAG.getCopyFromReg(Chain, dl, ReturnReg, PtrVT, Glue); in GetDynamicTLSAddr()
1315 SDLoc dl(GA); in LowerToTLSInitialExecModel() local
1320 SDValue TP = DAG.getCopyFromReg(DAG.getEntryNode(), dl, Hexagon::UGP, PtrVT); in LowerToTLSInitialExecModel()
1327 SDValue TGA = DAG.getTargetGlobalAddress(GA->getGlobal(), dl, PtrVT, in LowerToTLSInitialExecModel()
1330 SDValue Sym = DAG.getNode(HexagonISD::CONST32, dl, PtrVT, TGA); in LowerToTLSInitialExecModel()
1338 Sym = DAG.getNode(ISD::ADD, dl, PtrVT, GOT, Sym); in LowerToTLSInitialExecModel()
1344 DAG.getLoad(PtrVT, dl, DAG.getEntryNode(), Sym, MachinePointerInfo()); in LowerToTLSInitialExecModel()
1348 return DAG.getNode(ISD::ADD, dl, PtrVT, TP, LoadOffset); in LowerToTLSInitialExecModel()
1357 SDLoc dl(GA); in LowerToTLSLocalExecModel() local
1362 SDValue TP = DAG.getCopyFromReg(DAG.getEntryNode(), dl, Hexagon::UGP, PtrVT); in LowerToTLSLocalExecModel()
1364 SDValue TGA = DAG.getTargetGlobalAddress(GA->getGlobal(), dl, PtrVT, Offset, in LowerToTLSLocalExecModel()
1366 SDValue Sym = DAG.getNode(HexagonISD::CONST32, dl, PtrVT, TGA); in LowerToTLSLocalExecModel()
1370 return DAG.getNode(ISD::ADD, dl, PtrVT, TP, Sym); in LowerToTLSLocalExecModel()
1379 SDLoc dl(GA); in LowerToTLSGeneralDynamicModel() local
1384 SDValue TGA = DAG.getTargetGlobalAddress(GA->getGlobal(), dl, PtrVT, Offset, in LowerToTLSGeneralDynamicModel()
1391 SDValue Sym = DAG.getNode(HexagonISD::CONST32, dl, PtrVT, TGA); in LowerToTLSGeneralDynamicModel()
1392 SDValue Chain = DAG.getNode(ISD::ADD, dl, PtrVT, GOT, Sym); in LowerToTLSGeneralDynamicModel()
1396 Chain = DAG.getCopyToReg(DAG.getEntryNode(), dl, Hexagon::R0, Chain, InFlag); in LowerToTLSGeneralDynamicModel()
1930 const SDLoc &dl, SelectionDAG &DAG) const { in validateConstPtrAlignment() argument
1959 if (DebugLoc DL = dl.getDebugLoc()) in validateConstPtrAlignment()
1970 const SDLoc &dl(Op); in replaceMemWithUndef() local
1975 SDValue Trap = DAG.getNode(ISD::TRAP, dl, MVT::Other, Chain); in replaceMemWithUndef()
1977 return DAG.getMergeValues({DAG.getUNDEF(ty(Op)), Trap}, dl); in replaceMemWithUndef()
2202 const SDLoc &dl(Op); in LowerVECTOR_SHUFFLE() local
2257 SDValue T1 = DAG.getNode(ISD::BSWAP, dl, MVT::i32, T0); in LowerVECTOR_SHUFFLE()
2262 SDValue Concat10 = DAG.getNode(HexagonISD::COMBINE, dl, in LowerVECTOR_SHUFFLE()
2265 return getInstr(Hexagon::S2_vtrunehb, dl, VecTy, {Concat10}, DAG); in LowerVECTOR_SHUFFLE()
2267 return getInstr(Hexagon::S2_vtrunohb, dl, VecTy, {Concat10}, DAG); in LowerVECTOR_SHUFFLE()
2269 SDValue Concat01 = DAG.getNode(HexagonISD::COMBINE, dl, in LowerVECTOR_SHUFFLE()
2272 return getInstr(Hexagon::S2_vtrunehb, dl, VecTy, {Concat01}, DAG); in LowerVECTOR_SHUFFLE()
2274 return getInstr(Hexagon::S2_vtrunohb, dl, VecTy, {Concat01}, DAG); in LowerVECTOR_SHUFFLE()
2284 SDValue T1 = DAG.getNode(ISD::BSWAP, dl, MVT::i64, T0); in LowerVECTOR_SHUFFLE()
2290 return getInstr(Hexagon::S2_shuffeh, dl, VecTy, {Op1, Op0}, DAG); in LowerVECTOR_SHUFFLE()
2292 return getInstr(Hexagon::S2_shuffoh, dl, VecTy, {Op1, Op0}, DAG); in LowerVECTOR_SHUFFLE()
2294 return getInstr(Hexagon::S2_vtrunewh, dl, VecTy, {Op1, Op0}, DAG); in LowerVECTOR_SHUFFLE()
2296 return getInstr(Hexagon::S2_vtrunowh, dl, VecTy, {Op1, Op0}, DAG); in LowerVECTOR_SHUFFLE()
2298 VectorPair P = opSplit(Op0, dl, DAG); in LowerVECTOR_SHUFFLE()
2299 return getInstr(Hexagon::S2_packhl, dl, VecTy, {P.second, P.first}, DAG); in LowerVECTOR_SHUFFLE()
2304 return getInstr(Hexagon::S2_shuffeb, dl, VecTy, {Op1, Op0}, DAG); in LowerVECTOR_SHUFFLE()
2306 return getInstr(Hexagon::S2_shuffob, dl, VecTy, {Op1, Op0}, DAG); in LowerVECTOR_SHUFFLE()
2333 const SDLoc &dl(Op); in getVectorShiftByInt() local
2338 return DAG.getNode(NewOpc, dl, ty(Op), Op0, S); in getVectorShiftByInt()
2341 return DAG.getNode(NewOpc, dl, ty(Op), Op0, Op1.getOperand(0)); in getVectorShiftByInt()
2364 const SDLoc &dl(Op); in LowerBITCAST() local
2370 SDValue Ext = DAG.getZExtOrTrunc(Sc, dl, MVT::i32); in LowerBITCAST()
2371 return getInstr(Hexagon::C2_tfrrp, dl, ResTy, Ext, DAG); in LowerBITCAST()
2410 HexagonTargetLowering::buildVector32(ArrayRef<SDValue> Elem, const SDLoc &dl, in buildVector32() argument
2428 return getZero(dl, VecTy, DAG); in buildVector32()
2437 return DAG.getBitcast(VecTy, DAG.getConstant(V, dl, MVT::i32)); in buildVector32()
2441 E0 = DAG.getZExtOrTrunc(DAG.getBitcast(MVT::i16, Elem[0]), dl, MVT::i32); in buildVector32()
2442 E1 = DAG.getZExtOrTrunc(DAG.getBitcast(MVT::i16, Elem[1]), dl, MVT::i32); in buildVector32()
2447 SDValue N = getInstr(Hexagon::A2_combine_ll, dl, MVT::i32, {E1, E0}, DAG); in buildVector32()
2458 return DAG.getBitcast(MVT::v4i8, DAG.getConstant(V, dl, MVT::i32)); in buildVector32()
2471 SDValue Ext = DAG.getZExtOrTrunc(Elem[First], dl, MVT::i32); in buildVector32()
2472 return DAG.getNode(ISD::SPLAT_VECTOR, dl, VecTy, Ext); in buildVector32()
2481 Vs[i] = DAG.getZExtOrTrunc(Elem[i], dl, MVT::i32); in buildVector32()
2482 Vs[i] = DAG.getZeroExtendInReg(Vs[i], dl, MVT::i8); in buildVector32()
2484 SDValue S8 = DAG.getConstant(8, dl, MVT::i32); in buildVector32()
2485 SDValue T0 = DAG.getNode(ISD::SHL, dl, MVT::i32, {Vs[1], S8}); in buildVector32()
2486 SDValue T1 = DAG.getNode(ISD::SHL, dl, MVT::i32, {Vs[3], S8}); in buildVector32()
2487 SDValue B0 = DAG.getNode(ISD::OR, dl, MVT::i32, {Vs[0], T0}); in buildVector32()
2488 SDValue B1 = DAG.getNode(ISD::OR, dl, MVT::i32, {Vs[2], T1}); in buildVector32()
2490 SDValue R = getInstr(Hexagon::A2_combine_ll, dl, MVT::i32, {B1, B0}, DAG); in buildVector32()
2501 HexagonTargetLowering::buildVector64(ArrayRef<SDValue> Elem, const SDLoc &dl, in buildVector64() argument
2519 return getZero(dl, VecTy, DAG); in buildVector64()
2534 SDValue Ext = DAG.getZExtOrTrunc(S, dl, MVT::i32); in buildVector64()
2535 return DAG.getNode(ISD::SPLAT_VECTOR, dl, VecTy, Ext); in buildVector64()
2546 SDValue V0 = DAG.getConstant(Val, dl, MVT::i64); in buildVector64()
2554 : buildVector32(Elem.take_front(Num/2), dl, HalfTy, DAG); in buildVector64()
2557 : buildVector32(Elem.drop_front(Num/2), dl, HalfTy, DAG); in buildVector64()
2558 return DAG.getNode(HexagonISD::COMBINE, dl, VecTy, {H, L}); in buildVector64()
2563 const SDLoc &dl, MVT ValTy, MVT ResTy, in extractVector() argument
2586 return DAG.getNode(HexagonISD::TYPECAST, dl, MVT::i1, VecV); in extractVector()
2591 SDValue A0 = getInstr(Hexagon::C2_tfrpr, dl, MVT::i32, {VecV}, DAG); in extractVector()
2592 SDValue M0 = DAG.getConstant(8 / VecWidth, dl, MVT::i32); in extractVector()
2593 SDValue I0 = DAG.getNode(ISD::MUL, dl, MVT::i32, IdxV, M0); in extractVector()
2594 return DAG.getNode(HexagonISD::TSTBIT, dl, MVT::i1, A0, I0); in extractVector()
2607 SDValue S0 = DAG.getNode(ISD::MUL, dl, MVT::i32, IdxV, in extractVector()
2608 DAG.getConstant(8*VecRep, dl, MVT::i32)); in extractVector()
2609 SDValue T0 = DAG.getNode(HexagonISD::P2D, dl, MVT::i64, VecV); in extractVector()
2610 SDValue T1 = DAG.getNode(ISD::SRL, dl, MVT::i64, T0, S0); in extractVector()
2614 T1 = DAG.getTargetExtractSubreg(Hexagon::isub_lo, dl, MVT::i32, T1); in extractVector()
2615 T1 = expandPredicate(T1, dl, DAG); in extractVector()
2619 return DAG.getNode(HexagonISD::D2P, dl, ResTy, T1); in extractVector()
2628 SDValue WidthV = DAG.getConstant(ValWidth, dl, MVT::i32); in extractVector()
2636 ExtV = DAG.getTargetExtractSubreg(SubIdx, dl, MVT::i32, VecV); in extractVector()
2638 ExtV = DAG.getZeroExtendInReg(VecV, dl, tyScalar(ValTy)); in extractVector()
2640 SDValue OffV = DAG.getConstant(Off, dl, MVT::i32); in extractVector()
2643 ExtV = DAG.getNode(HexagonISD::EXTRACTU, dl, ScalarTy, in extractVector()
2648 IdxV = DAG.getZExtOrTrunc(IdxV, dl, MVT::i32); in extractVector()
2649 SDValue OffV = DAG.getNode(ISD::MUL, dl, MVT::i32, IdxV, in extractVector()
2650 DAG.getConstant(ElemWidth, dl, MVT::i32)); in extractVector()
2651 ExtV = DAG.getNode(HexagonISD::EXTRACTU, dl, ScalarTy, in extractVector()
2656 ExtV = DAG.getZExtOrTrunc(ExtV, dl, tyScalar(ResTy)); in extractVector()
2663 const SDLoc &dl, MVT ValTy, in insertVector() argument
2669 SDValue ValR = DAG.getNode(HexagonISD::P2D, dl, MVT::i64, ValV); in insertVector()
2675 ValR = contractPredicate(ValR, dl, DAG); in insertVector()
2676 ValR = DAG.getNode(HexagonISD::COMBINE, dl, MVT::i64, in insertVector()
2681 ValR = DAG.getTargetExtractSubreg(Hexagon::isub_lo, dl, MVT::i32, ValR); in insertVector()
2684 SDValue Width = DAG.getConstant(ValBytes*8, dl, MVT::i32); in insertVector()
2685 SDValue Idx = DAG.getNode(ISD::MUL, dl, MVT::i32, IdxV, in insertVector()
2686 DAG.getConstant(8, dl, MVT::i32)); in insertVector()
2687 SDValue VecR = DAG.getNode(HexagonISD::P2D, dl, MVT::i64, VecV); in insertVector()
2688 SDValue Ins = DAG.getNode(HexagonISD::INSERT, dl, MVT::i32, in insertVector()
2690 return DAG.getNode(HexagonISD::D2P, dl, VecTy, Ins); in insertVector()
2706 ValV = DAG.getAnyExtOrTrunc(ValV, dl, ScalarTy); in insertVector()
2708 SDValue WidthV = DAG.getConstant(ValWidth, dl, MVT::i32); in insertVector()
2713 SDValue OffV = DAG.getConstant(W, dl, MVT::i32); in insertVector()
2714 InsV = DAG.getNode(HexagonISD::INSERT, dl, ScalarTy, in insertVector()
2718 IdxV = DAG.getZExtOrTrunc(IdxV, dl, MVT::i32); in insertVector()
2719 SDValue OffV = DAG.getNode(ISD::MUL, dl, MVT::i32, IdxV, WidthV); in insertVector()
2720 InsV = DAG.getNode(HexagonISD::INSERT, dl, ScalarTy, in insertVector()
2724 return DAG.getNode(ISD::BITCAST, dl, VecTy, InsV); in insertVector()
2728 HexagonTargetLowering::expandPredicate(SDValue Vec32, const SDLoc &dl, in expandPredicate() argument
2733 return getInstr(Hexagon::S2_vsxtbh, dl, MVT::i64, {Vec32}, DAG); in expandPredicate()
2737 HexagonTargetLowering::contractPredicate(SDValue Vec64, const SDLoc &dl, in contractPredicate() argument
2742 return getInstr(Hexagon::S2_vtrunehb, dl, MVT::i32, {Vec64}, DAG); in contractPredicate()
2746 HexagonTargetLowering::getZero(const SDLoc &dl, MVT Ty, SelectionDAG &DAG) in getZero() argument
2751 return DAG.getBitcast(Ty, DAG.getConstant(0, dl, MVT::getIntegerVT(W))); in getZero()
2752 return DAG.getNode(ISD::SPLAT_VECTOR, dl, Ty, getZero(dl, MVT::i32, DAG)); in getZero()
2756 return DAG.getConstant(0, dl, Ty); in getZero()
2758 return DAG.getConstantFP(0.0, dl, Ty); in getZero()
2773 const SDLoc &dl(Val); in appendUndef() local
2781 return DAG.getNode(ISD::CONCAT_VECTORS, dl, ResTy, Concats); in appendUndef()
2788 const SDLoc &dl(Op); in LowerBUILD_VECTOR() local
2794 return buildVector32(Ops, dl, VecTy, DAG); in LowerBUILD_VECTOR()
2796 return buildVector64(Ops, dl, VecTy, DAG); in LowerBUILD_VECTOR()
2812 return DAG.getNode(HexagonISD::PFALSE, dl, VecTy); in LowerBUILD_VECTOR()
2814 return DAG.getNode(HexagonISD::PTRUE, dl, VecTy); in LowerBUILD_VECTOR()
2820 SDValue Z = getZero(dl, MVT::i32, DAG); in LowerBUILD_VECTOR()
2824 SDValue S = DAG.getConstant(1ull << i, dl, MVT::i32); in LowerBUILD_VECTOR()
2825 Rs[i] = DAG.getSelect(dl, MVT::i32, Ops[i/Rep], S, Z); in LowerBUILD_VECTOR()
2829 Rs[i] = DAG.getNode(ISD::OR, dl, MVT::i32, Rs[2*i], Rs[2*i+1]); in LowerBUILD_VECTOR()
2832 return getInstr(Hexagon::C2_tfrrp, dl, VecTy, {Rs[0]}, DAG); in LowerBUILD_VECTOR()
2842 const SDLoc &dl(Op); in LowerCONCAT_VECTORS() local
2845 return DAG.getNode(HexagonISD::COMBINE, dl, VecTy, Op.getOperand(1), in LowerCONCAT_VECTORS()
2866 SDValue W = DAG.getNode(HexagonISD::P2D, dl, MVT::i64, P); in LowerCONCAT_VECTORS()
2868 W = contractPredicate(W, dl, DAG); in LowerCONCAT_VECTORS()
2869 W = DAG.getNode(HexagonISD::COMBINE, dl, MVT::i64, in LowerCONCAT_VECTORS()
2872 W = DAG.getTargetExtractSubreg(Hexagon::isub_lo, dl, MVT::i32, W); in LowerCONCAT_VECTORS()
2877 SDValue WidthV = DAG.getConstant(64 / Scale, dl, MVT::i32); in LowerCONCAT_VECTORS()
2883 SDValue T = DAG.getNode(HexagonISD::INSERT, dl, MVT::i32, in LowerCONCAT_VECTORS()
2894 SDValue WW = DAG.getNode(HexagonISD::COMBINE, dl, MVT::i64, in LowerCONCAT_VECTORS()
2896 return DAG.getNode(HexagonISD::D2P, dl, VecTy, WW); in LowerCONCAT_VECTORS()
2948 const SDLoc &dl(Op); in LowerLoad() local
2955 LN->getAddressingMode(), LN->getExtensionType(), MVT::i1, dl, in LowerLoad()
2963 if (!validateConstPtrAlignment(LN->getBasePtr(), ClaimAlign, dl, DAG)) in LowerLoad()
2970 SDValue TC = DAG.getNode(HexagonISD::TYPECAST, dl, Ty, LU); in LowerLoad()
2972 return DAG.getMergeValues({TC, Ch}, dl); in LowerLoad()
2979 const SDLoc &dl(Op); in LowerStore() local
2986 SDValue TC = DAG.getNode(HexagonISD::TYPECAST, dl, MVT::i1, Val); in LowerStore()
2987 SDValue NS = DAG.getStore(SN->getChain(), dl, TC, SN->getBasePtr(), in LowerStore()
2990 NS = DAG.getIndexedStore(NS, dl, SN->getBasePtr(), SN->getOffset(), in LowerStore()
2997 if (!validateConstPtrAlignment(SN->getBasePtr(), ClaimAlign, dl, DAG)) in LowerStore()
3017 const SDLoc &dl(Op); in LowerUnalignedLoad() local
3043 return DAG.getMergeValues({P.first, P.second}, dl); in LowerUnalignedLoad()
3062 BO.first = DAG.getNode(ISD::ADD, dl, MVT::i32, BO.first, in LowerUnalignedLoad()
3063 DAG.getConstant(BO.second % LoadLen, dl, MVT::i32)); in LowerUnalignedLoad()
3067 ? DAG.getNode(HexagonISD::VALIGNADDR, dl, MVT::i32, BO.first, in LowerUnalignedLoad()
3068 DAG.getConstant(NeedAlign, dl, MVT::i32)) in LowerUnalignedLoad()
3071 DAG.getMemBasePlusOffset(BaseNoOff, TypeSize::Fixed(BO.second), dl); in LowerUnalignedLoad()
3073 BaseNoOff, TypeSize::Fixed(BO.second + LoadLen), dl); in LowerUnalignedLoad()
3084 SDValue Load0 = DAG.getLoad(LoadTy, dl, Chain, Base0, WideMMO); in LowerUnalignedLoad()
3085 SDValue Load1 = DAG.getLoad(LoadTy, dl, Chain, Base1, WideMMO); in LowerUnalignedLoad()
3087 SDValue Aligned = DAG.getNode(HexagonISD::VALIGN, dl, LoadTy, in LowerUnalignedLoad()
3089 SDValue NewChain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in LowerUnalignedLoad()
3091 SDValue M = DAG.getMergeValues({Aligned, NewChain}, dl); in LowerUnalignedLoad()
3102 const SDLoc &dl(Op); in LowerUAddSubO() local
3116 SDValue Op = DAG.getNode(ISD::ADD, dl, VTs.VTs[0], {X, Y}); in LowerUAddSubO()
3117 SDValue Ov = DAG.getSetCC(dl, MVT::i1, Op, getZero(dl, ty(Op), DAG), in LowerUAddSubO()
3119 return DAG.getMergeValues({Op, Ov}, dl); in LowerUAddSubO()
3122 SDValue Op = DAG.getNode(ISD::SUB, dl, VTs.VTs[0], {X, Y}); in LowerUAddSubO()
3123 SDValue Ov = DAG.getSetCC(dl, MVT::i1, Op, in LowerUAddSubO()
3124 DAG.getConstant(-1, dl, ty(Op)), ISD::SETEQ); in LowerUAddSubO()
3125 return DAG.getMergeValues({Op, Ov}, dl); in LowerUAddSubO()
3134 const SDLoc &dl(Op); in LowerAddSubCarry() local
3139 return DAG.getNode(HexagonISD::ADDC, dl, Op.getNode()->getVTList(), in LowerAddSubCarry()
3143 SDValue SubC = DAG.getNode(HexagonISD::SUBC, dl, Op.getNode()->getVTList(), in LowerAddSubCarry()
3144 { X, Y, DAG.getLogicalNOT(dl, C, CarryTy) }); in LowerAddSubCarry()
3146 DAG.getLogicalNOT(dl, SubC.getValue(1), CarryTy) }; in LowerAddSubCarry()
3147 return DAG.getMergeValues(Out, dl); in LowerAddSubCarry()
3155 SDLoc dl(Op); in LowerEH_RETURN() local
3166 DAG.getNode(ISD::ADD, dl, PtrVT, DAG.getRegister(Hexagon::R30, PtrVT), in LowerEH_RETURN()
3167 DAG.getIntPtrConstant(4, dl)); in LowerEH_RETURN()
3168 Chain = DAG.getStore(Chain, dl, Handler, StoreAddr, MachinePointerInfo()); in LowerEH_RETURN()
3169 Chain = DAG.getCopyToReg(Chain, dl, OffsetReg, Offset); in LowerEH_RETURN()
3174 return DAG.getNode(HexagonISD::EH_RETURN, dl, MVT::Other, Chain); in LowerEH_RETURN()
3271 const SDLoc &dl(N); in ReplaceNodeResults() local
3281 SDValue P = getInstr(Hexagon::C2_tfrpr, dl, MVT::i32, in ReplaceNodeResults()
3283 SDValue T = DAG.getAnyExtOrTrunc(P, dl, MVT::i8); in ReplaceNodeResults()
3304 const SDLoc &dl(Op); in PerformDAGCombine() local
3311 return DCI.DAG.getConstant(-1, dl, ty(Op)); in PerformDAGCombine()
3313 return getZero(dl, ty(Op), DCI.DAG); in PerformDAGCombine()
3325 SDValue VSel = DCI.DAG.getNode(ISD::VSELECT, dl, ty(Op), C0, in PerformDAGCombine()