Lines Matching refs:ByVal
2171 // Do not process byval args here.
2370 // byval arguments to the stack.
2394 // ByVal Arg.
2397 "ByVal args of size 0 should have been ignored by front-end.");
2400 "Do not tail-call optimize if there is a byval argument.");
2606 "ByVal args of size 0 should have been ignored by front-end.");
3257 assert(ArgFlags.getByValSize() && "Byval argument's size shouldn't be 0.");
3259 struct ByValArgInfo ByVal;
3266 allocateRegs(ByVal, ByValSize, Align);
3269 ByVal.Address = CCInfo.AllocateStack(ByValSize - RegSize * ByVal.NumRegs,
3271 CCInfo.addLoc(CCValAssign::getMem(ValNo, ValVT, ByVal.Address, LocVT,
3273 ByValArgs.push_back(ByVal);
3305 void MipsTargetLowering::MipsCC::allocateRegs(ByValArgInfo &ByVal,
3311 "Byval argument's size and alignment should be a multiple of"
3314 ByVal.FirstIdx = CCInfo.getFirstUnallocated(IntArgRegs, NumIntArgRegs);
3317 if ((Align > RegSize) && (ByVal.FirstIdx % 2)) {
3318 CCInfo.AllocateReg(IntArgRegs[ByVal.FirstIdx], ShadowRegs[ByVal.FirstIdx]);
3319 ++ByVal.FirstIdx;
3323 for (unsigned I = ByVal.FirstIdx; ByValSize && (I < NumIntArgRegs);
3324 ByValSize -= RegSize, ++I, ++ByVal.NumRegs)
3347 const MipsCC &CC, const ByValArgInfo &ByVal) const {
3350 unsigned RegAreaSize = ByVal.NumRegs * CC.regSize();
3356 (int)((CC.numIntArgRegs() - ByVal.FirstIdx) * CC.regSize());
3358 ByVal.Address;
3366 if (!ByVal.NumRegs)
3373 for (unsigned I = 0; I < ByVal.NumRegs; ++I) {
3374 unsigned ArgReg = CC.intArgRegs()[ByVal.FirstIdx + I];
3386 // Copy byVal arg to registers and stack.
3392 const MipsCC &CC, const ByValArgInfo &ByVal,
3400 if (ByVal.NumRegs) {
3402 bool LeftoverBytes = (ByVal.NumRegs * RegSize > ByValSize);
3406 for (; I < ByVal.NumRegs - LeftoverBytes; ++I, Offset += RegSize) {
3413 unsigned ArgReg = ArgRegs[ByVal.FirstIdx + I];
3421 // Copy the remainder of the byval argument with sub-word loads and shifts.
3464 unsigned ArgReg = ArgRegs[ByVal.FirstIdx + I];
3470 // Copy remainder of byval arg to it with memcpy.
3475 DAG.getIntPtrConstant(ByVal.Address));