Lines Matching full:chain

35 static SDValue lowerCallResult(SDValue Chain, SDValue InGlue,
238 SDValue Chain = Op.getOperand(0);
246 return DAG.getNode(ARCISD::BRcc, dl, MVT::Other, Chain, Dest, LHS, RHS,
270 SDValue Chain = CLI.Chain;
294 Chain = DAG.getCALLSEQ_START(Chain, NumBytes, 0, dl);
329 StackPtr = DAG.getCopyFromReg(Chain, dl, ARC::SP,
337 DAG.getStore(Chain, dl, Arg, PtrOff, MachinePointerInfo());
346 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOpChains);
349 // chain and flag operands which copy the outgoing args into registers.
354 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first,
356 Glue = Chain.getValue(1);
369 // Branch + Link = #chain, #target_address, #opt_in_flags...
370 // = Chain, Callee, Reg#1, Reg#2, ...
372 // Returns a chain & a glue for retval copy to use.
375 Ops.push_back(Chain);
392 Chain = DAG.getNode(IsDirect ? ARCISD::BL : ARCISD::JL, dl, NodeTys, Ops);
393 Glue = Chain.getValue(1);
396 Chain = DAG.getCALLSEQ_END(Chain, NumBytes, 0, Glue, dl);
397 Glue = Chain.getValue(1);
402 return Chain;
403 return lowerCallResult(Chain, Glue, RVLocs, dl, DAG, InVals);
408 static SDValue lowerCallResult(SDValue Chain, SDValue Glue,
419 DAG.getCopyFromReg(Chain, dl, VA.getLocReg(), VA.getValVT(), Glue);
420 Chain = RetValue.getValue(1);
442 DAG.getLoad(MVT::i32, dl, Chain, SpLoc, MachinePointerInfo());
450 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOpChains);
452 return Chain;
470 SDValue Chain, CallingConv::ID CallConv, bool IsVarArg,
478 return LowerCallArguments(Chain, CallConv, IsVarArg, Ins, dl, DAG, InVals);
485 SDValue Chain, CallingConv::ID CallConv, bool IsVarArg,
509 // 2. Chain CopyFromReg nodes into a TokenFactor.
511 // 4. Chain mem ops nodes into a TokenFactor.
533 ArgIn = DAG.getCopyFromReg(Chain, dl, VReg, RegVT);
549 ArgIn = DAG.getLoad(VA.getLocVT(), dl, Chain, FIN,
577 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i32);
592 // 2. Chain CopyFromReg nodes into a TokenFactor.
594 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, CFRegNode);
610 Chain, dl, FIN, ArgDI.SDV, DAG.getConstant(Size, dl, MVT::i32),
618 // 4. Chain mem ops nodes into a TokenFactor.
620 MemOps.push_back(Chain);
621 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOps);
624 return Chain;
645 ARCTargetLowering::LowerReturn(SDValue Chain, CallingConv::ID CallConv,
668 SmallVector<SDValue, 4> RetOps(1, Chain);
689 Chain, dl, OutVals[i], FIN,
696 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOpChains);
704 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), OutVals[i], Glue);
708 Glue = Chain.getValue(1);
712 RetOps[0] = Chain; // Update chain.