if (MipsCCInfo.hasByValArg() || FI.hasByvalArg())
return false;
- // Return true if the callee's next stack offset is no larger than the
+ // Return true if the callee's argument area is no larger than the
// caller's.
- return NextStackOffset <= FI.nextStackOffset();
+ return NextStackOffset <= FI.getIncomingArgSize();
}
SDValue
MipsCCInfo.analyzeFormalArguments(Ins);
MipsFI->setFormalArgInfo(CCInfo.getNextStackOffset(),
MipsCCInfo.hasByValArg());
- MipsFI->setIncomingArgSize(CCInfo.getNextStackOffset());
Function::const_arg_iterator FuncArg =
DAG.getMachineFunction().getFunction()->arg_begin();
/// VarArgsFrameIndex - FrameIndex for start of varargs area.
int VarArgsFrameIndex;
- // Formal argument information obtained during call to LowerFormalArguments.
- unsigned NextStackOffset;
+ /// True if function has a byval argument.
bool HasByvalArg;
- // Size of incoming argument area.
+ /// Size of incoming argument area.
unsigned IncomingArgSize;
public:
int getVarArgsFrameIndex() const { return VarArgsFrameIndex; }
void setVarArgsFrameIndex(int Index) { VarArgsFrameIndex = Index; }
- unsigned nextStackOffset() const { return NextStackOffset; }
bool hasByvalArg() const { return HasByvalArg; }
- void setFormalArgInfo(unsigned Offset, bool HasByval) {
- NextStackOffset = Offset;
+ void setFormalArgInfo(unsigned Size, bool HasByval) {
+ IncomingArgSize = Size;
HasByvalArg = HasByval;
}
unsigned getIncomingArgSize() const { return IncomingArgSize; }
- void setIncomingArgSize(unsigned S) { IncomingArgSize = S; }
};
} // end of namespace llvm