Home | History | Annotate | Download | only in ARM

Lines Matching refs:VA

1118     CCValAssign VA = RVLocs[i];
1121 if (VA.needsCustom()) {
1123 SDValue Lo = DAG.getCopyFromReg(Chain, dl, VA.getLocReg(), MVT::i32,
1127 VA = RVLocs[++i]; // skip ahead to next loc
1128 SDValue Hi = DAG.getCopyFromReg(Chain, dl, VA.getLocReg(), MVT::i32,
1134 if (VA.getLocVT() == MVT::v2f64) {
1139 VA = RVLocs[++i]; // skip ahead to next loc
1140 Lo = DAG.getCopyFromReg(Chain, dl, VA.getLocReg(), MVT::i32, InFlag);
1143 VA = RVLocs[++i]; // skip ahead to next loc
1144 Hi = DAG.getCopyFromReg(Chain, dl, VA.getLocReg(), MVT::i32, InFlag);
1152 Val = DAG.getCopyFromReg(Chain, dl, VA.getLocReg(), VA.getLocVT(),
1158 switch (VA.getLocInfo()) {
1162 Val = DAG.getNode(ISD::BITCAST, dl, VA.getValVT(), Val);
1177 const CCValAssign &VA,
1179 unsigned LocMemOffset = VA.getLocMemOffset();
1190 CCValAssign &VA, CCValAssign &NextVA,
1197 RegsToPass.push_back(std::make_pair(VA.getLocReg(), fmrrd));
1273 CCValAssign &VA = ArgLocs[i];
1279 switch (VA.getLocInfo()) {
1283 Arg = DAG.getNode(ISD::SIGN_EXTEND, dl, VA.getLocVT(), Arg);
1286 Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, VA.getLocVT(), Arg);
1289 Arg = DAG.getNode(ISD::ANY_EXTEND, dl, VA.getLocVT(), Arg);
1292 Arg = DAG.getNode(ISD::BITCAST, dl, VA.getLocVT(), Arg);
1297 if (VA.needsCustom()) {
1298 if (VA.getLocVT() == MVT::v2f64) {
1305 VA, ArgLocs[++i], StackPtr, MemOpChains, Flags);
1307 VA = ArgLocs[++i]; // skip ahead to next loc
1308 if (VA.isRegLoc()) {
1310 VA, ArgLocs[++i], StackPtr, MemOpChains, Flags);
1312 assert(VA.isMemLoc());
1315 dl, DAG, VA, Flags));
1318 PassF64ArgInRegs(dl, DAG, Chain, Arg, RegsToPass, VA, ArgLocs[++i],
1321 } else if (VA.isRegLoc()) {
1322 RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg));
1324 assert(VA.isMemLoc());
1345 unsigned LocMemOffset = VA.getLocMemOffset();
1363 assert(VA.isMemLoc());
1366 dl, DAG, VA, Flags));
1731 CCValAssign &VA = ArgLocs[i];
1732 EVT RegVT = VA.getLocVT();
1735 if (VA.getLocInfo() == CCValAssign::Indirect)
1737 if (VA.needsCustom()) {
1742 if (!VA.isRegLoc())
1752 } else if (!VA.isRegLoc()) {
1753 if (!MatchingStackOffset(Arg, VA.getLocMemOffset(), Flags,
1796 CCValAssign &VA = RVLocs[i];
1797 assert(VA.isRegLoc() && "Can only return in registers!");
1801 switch (VA.getLocInfo()) {
1805 Arg = DAG.getNode(ISD::BITCAST, dl, VA.getLocVT(), Arg);
1809 if (VA.needsCustom()) {
1810 if (VA.getLocVT() == MVT::v2f64) {
1817 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), HalfGPRs, Flag);
1819 VA = RVLocs[++i]; // skip ahead to next loc
1820 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(),
1823 VA = RVLocs[++i]; // skip ahead to next loc
1833 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), fmrrd, Flag);
1835 VA = RVLocs[++i]; // skip ahead to next loc
1836 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), fmrrd.getValue(1),
1839 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), Arg, Flag);
2366 ARMTargetLowering::GetF64FormalArgument(CCValAssign &VA, CCValAssign &NextVA,
2379 unsigned Reg = MF.addLiveIn(VA.getLocReg(), RC);
2508 CCValAssign &VA = ArgLocs[i];
2511 if (VA.isRegLoc()) {
2512 EVT RegVT = VA.getLocVT();
2514 if (VA.needsCustom()) {
2517 if (VA.getLocVT() == MVT::v2f64) {
2518 SDValue ArgValue1 = GetF64FormalArgument(VA, ArgLocs[++i],
2520 VA = ArgLocs[++i]; // skip ahead to next loc
2522 if (VA.isMemLoc()) {
2523 int FI = MFI->CreateFixedObject(8, VA.getLocMemOffset(), true);
2529 ArgValue2 = GetF64FormalArgument(VA, ArgLocs[++i],
2538 ArgValue = GetF64FormalArgument(VA, ArgLocs[++i], Chain, DAG, dl);
2556 unsigned Reg = MF.addLiveIn(VA.getLocReg(), RC);
2563 switch (VA.getLocInfo()) {
2567 ArgValue = DAG.getNode(ISD::BITCAST, dl, VA.getValVT(), ArgValue);
2571 DAG.getValueType(VA.getValVT()));
2572 ArgValue = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), ArgValue);
2576 DAG.getValueType(VA.getValVT()));
2577 ArgValue = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), ArgValue);
2583 } else { // VA.isRegLoc()
2586 assert(VA.isMemLoc());
2587 assert(VA.getValVT() != MVT::i64 && "i64 should already be lowered");
2608 VA.getLocMemOffset(), false);
2611 int FI = MFI->CreateFixedObject(VA.getLocVT().getSizeInBits()/8,
2612 VA.getLocMemOffset(), true);
2616 InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN,