Lines Matching refs:VA
451 CCValAssign &VA = ArgLocs[i];
452 if (VA.isRegLoc()) {
454 EVT RegVT = VA.getLocVT();
466 RegInfo.addLiveIn(VA.getLocReg(), VReg);
472 if (VA.getLocInfo() == CCValAssign::SExt)
474 DAG.getValueType(VA.getValVT()));
475 else if (VA.getLocInfo() == CCValAssign::ZExt)
477 DAG.getValueType(VA.getValVT()));
479 if (VA.getLocInfo() != CCValAssign::Full)
480 ArgValue = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), ArgValue);
486 assert(VA.isMemLoc());
493 VA.getLocMemOffset(), true);
497 unsigned ObjSize = VA.getLocVT().getSizeInBits()/8;
500 << EVT(VA.getLocVT()).getEVTString()
504 int FI = MFI->CreateFixedObject(ObjSize, VA.getLocMemOffset(), true);
509 InVal = DAG.getLoad(VA.getLocVT(), dl, Chain, FIN,
547 CCValAssign &VA = RVLocs[i];
548 assert(VA.isRegLoc() && "Can only return in registers!");
550 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(),
556 RetOps.push_back(DAG.getRegister(VA.getLocReg(), VA.getLocVT()));
603 CCValAssign &VA = ArgLocs[i];
608 switch (VA.getLocInfo()) {
612 Arg = DAG.getNode(ISD::SIGN_EXTEND, dl, VA.getLocVT(), Arg);
615 Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, VA.getLocVT(), Arg);
618 Arg = DAG.getNode(ISD::ANY_EXTEND, dl, VA.getLocVT(), Arg);
624 if (VA.isRegLoc()) {
625 RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg));
627 assert(VA.isMemLoc());
634 DAG.getIntPtrConstant(VA.getLocMemOffset()));