Lines Matching defs:VA
454 for (const CCValAssign &VA : ArgLocs) {
455 if (VA.isRegLoc()) {
457 EVT RegVT = VA.getLocVT();
461 RegInfo.addLiveIn(VA.getLocReg(), VReg);
467 if (VA.getLocInfo() == CCValAssign::SExt)
469 DAG.getValueType(VA.getValVT()));
470 else if (VA.getLocInfo() == CCValAssign::ZExt)
472 DAG.getValueType(VA.getValVT()));
474 if (VA.getLocInfo() != CCValAssign::Full)
475 ArgValue = DAG.getNode(ISD::TRUNCATE, DL, VA.getValVT(), ArgValue);
487 assert(VA.isMemLoc());
489 unsigned ObjSize = VA.getLocVT().getSizeInBits() / 8;
493 << VA.getLocVT() << "\n";
496 int FI = MFI.CreateFixedObject(ObjSize, VA.getLocMemOffset(), true);
502 VA.getLocVT(), DL, Chain, FIN,
560 CCValAssign &VA = RVLocs[i];
561 assert(VA.isRegLoc() && "Can only return in registers!");
563 Chain = DAG.getCopyToReg(Chain, DL, VA.getLocReg(), OutVals[i], Glue);
567 RetOps.push_back(DAG.getRegister(VA.getLocReg(), VA.getLocVT()));
664 CCValAssign &VA = ArgLocs[I];
669 switch (VA.getLocInfo()) {
673 Arg = DAG.getNode(ISD::SIGN_EXTEND, DL, VA.getLocVT(), Arg);
676 Arg = DAG.getNode(ISD::ZERO_EXTEND, DL, VA.getLocVT(), Arg);
679 Arg = DAG.getNode(ISD::ANY_EXTEND, DL, VA.getLocVT(), Arg);
691 if (VA.isRegLoc()) {
692 RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg));
694 assert(VA.isMemLoc());
702 DAG.getIntPtrConstant(VA.getLocMemOffset(), DL));