Define functions that get or set the size of area on callee's stack frame which

is used to save va_arg or byval arguments passed in registers.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143992 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Akira Hatanaka 2011-11-07 19:06:10 +00:00
parent c4d6fd569d
commit 213b2a2188

View File

@ -51,12 +51,16 @@ private:
mutable int DynAllocFI; // Frame index of dynamically allocated stack area. mutable int DynAllocFI; // Frame index of dynamically allocated stack area.
unsigned MaxCallFrameSize; unsigned MaxCallFrameSize;
// Size of area on callee's stack frame which is used to save va_arg or
// byval arguments passed in registers.
unsigned RegSaveAreaSize;
public: public:
MipsFunctionInfo(MachineFunction& MF) MipsFunctionInfo(MachineFunction& MF)
: MF(MF), SRetReturnReg(0), GlobalBaseReg(0), : MF(MF), SRetReturnReg(0), GlobalBaseReg(0),
VarArgsFrameIndex(0), InArgFIRange(std::make_pair(-1, 0)), VarArgsFrameIndex(0), InArgFIRange(std::make_pair(-1, 0)),
OutArgFIRange(std::make_pair(-1, 0)), GPFI(0), DynAllocFI(0), OutArgFIRange(std::make_pair(-1, 0)), GPFI(0), DynAllocFI(0),
MaxCallFrameSize(0) MaxCallFrameSize(0), RegSaveAreaSize(0)
{} {}
bool isInArgFI(int FI) const { bool isInArgFI(int FI) const {
@ -100,6 +104,11 @@ public:
unsigned getMaxCallFrameSize() const { return MaxCallFrameSize; } unsigned getMaxCallFrameSize() const { return MaxCallFrameSize; }
void setMaxCallFrameSize(unsigned S) { MaxCallFrameSize = S; } void setMaxCallFrameSize(unsigned S) { MaxCallFrameSize = S; }
unsigned getRegSaveAreaSize() const { return RegSaveAreaSize; }
void setRegSaveAreaSize(unsigned S) {
if (RegSaveAreaSize < S) RegSaveAreaSize = S;
}
}; };
} // end of namespace llvm } // end of namespace llvm