Define functions that get or set the size of area on callee's stack frame which
authorAkira Hatanaka <ahatanaka@mips.com>
Mon, 7 Nov 2011 19:06:10 +0000 (19:06 +0000)
committerAkira Hatanaka <ahatanaka@mips.com>
Mon, 7 Nov 2011 19:06:10 +0000 (19:06 +0000)
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

lib/Target/Mips/MipsMachineFunction.h

index bc30b6b2425b4734fd9be39fe9780abf1551e7ce..be27606ed8e664f761d47871a82c399f86eb52a8 100644 (file)
@@ -51,12 +51,16 @@ private:
   mutable int DynAllocFI; // Frame index of dynamically allocated stack area.   
   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:
   MipsFunctionInfo(MachineFunction& MF)
   : MF(MF), SRetReturnReg(0), GlobalBaseReg(0),
     VarArgsFrameIndex(0), InArgFIRange(std::make_pair(-1, 0)),
     OutArgFIRange(std::make_pair(-1, 0)), GPFI(0), DynAllocFI(0),
-    MaxCallFrameSize(0)
+    MaxCallFrameSize(0), RegSaveAreaSize(0)
   {}
 
   bool isInArgFI(int FI) const {
@@ -100,6 +104,11 @@ public:
 
   unsigned getMaxCallFrameSize() const { return MaxCallFrameSize; }
   void setMaxCallFrameSize(unsigned S) { MaxCallFrameSize = S; }
+
+  unsigned getRegSaveAreaSize() const { return RegSaveAreaSize; }
+  void setRegSaveAreaSize(unsigned S) {
+    if (RegSaveAreaSize < S) RegSaveAreaSize = S;
+  }
 };
 
 } // end of namespace llvm