Lines Matching defs:VA
640 CCValAssign &VA = ArgLocs[i];
641 if (VA.isRegLoc()) {
643 EVT RegVT = VA.getLocVT();
655 RegInfo.addLiveIn(VA.getLocReg(), VReg);
661 if (VA.getLocInfo() == CCValAssign::SExt)
663 DAG.getValueType(VA.getValVT()));
664 else if (VA.getLocInfo() == CCValAssign::ZExt)
666 DAG.getValueType(VA.getValVT()));
668 if (VA.getLocInfo() != CCValAssign::Full)
669 ArgValue = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), ArgValue);
675 assert(VA.isMemLoc());
681 MVT PtrVT = VA.getLocVT();
683 VA.getLocMemOffset(), true);
687 unsigned ObjSize = VA.getLocVT().getSizeInBits()/8;
690 << VA.getLocVT() << "\n";
693 int FI = MFI.CreateFixedObject(ObjSize, VA.getLocMemOffset(), true);
699 VA.getLocVT(), dl, Chain, FIN,
762 CCValAssign &VA = RVLocs[i];
763 assert(VA.isRegLoc() && "Can only return in registers!");
765 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(),
771 RetOps.push_back(DAG.getRegister(VA.getLocReg(), VA.getLocVT()));
829 CCValAssign &VA = ArgLocs[i];
834 switch (VA.getLocInfo()) {
838 Arg = DAG.getNode(ISD::SIGN_EXTEND, dl, VA.getLocVT(), Arg);
841 Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, VA.getLocVT(), Arg);
844 Arg = DAG.getNode(ISD::ANY_EXTEND, dl, VA.getLocVT(), Arg);
850 if (VA.isRegLoc()) {
851 RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg));
853 assert(VA.isMemLoc());
860 DAG.getIntPtrConstant(VA.getLocMemOffset(), dl));