summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MipsMachineFunction.h
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2011-11-07 19:06:10 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2011-11-07 19:06:10 +0000
commit213b2a218840ce81196ac5914de47647c927b287 (patch)
tree1f1da79c6819e2e6b235fd2d2f65a8384b5182b9 /lib/Target/Mips/MipsMachineFunction.h
parentc4d6fd569d7524dc39045d54b58ad692650c6542 (diff)
downloadllvm-213b2a218840ce81196ac5914de47647c927b287.tar.gz
llvm-213b2a218840ce81196ac5914de47647c927b287.tar.bz2
llvm-213b2a218840ce81196ac5914de47647c927b287.tar.xz
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
Diffstat (limited to 'lib/Target/Mips/MipsMachineFunction.h')
-rw-r--r--lib/Target/Mips/MipsMachineFunction.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/Target/Mips/MipsMachineFunction.h b/lib/Target/Mips/MipsMachineFunction.h
index bc30b6b242..be27606ed8 100644
--- a/lib/Target/Mips/MipsMachineFunction.h
+++ b/lib/Target/Mips/MipsMachineFunction.h
@@ -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