Home | History | Annotate | Download | only in Hexagon

Lines Matching defs:Chain

286 CreateCopyOfByValArgument(SDValue Src, SDValue Dst, SDValue Chain,
291 return DAG.getMemcpy(Chain, dl, Dst, Src, SizeNode, Flags.getByValAlign(),
301 HexagonTargetLowering::LowerReturn(SDValue Chain,
318 SmallVector<SDValue, 4> RetOps(1, Chain);
324 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), OutVals[i], Flag);
327 Flag = Chain.getValue(1);
331 RetOps[0] = Chain; // Update chain.
346 /// Chain/InFlag are the input chain/flag to use, and that TheCall is the call
350 HexagonTargetLowering::LowerCallResult(SDValue Chain, SDValue InFlag,
369 Chain = DAG.getCopyFromReg(Chain, dl,
372 InFlag = Chain.getValue(2);
373 InVals.push_back(Chain.getValue(0));
376 return Chain;
389 SDValue Chain = CLI.Chain;
453 DAG.getCopyFromReg(Chain, dl, TM.getRegisterInfo()->getStackRegister(),
488 MemOpChains.push_back(CreateCopyOfByValArgument(Arg, PtrOff, Chain,
493 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff,
510 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, &MemOpChains[0],
515 Chain = DAG.getCALLSEQ_START(Chain, DAG.getConstant(NumBytes,
519 // chain and flag operands which copy the outgoing args into registers.
525 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first,
527 InFlag = Chain.getValue(1);
543 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first,
545 InFlag = Chain.getValue(1);
566 // Returns a chain & a flag for retval copy to use.
569 Ops.push_back(Chain);
586 Chain = DAG.getNode(HexagonISD::CALL, dl, NodeTys, &Ops[0], Ops.size());
587 InFlag = Chain.getValue(1);
590 Chain = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(NumBytes, true),
592 InFlag = Chain.getValue(1);
596 return LowerCallResult(Chain, InFlag, CallConv, isVarArg, Ins, dl, DAG,
730 SDValue Chain = Op.getOperand(0);
757 SDValue LoadTarget = DAG.getLoad(MVT::i32, dl, Chain, JTAddress,
760 return DAG.getNode(HexagonISD::BR_JT, dl, MVT::Other, Chain, LoadTarget);
767 SDValue Chain = Op.getOperand(0);
774 SDValue StackPointer = DAG.getCopyFromReg(Chain, dl, SPReg, MVT::i32);
801 SDValue CopyChain = DAG.getCopyToReg(Chain, dl,
810 HexagonTargetLowering::LowerFormalArguments(SDValue Chain,
860 InVals.push_back(DAG.getCopyFromReg(Chain, dl, VReg, RegVT));
865 InVals.push_back(DAG.getCopyFromReg(Chain, dl, VReg, RegVT));
897 InVals.push_back(DAG.getLoad(VA.getLocVT(), dl, Chain, FIN,
905 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, &MemOps[0],
917 return Chain;