Lines Matching full:chain
338 SDValue Chain = Op.getOperand(0);
350 return DAG.getNode(XCoreISD::BR_JT, dl, MVT::Other, Chain, TargetJT, Index);
355 return DAG.getNode(XCoreISD::BR_JT32, dl, MVT::Other, Chain, TargetJT,
360 const SDLoc &DL, SDValue Chain, SDValue Base, int64_t Offset,
364 return DAG.getLoad(PtrVT, DL, Chain, Base, MachinePointerInfo());
385 SDValue Low = DAG.getLoad(PtrVT, DL, Chain, LowAddr, MachinePointerInfo());
386 SDValue High = DAG.getLoad(PtrVT, DL, Chain, HighAddr, MachinePointerInfo());
390 Chain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Low.getValue(1),
392 SDValue Ops[] = { Result, Chain };
414 SDValue Chain = LD->getChain();
425 return lowerLoadWordFromAlignedBasePlusOffset(DL, Chain, NewBasePtr,
432 return lowerLoadWordFromAlignedBasePlusOffset(DL, Chain, NewBasePtr,
438 SDValue Low = DAG.getExtLoad(ISD::ZEXTLOAD, DL, MVT::i32, Chain, BasePtr,
444 DAG.getExtLoad(ISD::EXTLOAD, DL, MVT::i32, Chain, HighAddr,
450 Chain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Low.getValue(1),
452 SDValue Ops[] = { Result, Chain };
466 CLI.setDebugLoc(DL).setChain(Chain).setLibCallee(
487 SDValue Chain = ST->getChain();
497 DAG.getTruncStore(Chain, dl, Low, BasePtr, ST->getPointerInfo(),
502 Chain, dl, High, HighAddr, ST->getPointerInfo().getWithOffset(2),
520 CLI.setDebugLoc(dl).setChain(Chain).setCallee(
814 SDValue Chain = Op.getOperand(0);
834 DAG.getCopyToReg(Chain, dl, StackReg, Stack),
835 DAG.getCopyToReg(Chain, dl, HandlerReg, Handler)
838 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, OutChains);
840 return DAG.getNode(XCoreISD::EH_RETURN, dl, MVT::Other, Chain,
853 SDValue Chain = Op.getOperand(0);
877 DAG.getStore(Chain, dl, DAG.getConstant(0x0a3cd805, dl, MVT::i32), Addr,
883 DAG.getStore(Chain, dl, DAG.getConstant(0xd80456c0, dl, MVT::i32), Addr,
889 DAG.getStore(Chain, dl, DAG.getConstant(0x27fb0a3c, dl, MVT::i32), Addr,
895 DAG.getStore(Chain, dl, Nest, Addr, MachinePointerInfo(TrmpAddr, 12));
900 DAG.getStore(Chain, dl, FPtr, Addr, MachinePointerInfo(TrmpAddr, 16));
947 SDValue Chain = CLI.Chain;
963 return LowerCCCCallTo(Chain, Callee, CallConv, isVarArg, isTailCall,
970 static SDValue LowerCallResult(SDValue Chain, SDValue InGlue,
978 Chain = DAG.getCopyFromReg(Chain, dl, VA.getLocReg(), VA.getValVT(),
980 InGlue = Chain.getValue(2);
981 InVals.push_back(Chain.getValue(0));
997 SDValue Ops[] = { Chain, DAG.getConstant(offset / 4, dl, MVT::i32) };
1006 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOpChains);
1008 return Chain;
1016 SDValue Chain, SDValue Callee, CallingConv::ID CallConv, bool isVarArg,
1043 Chain = DAG.getCALLSEQ_START(Chain, NumBytes, 0, dl);
1078 Chain, Arg,
1087 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOpChains);
1090 // chain and flag operands which copy the outgoing args into registers.
1095 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first,
1097 InGlue = Chain.getValue(1);
1108 // XCoreBranchLink = #chain, #target_address, #opt_in_flags...
1109 // = Chain, Callee, Reg#1, Reg#2, ...
1111 // Returns a chain & a flag for retval copy to use.
1114 Ops.push_back(Chain);
1126 Chain = DAG.getNode(XCoreISD::BL, dl, NodeTys, Ops);
1127 InGlue = Chain.getValue(1);
1130 Chain = DAG.getCALLSEQ_END(Chain, NumBytes, 0, InGlue, dl);
1131 InGlue = Chain.getValue(1);
1135 return LowerCallResult(Chain, InGlue, RVLocs, dl, DAG, InVals);
1148 SDValue Chain, CallingConv::ID CallConv, bool isVarArg,
1157 return LowerCCCArguments(Chain, CallConv, isVarArg,
1167 SDValue Chain, CallingConv::ID CallConv, bool isVarArg,
1193 // 2. Chain CopyFromReg nodes into a TokenFactor.
1195 // 4. Chain mem ops nodes into a TokenFactor.
1221 ArgIn = DAG.getCopyFromReg(Chain, dl, VReg, RegVT);
1241 ArgIn = DAG.getLoad(VA.getLocVT(), dl, Chain, FIN,
1271 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i32);
1285 // 2. chain CopyFromReg nodes into a TokenFactor.
1287 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, CFRegNode);
1303 Chain, dl, FIN, ArgDI.SDV, DAG.getConstant(Size, dl, MVT::i32),
1311 // 4, chain mem ops nodes into a TokenFactor.
1313 MemOps.push_back(Chain);
1314 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOps);
1317 return Chain;
1339 XCoreTargetLowering::LowerReturn(SDValue Chain, CallingConv::ID CallConv,
1364 SmallVector<SDValue, 4> RetOps(1, Chain);
1389 Chain, dl, OutVals[i], FIN,
1396 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOpChains);
1404 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), OutVals[i], Glue);
1408 Glue = Chain.getValue(1);
1412 RetOps[0] = Chain; // Update chain.
1692 SDValue Chain = ST->getChain();
1703 Chain.reachesChainWithoutSideEffects(SDValue(LD, 1))) {
1704 bool isTail = isInTailCallPosition(DAG, ST, Chain);
1705 return DAG.getMemmove(Chain, dl, ST->getBasePtr(), LD->getBasePtr(),